Raspberry Pi, la domotica con Node-Red: Stato dei dispotivi in rete. #3

node red led

Bentornato nel secondo esperimento della rubrica “Raspberry Pi, la domotica con Node-Red” . Hai fatto i compiti per casa del precedente articolo?

Per una casa domotica con tanti dispositivi in rete, ad esempio i Wemon D1 mini sparsi per il giardino e stanze varie, si potrebbe voler tener monitorata la loro connettività. Un modo molto banale è il comando ping. Tramite il comando ping, si invia un pacchetto via rete ad un dispositivo, che risponderà segnalando di essere connesso.

Il Nodo ping

In node red installiamo, dal menu, manage palette, il nodo node-red-node-ping  .

node red ping

Le informazioni del nodo ping dicono

Esegue il ping di una macchina e restituisce il tempo di risposta in ms come msg.payload.
Restituisce falso se non viene ricevuta alcuna risposta entro 5 secondi o se l’host non è risolvibile.
Il ping predefinito è ogni 20 secondi ma può essere configurato.
msg.topic contiene l’IP host di destinazione.
Nota: se si esegue Ubuntu Snap è necessario avviare manualmente l’interfaccia di osservazione della rete. ‘snap connect node-red: network-observe’

E’ un buon sistema perché in automatico ci restituisce False, ma un po’ un problema perché non restituisce True.

Vediamo come impostare il nodo ping

node red ping

Target sarà l’ip pubblico o privato, o il nome del dispositivo da testare.
Come consigliato dalla fondazione Raspberry Pi, si può usare il nome multicast dns composta da nome del dispostivo.local , ovviamente deve essere supportato dal target.

La mia via consigliata è entrare nel pannello del router, di solito http://192.168.1.1 cercare la sezione dhcp e prenotare gli ip statici per ogni scheda.

Se colleghiamo il nostro fidato nodo debug in successione, vedremo il risultato numerico del tempo di risposta.

node red response

Il Nodo Convert

Personalmente trovo più logico gestire un True ed un False. Ma come fare? Ci serve un nodo di conversione.

node red node convert

Il nodo convert, indovina? Converte i valori in vari formati, senza complicarsi la vita con le funzioni.

node red convert

Per magia, avremo come risultato True in caso di risposta.

Minima spesa, massima resa .

node red esempio

Eccellente, possiamo verificare lo stato di un dispositivo locale o remoto che risponda ad un ping, ora dall’uscita del nodo convert sfoghiamo la nostra fantasia.

Il Nodo Led

Visto che stiamo creando una dashboard, inviamo il msg.payload ad un nodo node-red-contrib-ui-led che troveremo sempre nel menu manage palette.

node red led

Partiamo dal gruppo per dargli la posizione nella dashboard, insieme alla sua dimensione.

node red led

Nella parte colori, potremmo assegnare i colori preferiti in base ai valori in arrivo dal payload. Il ping ci restituirà True se il dispositivo risponde e False se non sarà raggiungibile entro 5 secondi. Il controllo verrà effettuato ogni 20″.

Per oggi abbiamo finito la terza parte della mia rubrica ” Raspberry Pi, la domotica con Node-Red ” , per importare il flusso visto in questo articolo, trascina questo codice in node-red o importalo dal menu import.

Compiti per Casa

Invia un messaggio allo smartphone nel caso un dispositivo non risponda al ping, scegli tu se usare la notifica sull’app IoT MQTT Panel, telegram, email, IFTTT o altro.

 

 

Tecnico Informatico Windows | Volontario digitale | Technical Editor per RaspberryItaly e MoreWare | con mille hobby. enrico.sartori@moreware.org

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.