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 una soluzione Node-RED cloud pronta all'uso che fornisce numerosi vantaggi, tra cui:

  • Server MQTT incluso (Mosquitto).
  • Accesso completo all'interfaccia admin di Node-RED.
  • Dashboard di Node-RED inclusa.
  • Server email SMTP illimitato e dedicato incluso.
  • Aggiornamenti senza sforzo con un solo clic.
  • Nome di dominio personalizzabile sicuro con HTTPS (ad esempio, https://node-red.tua-azienda.com).
  • Prestazioni ottimali e sicurezza robusta grazie a una VM privata e dedicata.

Risparmia tempo e semplifica la tua vita: bastano 5 minuti per provare la soluzione Node-RED cloud hosting di Stackhero!

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.