Ein IoT-Controller verbindet drahtlose Kommunikation mit programmierbaren Ein- und Ausgängen. Die Möglichkeiten hängen vom gewählten Board, der Firmware, der Stromversorgung und den angeschlossenen Geräten ab; jede Installation muss daher für den vorgesehenen Einsatz geprüft werden.
Was sich auf einem Campingplatz mit einem IoT-Controller automatisieren lässt
- Einfahrtsschranke: Ein 5-V-Relais wird mit dem Impulseingang der Schranke verbunden. Wenn die Verwaltungssoftware eine gültige Reservierung erhält, sendet sie einen MQTT-Befehl → der IoT-Controller schließt das Relais für 200 ms → die Schranke öffnet sich.
- IP-Gegensprechanlage: Integration per SIP mit einer VOIP-Nummer: Der Gast ruft an → das Personal antwortet über die App → die Schranke wird aus der Ferne geöffnet.
- Energieverbrauchszähler für einen Stellplatz: Ein SCT-013-Sensor (Stromwandler) wird an die Stromversorgung der Versorgungssäule angeschlossen. Der IoT-Controller liest die kWh in Echtzeit aus und sendet sie zur automatischen Abrechnung an die Verwaltungssoftware.
- Wetterstation: BME280-Sensor (Temperatur, Luftfeuchtigkeit, Luftdruck) plus Regensensor. Die Daten sind auf dem Dashboard des Campingplatzes und für Automatisierungen verfügbar (automatische Sonnenschirme schließen, wenn der Wind > 50 km/h beträgt).
- Bewässerungssteuerung: Mehrere Relais für die Parkbereiche. Die Steuerung erfolgt abhängig von der Bodenfeuchtigkeit (kapazitiver Sensor) und den Wettervorhersagen.
- Sensor für den Füllstand von Grauwasser/Schwarzwasser: HC-SR04-Ultraschallsensor am Tank. Push-Benachrichtigung, wenn 90 % der Kapazität erreicht sind.
Systemarchitektur
Das Standardprotokoll zur Verbindung eines IoT-Controllers mit der Verwaltungssoftware ist MQTT (Message Queuing Telemetry Transport). Es funktioniert folgendermaßen: Ein MQTT-Broker (Mosquitto, installiert auf einem Raspberry Pi oder in der Cloud) dient als zentrale Schnittstelle. Der IoT-Controller abonniert ein Topic (z. B. campeggio/sbarra/ingresso/comando), und sobald er die Nachricht „apri“ empfängt, aktiviert er das Relais.
// 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();
}Der obige Code ist vereinfacht. In der Produktion sollten eine automatische WLAN-Neuverbindung, ein Watchdog-Timer, TLS/SSL für den MQTT-Broker und ein Feedback-Topic hinzugefügt werden, das die erfolgreiche Öffnung bestätigt.
Integration mit Ovvo Camping
Ovvo Camping enthält einen internen MQTT-Broker. Über die Administrationsoberfläche kannst du jedes MQTT-Topic Ereignissen der Verwaltungssoftware zuordnen: Ankunft des Gasts, Check-out, manuelle Öffnung an der Rezeption, Notfall-Override. Du musst keinen Code auf der Serverseite schreiben: Es ist lediglich eine Konfiguration über die Weboberfläche erforderlich.
Sicherheit: Was du nicht tun solltest
- MQTT nicht ohne Authentifizierung in einem öffentlichen WLAN verwenden: Jeder könnte die Schranke öffnen.
- Das Relais nicht direkt an 230 V anschließen: Immer ein opto-isoliertes Relais und ein zertifiziertes Netzteil verwenden.
- Den MQTT-Broker nicht ohne TLS dem Internet aussetzen: Ein VPN oder einen sicheren Tunnel verwenden.
- Die WLAN-Zugangsdaten nicht fest im Quellcode hinterlegen: Den NVS (Non-Volatile Storage) des IoT-Controllers verwenden.
Ovvo Camping unterstützt die Integration mit IoT-Controllern. Unser Team kann dir bei der Konfiguration der Firmware helfen und das System vor der endgültigen Installation testen.
