- Stampa
Invio di messaggi da Tulip a Node-RED
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:
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.
- Creare un nuovo connettore dalla pagina Connettori della propria istanza di Tulip.
- 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
- Fare clic su "Salva".
- 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.
- 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.
- Fare clic e trascinare per aggiungere al flusso un nodo HTTP IN dalla tavolozza sul lato sinistro dell'editor Node-RED:
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
:
- Fare clic su "Fine" per salvare le modifiche.
Le richieste HTTP falliranno senza che venga restituita una risposta al server (in questo caso, Tulip).
- Trascinare un nodo HTTP Response.
- 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.
:::(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?!!:::
- Infine, trascinare un nodo Debug dalla tavolozza. Configurare questo nodo in modo che emetta**"Oggetto messaggio completo** utilizzando il menu a tendina msg.{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:
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.
- Creare una nuova Funzione connettore.
- Cambiare la funzione del connettore da GET a POST.
- Inserire nell'URL il percorso configurato in Node-RED (in questo esempio,
/test
). - (opzionale) Per aggiungere contenuto al connettore (come un messaggio o un comando), aggiungere un Input al connettore.
- (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
:
Fare clic su "Esegui" per testare la funzione del connettore. Si verificheranno due indicatori di successo:
- La funzione Connector riceverà una risposta
200 OK
, contenente (se applicabile): - 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:
Node-RED Successo: