Come fare: Utilizzare la seriale con Node-RED
  • 04 Nov 2023
  • 3 Minuti da leggere
  • Contributori

Come fare: Utilizzare la seriale con Node-RED


Article Summary

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.

    • Edge IO supporta dispositivi seriali che utilizzano:

      • RS-232

      • RS-485 (half-duplex)

      • Seriale su USB

        • Edge MC supporta i dispositivi seriali che utilizzano:
      • Seriale su USB

      • TTY UART con TX/RX

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:

Node RED Serial Setup Port Config

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":

Node RED Serial Set Up Edit Port Modal

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.

Node RED Serial Setup Add New Port

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.

Node RED Serial Setup Settings

  • 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 ogni n secondi.

Node RED Serial Setup Input

  • Uscita: Aggiunge carattere al messaggio di uscita (ad esempio, aggiunge l'interruzione di riga).

Node RED Serial Setup Output

Si può vedere che si è connessi a una porta seriale valida se, dopo la distribuzione, lo stato del nodo è "connesso":

Node RED Serial Setup Connected Status

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.

Node RED Serial Setup Flow1

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.

Node RED Serial Setup Flow2


Questo articolo è stato utile?