Node-RED: Caso d'uso: collegare le cassette postali

Collegare senza problemi centinaia di cassette postali in un ufficio postale

Benvenuti nella documentazione di Stackhero

Stackhero offre un ambiente Node-RED cloud completamente gestito, progettato per permettervi di creare workflow in modo rapido:

  • Server MQTT integrato (Mosquitto) per un'integrazione IoT senza interruzioni.
  • Accesso completo all'interfaccia di amministrazione Node-RED per la gestione dei flow e delle impostazioni.
  • Node-RED Dashboard incluso per la visualizzazione in tempo reale.
  • Server email SMTP dedicato incluso, senza limiti di invio.
  • Aggiornamenti con un clic per mantenere sempre aggiornata la vostra istanza.
  • Nomi di dominio personalizzati con HTTPS automatico: ad esempio, https://node-red.your-company.com.
  • Elevata performance e massima sicurezza grazie a un'infrastruttura privata e dedicata.

Potete avere una istanza Node-RED cloud hosting sicura e pronta per la produzione in circa 5 minuti. Stackhero si occupa di installazione, aggiornamenti e infrastruttura, così potete concentrarvi sulla creazione delle vostre automazioni.

Uno dei nostri clienti gestisce cassette postali, centinaia per essere precisi. L'azienda voleva notificare i propri clienti quando ricevevano nuova posta (non email, ma posta cartacea!). È stata creata una soluzione IoT per raggiungere questo obiettivo, utilizzando Node-RED, MQTT e MongoDB, ed è stata implementata in pochi giorni. È simile a un Amazon Dash, ma specificamente adattato per le notifiche di posta. Ecco come è stato realizzato.

Il dispositivo IoT è di una semplicità elegante. È una piccola scatola nera, alimentata tramite USB, che incorpora un pulsante e una luce rossa. C'è un dispositivo assegnato a ogni cassetta postale.

Quando la posta viene ricevuta alla reception, viene inserita nella cassetta postale corrispondente e l'operatore preme il pulsante. La luce rossa lampeggia per 15 secondi. Se l'operatore preme nuovamente il pulsante entro questo periodo, la notifica viene annullata. Se non viene intrapresa alcuna azione entro questi 15 secondi, viene inviata una notifica email al cliente.

Ogni pulsante è dotato di un ESP8266, un chipset compatibile con WiFi. Questa connessione WiFi facilita la comunicazione del dispositivo con Internet.

Un ESP8266 su una scheda WEMOS D1 MiniUn ESP8266 su una scheda WEMOS D1 Mini

Il protocollo MQTT è stato scelto per la comunicazione tra l'ESP8266 e il server. È un protocollo leggero, ideale per applicazioni IoT.

Quando il pulsante viene premuto, dopo una breve pausa di 15 secondi, un messaggio viene inviato al server tramite MQTT. Il server quindi identifica l'email corrispondente e invia una notifica al cliente.

MQTT è perfetto per l'IoT. Purtroppo, l'autenticazione non è attivata di default, né la crittografia. Abbiamo osservato molte piattaforme IoT vulnerabili agli attacchi, portando a perdite di dati privati. Fortunatamente, quando si avvia un'istanza MQTT su Stackhero, sia l'autenticazione che la crittografia sono attivate, fornendo una soluzione completamente sicura fin dall'inizio.

Per gestire le azioni dei pulsanti e inviare notifiche agli utenti, è stato scelto Node-RED per l'elaborazione dei dati, con un database MongoDB per memorizzare le email degli utenti.

Node-RED è uno strumento di programmazione grafica sviluppato da IBM, ideale per questo tipo di compito. È facile da usare, potente e altamente estensibile.

Grazie a Node-RED, il nostro cliente è stato in grado di creare l'intero backend in poche ore!

Quando viene premuto un pulsante della cassetta postale, il messaggio viene ricevuto da Node-RED tramite MQTT. Node-RED quindi individua l'utente corrispondente nel database MongoDB, compone una nuova email e la invia.

Flusso Node-RED: sono necessari solo 5 nodi per creare l'intero backend!Flusso Node-RED: sono necessari solo 5 nodi per creare l'intero backend!

Quando si avvia un'istanza Node-RED su Stackhero, si ottiene un server MQTT insieme a un server email dedicato, consentendo di inviare email illimitate!

L'interfaccia backoffice è utilizzata dagli operatori dell'ufficio postale. Possono aggiungere un nuovo pulsante con un'email associata o rimuoverne uno se necessario.

Node-RED include un server HTTP, permettendo la creazione di pagine HTML e API con il minimo sforzo.

Flusso backoffice Node-REDFlusso backoffice Node-RED

L'intera interfaccia backoffice è stata sviluppata direttamente in Node-RED. Consiste in una pagina HTML con autenticazione e un'API con due percorsi. Il primo percorso API consente l'aggiunta di un nuovo pulsante, mentre il secondo facilita la rimozione di un pulsante esistente.

Node-RED ha servito come pietra angolare di questo progetto. Con l'istanza di Stackhero che fornisce un server MQTT sicuro e un server email fin dall'inizio, il progetto è stato realizzato in poche ore, qualcosa che gli strumenti tradizionali non potevano eguagliare.

Node-RED offre possibilità illimitate. È possibile, ad esempio, collegarlo a qualsiasi API o database e aggiungere moduli esterni senza sforzo (~2000 moduli sono disponibili!).

Se Node-RED suscita il tuo interesse, puoi avviare un'istanza su Stackhero in soli 2 minuti: Node-RED.