Un Raspberry Pi può fare da gateway IoT?
Raspberry Pi come gateway IoT: broker MQTT, Node-RED, Home Assistant, radio Zigbee e LoRa, usura della SD, alimentazione e quando serve un gateway industriale.
Foto: Jainath Ponnala / Unsplash
Dopo aver letto questo articolo saprai:
- Comporre un gateway Raspberry Pi con un broker, un motore di flussi o Home Assistant e gli adattatori radio giusti
- Scegliere archiviazione e alimentazione perché il gateway regga scritture continue, blackout e periferiche USB
- Riconoscere i requisiti che richiedono un gateway industriale al posto di un Raspberry Pi
In questa pagina
Sì. Un Raspberry Pi 4 o 5 è un gateway adeguato per una casa, un laboratorio, una serra o un piccolo edificio: può far girare un broker MQTT, Node-RED o Home Assistant, e parlare con dispositivi Zigbee, Bluetooth LE e LoRaWAN tramite radio aggiuntive. Gli manca la robustezza di un prodotto industriale: l’archiviazione predefinita è una scheda microSD, l’ingresso di alimentazione è un connettore USB-C di tipo consumer, e niente in lui è pensato per un quadro elettrico caldo o per un sito remoto dove non puoi andare.
Questa guida tratta lo stack software, le radio che puoi aggiungere, le due scelte hardware che decidono l’affidabilità (archiviazione e alimentazione) e il punto oltre il quale conviene un gateway industriale.
Che cosa fa un gateway IoT?
Un gateway sta tra i dispositivi che non possono, o non dovrebbero, raggiungere direttamente internet e i sistemi che usano i loro dati. In pratica fa quattro cose: traduce tra le radio e IP (Zigbee o LoRa da un lato, Ethernet o Wi-Fi dall’altro), mette i dati in buffer quando il collegamento verso l’esterno è giù, esegue logica locale perché una luce si accenda anche quando il cloud non è raggiungibile, e fa da confine di sicurezza, così che solo il gateway, e non ogni sensore, parli con il mondo esterno. Un gateway che elabora anche i dati prima di inoltrarli è un edge gateway, l’argomento della guida all’edge computing.
Il Raspberry Pi 5 porta a questo lavoro un Arm Cortex-A76 quad core a 2,4 GHz, da 1 a 16 GB di RAM, Gigabit Ethernet, Wi-Fi dual band, Bluetooth 5.0 e un’interfaccia PCIe 2.0 x1, secondo la sua pagina prodotto. È molto più di quanto servano un broker e qualche flusso.
Quale software gira su un gateway Pi?
Un broker MQTT. Mosquitto è la scelta abituale e gira senza fatica su qualsiasi Pi recente. Dalla versione 2.0, quando non è configurato alcun listener si mette in ascolto solo sull’interfaccia di loopback, e richiede l’autenticazione su ogni listener a meno che l’accesso anonimo non sia consentito esplicitamente, come riporta il suo changelog. Un broker che dopo l’installazione “non accetta connessioni” di solito sta facendo esattamente questo. Dispositivi come i nodi ESP32 di ESP32 con MQTT pubblicano poi su di lui attraverso la rete locale.
Un motore di flussi. Node-RED collega topic MQTT, chiamate HTTP, database e dashboard senza molto codice. Le sue istruzioni per Raspberry Pi lo installano come servizio con un solo script e avvertono che la versione attuale di Node.js non ha build a 32 bit, quindi usa Raspberry Pi OS a 64 bit.
Home Assistant. Per una casa o un piccolo edificio, Home Assistant può essere l’intero gateway, come descrive la guida a Home Assistant. La sua guida di installazione per Raspberry Pi supporta Pi 4 e Pi 5 con almeno 2 GB di RAM e una scheda da 32 GB. Home Assistant OS occupa l’intero dispositivo e fa girare servizi aggiuntivi, come un broker Mosquitto, sotto forma di add-on; se vuoi che il Pi faccia anche altro, esegui i componenti come container su Raspberry Pi OS.
Quali radio puoi aggiungere?
Zigbee. Una chiavetta USB coordinatore trasforma il Pi in un hub Zigbee, gestito dall’integrazione ZHA di Home Assistant o da Zigbee2MQTT, che pubblica ogni dispositivo sul broker; ZHA o Zigbee2MQTT mette a confronto le due soluzioni. La posizione conta più della chiavetta. La guida alla stabilità di Zigbee2MQTT avverte che porte USB 3, porte HDMI e SSD vicini possono rovinare la ricezione, e che una prolunga USB da 50 cm spesso basta a risolvere. Scegli un canale Zigbee che non si sovrapponga al tuo Wi-Fi. La guida a Zigbee descrive la rete vera e propria.
LoRaWAN. Un HAT concentratore basato sull’SX1302 di Semtech, un chip baseband per gateway che rileva i pacchetti su 8 canali, fa del Pi un gateway LoRaWAN multicanale completo. ChirpStack Gateway OS è un sistema pronto per questo scopo, con opzioni di configurazione per gli shield concentratori più comuni. Il gateway inoltra i pacchetti a un network server, che per una rete privata può girare sullo stesso Pi; la guida a LoRaWAN chiarisce i ruoli. Se il sito richiede invece un’unità da esterno o di livello operatore, la selezione di produttori di gateway LoRaWAN copre le opzioni commerciali.
Bluetooth LE. La radio integrata del Pi può leggere direttamente sensori BLE, il che copre molti dispositivi di temperatura, umidità e presenza senza hardware aggiuntivo.
Dove devono stare i dati: scheda SD, SSD o NVMe?
Un gateway scrive di continuo: persistenza del broker, log e soprattutto il database dello storico. Il recorder di Home Assistant esegue il commit sul suo database SQLite ogni 5 secondi per impostazione predefinita, e la sua documentazione avverte che su un Raspberry Pi con scheda SD questo può incidere sulla “life expectancy of the storage medium”. Suggerisce di alzare commit_interval a circa 30 secondi e di escludere le entità che non serve conservare.
Le schede microSD si consumano con questo tipo di carico. Tre modi per ridurre il rischio, in ordine crescente di robustezza:
- Usa una scheda Application Class 2, come consiglia Home Assistant, e riduci le scritture: intervalli di commit più lunghi, meno entità registrate, log in RAM.
- Avvia da un SSD USB, possibilità che il Pi 4 e i modelli successivi offrono tramite la modalità di avvio da memoria di massa USB.
- Su un Pi 5, aggiungi un’unità NVMe tramite l’M.2 HAT+, che la documentazione Raspberry Pi descrive come opzione avviabile.
Qualunque sia il supporto, fai un backup della configurazione fuori dal dispositivo. Un gateway che non si può ricostruire in un’ora è un singolo punto di guasto.
Come va alimentato?
L’alimentazione insufficiente causa più comportamenti strani di qualsiasi bug software. La documentazione Raspberry Pi sugli alimentatori consiglia un alimentatore USB-C da 3 A per il Pi 4 e quello da 27 W per il Pi 5. Sul Pi 5 l’alimentatore fissa anche il budget per i dispositivi USB: con un alimentatore da 5 A le periferiche USB ricevono 1,6 A; con qualsiasi altro alimentatore sono limitate a 600 mA. Un SSD più una chiavetta Zigbee più un HAT LoRa possono superare quel limite. Ogni modello dal Raspberry Pi B+ del 2014 in poi, esclusa la serie Zero, rileva un’alimentazione sotto 4,63 V e registra un avviso, e la stessa pagina osserva che alimentatori scadenti possono corrompere l’archiviazione. Controlla il log del kernel quando un gateway si riavvia senza motivo.
Il Power over Ethernet elimina l’alimentatore separato. Il Pi 5 supporta il PoE+ (IEEE 802.3at) e il Pi 4 il PoE (802.3af), entrambi tramite un HAT. Nei siti con rete elettrica inaffidabile, un piccolo UPS che segnala al Pi di spegnersi in modo pulito protegge l’archiviazione dalla corruzione durante i blackout.
Quando conviene un gateway industriale?
Un Raspberry Pi è il gateway giusto quando il sito è accessibile, al chiuso, e un guasto costa fastidio più che denaro. Scegli un gateway industriale quando vale uno o più di questi punti:
- Ambiente. Quadri molto caldi o freddi, vibrazioni, condensa o polvere richiedono un involucro senza ventola, specificato per un intervallo di temperatura esteso e montabile su guida DIN.
- Alimentazione. Gli impianti industriali forniscono 12 o 24 V in continua con picchi; i gateway industriali accettano ingressi in continua ad ampio intervallo con protezioni, mentre il Pi si aspetta 5 V puliti.
- Interfacce. RS-485 isolata per Modbus, ingressi digitali, un modem cellulare con slot SIM o una seconda porta Ethernet per la segmentazione della rete sono già integrati.
- Certificazione e supporto. I settori regolamentati richiedono conformità dichiarata, aggiornamenti di sicurezza per un periodo definito e un fornitore che risponde.
- Gestione della flotta. Decine o centinaia di unità remote richiedono gestione remota, aggiornamenti OTA e rollback, che altrimenti dovresti costruirti da solo.
Esiste una via di mezzo. Il Compute Module 5 porta il processore del Pi 5 su un modulo con memoria flash eMMC opzionale (fino a 64 GB) al posto della scheda SD, e su di esso sono costruiti controller industriali di terze parti. Raspberry Pi dichiara che sia il Pi 5 sia il CM5 resteranno in produzione almeno fino a gennaio 2036, il che risolve la questione della disponibilità anche per installazioni di lunga durata.
Per continuare
- ESP32 con MQTT descrive il lato dispositivo di un broker su Pi.
- La guida all’edge computing spiega cosa elaborare nel gateway e cosa inoltrare.
- La guida a Zigbee e quella a LoRaWAN descrivono le due radio aggiunte più spesso a un Pi.
Argomenti: Raspberry Pi, gateway, MQTT, Home Assistant, hardware