Un controller IoT combina connettività wireless con ingressi e uscite programmabili. Le possibilità dipendono dalla scheda, dal firmware, dall'alimentazione e dalle apparecchiature collegate: ogni installazione va quindi verificata per l'uso previsto.
Cosa si può automatizzare con un controller IoT in campeggio
- Sbarra di ingresso: un relè da 5V collegato all'ingresso impulso della sbarra. Quando il gestionale riceve una prenotazione valida, invia un comando MQTT → il controller IoT chiude il relè per 200ms → sbarra si apre.
- Citofono IP: integrazione via SIP con un numero VOIP, l'ospite chiama → il personale risponde dall'app → apre la sbarra da remoto.
- Contatore consumo energia per piazzola: sensore SCT-013 (current transformer) sull'alimentazione della colonnina. Il controller IoT legge kWh in tempo reale e li manda al gestionale per la fatturazione automatica.
- Stazione meteo: sensore BME280 (temperatura, umidità, pressione) + sensore pioggia. Dati disponibili su dashboard del campeggio e per automazioni (chiudi ombrelloni automatici se vento > 50 km/h).
- Controllo irrigazione: relè multipli per le zone del parco. Programma in base a umidità suolo (sensore capacitivo) e previsioni meteo.
- Sensore livello acqua grigie/nere: sensore ultrasonico HC-SR04 sul serbatoio. Alert push quando è al 90% della capacità.
Architettura del sistema
Il protocollo standard per connettere un controller IoT al gestionale è MQTT (Message Queuing Telemetry Transport). Funziona così: un broker MQTT (Mosquitto, installato su un Raspberry Pi o nel cloud) fa da hub centrale. Il controller IoT si iscrive a un topic (es. campeggio/sbarra/ingresso/comando) e quando riceve il messaggio 'apri' attiva il relè.
// Controller IoT — 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();
}Il codice sopra è semplificato. In produzione aggiungere: reconnect automatico WiFi, watchdog timer, TLS/SSL sul broker MQTT, e un topic di feedback che conferma l'avvenuta apertura.
Integrazione con Ovvo Camping
Ovvo Camping include un broker MQTT interno. Dall'interfaccia di amministrazione puoi mappare qualsiasi topic MQTT a eventi del gestionale: arrivo ospite, check-out, apertura manuale da reception, override emergenza. Non serve scrivere codice lato server: solo configurazione da interfaccia web.
Sicurezza: cosa non fare
- Non usare MQTT senza autenticazione su rete WiFi pubblica: chiunque potrebbe aprire la sbarra.
- Non collegare il relè direttamente ai 230V: usa sempre un relè opto-isolato e un alimentatore certificato.
- Non esporre il broker MQTT su internet senza TLS: usa una VPN o un tunnel sicuro.
- Non lasciare le credenziali WiFi hardcoded nel codice sorgente: usa NVS (Non-Volatile Storage) del controller IoT.
Ovvo Camping supporta l'integrazione con controller IoT. Il nostro team può aiutarti a configurare il firmware e testare il sistema prima dell'installazione definitiva.
