- Stampa
Come fare: Utilizzare la seriale con Node-RED
Come fare: Usare la seriale con Node-RED
Guida alla connessione a un dispositivo seriale, alla configurazione di una porta seriale in node-RED e all'introduzione ai flussi di libreria di node-RED.
Questo articolo descrive come leggere e scrivere dati seriali dai dispositivi Tulip Edge utilizzando Node-RED. Verrà illustrato come collegarsi alle diverse porte seriali di ciascun tipo di dispositivo Edge e due flussi di libreria Tulip Node-RED che utilizzano la comunicazione seriale.
Sono necessari
Un Edge IO o Edge MC registrato al vostro account Tulip.
Un dispositivo che comunichi via seriale con il dispositivo Edge.
1. Configurazione hardware: Collegamento alla periferica seriale
Per prima cosa, assicuratevi di collegare fisicamente la periferica seriale al dispositivo Edge.
Opzionale: se si desidera testare il flusso Node-RED comunicando con una periferica host (ad esempio il laptop, un'altra periferica Tulip Edge, ecc.), è possibile utilizzare cavi RS-232 con un modem nullo o USB-UART con linee TX/RX incrociate ( non collegare l'alimentazione).
Esempi di programmi da utilizzare sul dispositivo host per comunicare con il dispositivo Edge sono:
- screen (MacOS): Un'utilità a riga di comando per la comunicazione seriale.
- PuTTY (Windows/Linux): Un emulatore di terminale gratuito che può fungere da console seriale.
- Node-RED: Creare un flusso Node-RED complementare in un'istanza di Node-RED in esecuzione sul dispositivo host.
2. Configurazione di Node-RED: Configurazione della porta seriale
Per le comunicazioni seriali in Node-RED utilizzeremo i nodi del pacchetto node-red-contrib-serialport
. Se si utilizza un dispositivo Tulip Edge OS44+, questo pacchetto è preinstallato. Altrimenti, è possibile aggiungere i nodi alla tavolozza utilizzando l'editor di Node-RED come descritto qui.
I nodi seriali appariranno nella scheda Rete
:
Per leggere gli ingressi seriali, trascinare e rilasciare il nodo serial in
. Per scrivere le uscite seriali, trascinare il nodo serial out
. In entrambi i nodi, per configurare la porta seriale, fare clic sul pulsante di modifica della proprietà "Serial Port":
A questo punto si inseriscono le seguenti proprietà:
- Porta seriale: il percorso della porta seriale (ad esempio: /dev/ttyS0). Questo dipende dal dispositivo Edge e dalla porta seriale fisica a cui ci si collega (vedere gli articoli relativi a Edge IO o Edge MC). I percorsi disponibili possono essere visualizzati facendo clic sul pulsante di ricerca, come mostrato di seguito.
Nota: attualmente non esiste un supporto per l'inserimento a caldo dei dispositivi USB in Node-RED. Ciò significa che il dispositivo USB deve essere collegato all'avvio del dispositivo affinché Node-RED possa accedervi.
- Impostazioni: La velocità di trasmissione e le altre impostazioni devono corrispondere alla velocità di trasmissione del dispositivo seriale con cui si comunica.
- Ingresso: Scegliere quando il nodo emetterà un messaggio. Le opzioni includono l'attesa di un carattere diviso (come un'interruzione di riga, una virgola o uno spazio), l'attesa ogni
n
caratteri se l'output è a lunghezza fissa, oppure è possibile impostare un timeout per ottenere un output ognin
secondi.
- Uscita: Aggiunge carattere al messaggio di uscita (ad esempio, aggiunge l'interruzione di riga).
Si può vedere che si è connessi a una porta seriale valida se, dopo la distribuzione, lo stato del nodo è "connesso":
3. Flussi della libreria Node-RED: Comunicare con Tulip
Tulip fornisce diversi flussi di libreria per leggere gli ingressi seriali e scrivere le uscite seriali sui dispositivi Tulip Edge utilizzando Node-RED. Per informazioni su come importare un flusso di libreria Tulip, vedere Importazione di flussi Tulip Node-RED.
Per scrivere un'uscita seriale su un dispositivo Tulip Edge da un'applicazione Tulip, è possibile utilizzare il flusso serial_http_endpoint
e impostare un connettore HTTP sulla propria istanza Tulip in esecuzione sull'host del connettore del dispositivo Edge. È necessario aggiungere a questo connettore una funzione che invii richieste POST all'endpoint HTTP /serial
e richiamare tale funzione dall'applicazione. Per saperne di più sulla scrittura di valori in Node-RED utilizzando l'host connettore, consultare la sezione Comunicare con le macchine utilizzando l'host connettore e Node-RED di Edge MC.
Per leggere l'input seriale su un dispositivo Tulip Edge e inviarlo a Tulip, è possibile utilizzare l'API Tabelle (per scrivere i dati in una tabella) o l'API Macchina (per scrivere i dati in un attributo macchina). Il flusso di libreria serial_to_tulip_table
è un esempio di come scrivere input seriali delimitati da newline in una tabella Tulip. È necessario configurare il nodo seriale e i due nodi delle tabelle Tulip con le impostazioni corrette per il caso d'uso. Per saperne di più su come usare il nodo Tulip Tables API, vedere Utilizzo di Node-RED con Tulip API.