Invio di messaggi da Tulip a Node-RED
  • 20 Feb 2024
  • 3 Minuti da leggere
  • Contributori

Invio di messaggi da Tulip a Node-RED


Article Summary

Per inviare messaggi da Tulip (ad esempio da Trigger o Automazioni in-App), è possibile utilizzare un Connettore. Questo è più facile da fare con il Connector Host installato su tutti i dispositivi Tulip Edge.

Con i dispositivi Tulip Edge

Il flusso seguente viene utilizzato per inviare un messaggio da un Tulip Trigger a Node-RED in esecuzione su un Tulip Edge Device:

Communicate with Machines using Edge MC's Connector Host & Node-RED_314676359.png

Una volta completato, utilizzare il connettore appena creato in qualsiasi app o automazione Tulip per inviare messaggi a Node-RED, come comandi di dispositivi o input di flusso.

In Tulip: Configurazione del connettore e dell'host del connettore

Nota: se non avete familiarità con gli host del connettore e la funzione del connettore in Tulip, consultate questo articolo.

  1. Creare un nuovo connettore dalla pagina Connettori della propria istanza di Tulip.
  2. Nella finestra di dialogo che appare, compilate le informazioni come specificato di seguito:

Nome: Scegliere un nome per il Connector HostDescrizione: Scegliere un nome per l'host del connettoreTipo di connettore: Selezionare HTTP

  1. Fare clic su "Salva".
  2. Per specificare i dettagli dell'host connettore, fare clic sul pulsante produzione, test e sviluppo a sinistra. Nella finestra di dialogo visualizzata, inserire le seguenti informazioni:

Esecuzione su: selezionare l'host del connettore del dispositivo Edge di destinazione*Nota: se non è possibile trovare l'host del connettore del dispositivo Edge, navigare nel portale del dispositivo Edge e verificare che "Host del connettore" sia stato abilitato.*Host: Inserire localhost Porta: Inserire 1880 (questa è la porta su cui gira Node-RED) TLS: Inserire No Non è necessario aggiungere intestazioni o certificati.

  1. Fare clic su Test e verificare che la connessione sia stata completata. Infine, fare clic su Salva.

Questo connettore è ora in grado di comunicare con Node-RED sul dispositivo Edge di destinazione.


In Node-RED: Configurazione del nodo HTTP IN

Nota: questa sezione presuppone una certa familiarità con Node-RED.

Per ricevere il messaggio dall'host connettore sul dispositivo, verrà utilizzato un nodo HTTP IN.

  1. Fare clic e trascinare per aggiungere al flusso un nodo HTTP IN dalla tavolozza sul lato sinistro dell'editor Node-RED:

image.png

Immettere le seguenti informazioni:
Metodo: POST URL: qualsiasi percorso definito dall'utente, ad esempio /nodeRED o /myMachine/0013. Sarà riutilizzato in Node-RED, quindi dovrebbe essere facile da riconoscere e ricordare. L'esempio seguente mostra l'URL configurato come /test:
image.png

  1. Fare clic su "Fine" per salvare le modifiche.

Le richieste HTTP falliranno senza che venga restituita una risposta al server (in questo caso, Tulip).

  1. Trascinare un nodo HTTP Response.
  2. Collegare il nodo Richiesta HTTP al nodo Risposta HTTP. 3. Fare doppio clic sul nodo Risposta HTTP. Fare doppio clic sul nodo HTTP Response e inserire 200 come codice di stato. Fare clic su Fine.

image.png

:::(Info) (Risposte HTTP e feedback avanzato) Modificare il codice di stato e/o usare il pulsante +add nel nodo HTTP Response per modificare o aggiungere alla risposta del Connector. Questi dati (spesso uscite del sistema o del dispositivo generate dal flusso) appariranno nella risposta del connettore. Configurare le uscite del connettore con la guida qui!!! è questa la dicitura giusta?!!:::

  1. Infine, trascinare un nodo Debug dalla tavolozza. Configurare questo nodo in modo che emetta**"Oggetto messaggio completo** utilizzando il menu a tendina msg.image.png{height="" width="" }.

Questo flusso Node-RED riceverà ora un messaggio da Tulip e lo visualizzerà nel Registro di debug Node-RED.

Un flusso completato può apparire come mostrato di seguito:image.png

Fare clic su Deploy in alto a destra per eseguire il commit di tutte le modifiche.

In Tulip: Configurazione e test della funzione Connector

Una volta completata la configurazione del flusso Node-RED, tornare al connettore in Tulip.

  1. Creare una nuova Funzione connettore.
  2. Cambiare la funzione del connettore da GET a POST.
  3. Inserire nell'URL il percorso configurato in Node-RED (in questo esempio, /test).
  4. (opzionale) Per aggiungere contenuto al connettore (come un messaggio o un comando), aggiungere un Input al connettore.
  5. (opzionale) Aggiungere l'input al corpo della richiesta, cambiando prima il tipo di contenuto in JSON e poi aggiungendo un elemento a root.

La schermata seguente mostra un connettore configurato per l'endpoint /test specificato sopra e include un input chiamato testValue:image.png

Fare clic su "Esegui" per testare la funzione del connettore. Si verificheranno due indicatori di successo:

  1. La funzione Connector riceverà una risposta 200 OK, contenente (se applicabile):
  2. Tutti gli ingressi configurati per il Connettore 2. Qualsiasi uscita aggiuntiva configurata nel nodo HTTP Response di Node-RED. 2. Il log di debug di Node-RED visualizzerà la risposta 200 OK. Il registro di debug di Node-RED visualizzerà il messaggio del Connector. *Nota: a seconda della versione corrente di Node-RED, il corpo della richiesta del Connector può essere trovato in:*a. msg.payload, o b. msg.req.body

Entrambi gli stati di successo sono riportati di seguito:

Connector Success:image.png

Node-RED Successo:image.png


Questo articolo è stato utile?