IoT kontroler povezuje bežičnu komunikaciju s programiranim ulazima i izlazima. Mogućnosti ovise o odabranoj pločici, firmwareu, napajanju i priključenoj opremi, pa svaku instalaciju treba provjeriti za predviđenu namjenu.
Što se u kampu može automatizirati pomoću IoT kontrolera
- Ulazna rampa: relej od 5 V spojen na ulaz za impuls rampe. Kada upravljački sustav primi valjanu rezervaciju, šalje MQTT naredbu → IoT kontroler zatvara relej na 200 ms → rampa se otvara.
- IP portafon: integracija putem SIP-a s VOIP brojem, gost zove → osoblje odgovara putem aplikacije → otvara rampu na daljinu.
- Mjerač potrošnje energije po parceli: SCT-013 senzor (strujni transformator) na napajanju priključnog ormarića. IoT kontroler očitava kWh u stvarnom vremenu i šalje ih upravljačkom sustavu za automatsku naplatu.
- Meteorološka postaja: BME280 senzor (temperatura, vlažnost, tlak) + senzor kiše. Podaci su dostupni na nadzornoj ploči kampa i za automatizaciju (zatvaranje automatskih suncobrana ako je vjetar > 50 km/h).
- Upravljanje navodnjavanjem: višestruki releji za zone parka. Programiranje na temelju vlažnosti tla (kapacitivni senzor) i vremenske prognoze.
- Senzor razine sive/crne vode: ultrazvučni senzor HC-SR04 na spremniku. Push upozorenje kada dosegne 90% kapaciteta.
Arhitektura sustava
Standardni protokol za povezivanje IoT kontrolera s upravljačkim sustavom jest MQTT (Message Queuing Telemetry Transport). Funkcionira ovako: MQTT broker (Mosquitto, instaliran na Raspberry Pi računalu ili u oblaku) služi kao središnje čvorište. IoT kontroler pretplaćuje se na temu (npr. kamp/rampa/ulaz/naredba), a kada primi poruku „otvori”, aktivira relej.
// IoT controller — apertura sbarra via MQTT
#include <WiFi.h>
#include <PubSubClient.h>
const char* SSID = "CampeggioPineta_IoT";
const char* PSK = "password";
const char* BROKER = "192.168.1.100";
const int RELAY = 26; // GPIO collegato al relè
WiFiClient net;
PubSubClient mqtt(net);
void callback(char* topic, byte* payload, unsigned int len) {
String msg((char*)payload, len);
if (msg == "apri") {
digitalWrite(RELAY, HIGH);
delay(300); // impulso 300ms
digitalWrite(RELAY, LOW);
}
}
void setup() {
pinMode(RELAY, OUTPUT);
WiFi.begin(SSID, PSK);
while (WiFi.status() != WL_CONNECTED) delay(500);
mqtt.setServer(BROKER, 1883);
mqtt.setCallback(callback);
mqtt.connect("sbarra-ingresso");
mqtt.subscribe("campeggio/sbarra/ingresso/cmd");
}
void loop() {
if (!mqtt.connected()) mqtt.reconnect();
mqtt.loop();
}Gornji je kod pojednostavljen. U produkciji dodajte: automatsko ponovno povezivanje s WiFi mrežom, watchdog timer, TLS/SSL na MQTT brokeru i temu povratnih informacija koja potvrđuje uspješno otvaranje.
Integracija s Ovvo Campingom
Ovvo Camping uključuje interni MQTT broker. U administratorskom sučelju možete povezati bilo koju MQTT temu s događajima upravljačkog sustava: dolazak gosta, odjava, ručno otvaranje na recepciji, hitno zaobilaženje. Nije potrebno pisati kod na strani poslužitelja: dovoljna je konfiguracija putem web-sučelja.
Sigurnost: što ne treba raditi
- Ne koristite MQTT bez autentifikacije na javnoj WiFi mreži: bilo tko bi mogao otvoriti rampu.
- Ne spajajte relej izravno na 230 V: uvijek koristite optički izolirani relej i certificirano napajanje.
- Ne izlažite MQTT broker internetu bez TLS-a: koristite VPN ili sigurni tunel.
- Ne ostavljajte WiFi vjerodajnice izravno zapisane u izvornom kodu: koristite NVS (Non-Volatile Storage) na IoT kontroleru.
Ovvo Camping podržava integraciju s IoT kontrolerima. Naš tim može vam pomoći konfigurirati firmware i testirati sustav prije konačne instalacije.
