Utilizza Node-RED con l’API di Tulip

Prev Next

Utilizzo di Node-RED con l’API di Tulip

Se utilizzi Node-RED sul tuo dispositivo e desideri inviare dati all’API di Tulip, Tulip mette a disposizione nodi Node-RED per gli endpoint dell’API.

Questi nodi sono preinstallati sui dispositivi Tulip che supportano Node-RED, ma se stai utilizzando la tua istanza di Node-RED, puoi comunque installare i nodi installando il pacchetto @tulip/node-red-tulip-api dalla libreria di Node-RED.

In questo articolo imparerete come…

  • aggiungere i nodi dell’API Tulip alla vostra installazione di Node-RED
  • utilizzare l’API degli attributi della macchina Tulip per inviare dati a una macchina Tulip
  • utilizzare il nodo API Tulip Tables per leggere, scrivere e configurare le tabelle Tulip

Prerequisiti:

Stai utilizzando Node-RED su Tulip Edge MC? Consulta questa guida introduttiva

Installazione

1. Aggiungi @tulip/node-red-tulip-api alla tua tavolozza Node-RED

Apri l’editor di Node-RED e vai su Menu → Gestisci palette

Fai clic sulla scheda Installa, quindi cerca @tulip/node-red-tulip-api

Nota: è possibile installare il pacchetto anche tramite la riga di comando. Accedi alla directory utente di Node-RED (ad es. cd ~/.node-red/) ed esegui il comando npm install @tulip/node-red-tulip-api

2. Verifica che l’installazione sia andata a buon fine

Se l’installazione è andata a buon fine, i nodi tulip-machine-attribute e tulip-tables saranno visibili nella tavolozza (barra laterale sinistra) nella categoria Tulip.

Utilizzo del nodo Tulip Machine Attribute

Prerequisiti: aver letto la guida «Come utilizzare l’API Machine Attributes», disporre di un account di servizio API configurato con i permessi attributes:report e avere un attributo macchina specifico a cui si desidera inviare i dati.

1. Trascinare e rilasciare un nodo Tulip Machine Attribute nel flusso

Nota: nella barra laterale destra, selezionare la scheda*"Aiuto*" per visualizzare la documentazione su come utilizzare il nodo.

2. Configurare il nodo in modo che corrisponda all’attributo macchina di destinazione.

Utilizzeremo il seguente attributo macchina come esempio. Si noti che l’origine dati della macchina è l’API Tulip.

Attributo macchina di tipo intero per la macchina Tulip “Example Tulip API Machine”.

Fai doppio clic sul nodo per aprire l’editor, quindi configura il nodo in modo che corrisponda a questo attributo della macchina. Ad esempio, potresti configurare il nodo come segue:

Configurazione del nodo “Attributo macchina Tulip”.

Con il nodo “Autenticazione API Tulip” configurato come segue (inserire le proprie credenziali di autenticazione):

Configurazione dell’autenticazione API Tulip per l’account di servizio.

3. Verifica l’invio dei dati.

Crea il resto del flusso per inviare dati all'endpoint degli attributi della macchina.

Un semplice flusso di prova potrebbe consistere nell’inviare il valore 0 a un endpoint di tipo Integer. Collegare l’ingresso del nodo "Machine Attribute" a un nodo "Inject" configurato con msg.payload=0 (come mostrato di seguito). Collegare l’uscita a un nodo di debug che visualizzi il messaggio completo.

Fare clic su Deploy per distribuire il flusso. Quando si fa clic sul nodo Inject, dovrebbe apparire un messaggio di debug con un codice di stato pari a 204.

Flusso di test che invia il valore intero 0 a un attributo macchina di tipo intero.

I dati dovrebbero apparire anche nella tua istanza di Tulip sotto l’attributo della macchina.

Utilizzo del nodo API delle tabelle di Tulip

Prerequisiti: hai letto la guida "Come utilizzare l’API delle tabelle ", disponi di un account di servizio API configurato con le autorizzazioni `tables:read e ``tables:write `` ` e hai una tabella specifica a cui desideri inviare i dati.

1. Trascinare e rilasciare un nodo "Tulip Tables" nel flusso.

Nota: nella barra laterale destra, seleziona la scheda*"Aiuto*" per visualizzare la documentazione su come utilizzare il nodo.

2. Configurare il nodo per una specifica query dell’API Tulip Tables.

Per prima cosa, fare doppio clic sul nodo per aprirne l’editor. Impostare il nodo di configurazione “Autenticazione API Tulip” in modo che corrisponda ai dettagli di un account di servizio API con autorizzazioni tables:read e/o tables:write (a seconda che la query sulla tabella sia un’operazione di lettura o di scrittura):

Configurazione dell’account di servizio API Tables

Imposta il “Tipo di query” sulla query che desideri eseguire. Le altre “Opzioni di query ” appariranno quindi in base al tipo selezionato.

In questo esempio, sceglieremo “Elenca record ” per elencare i record della tabella con id 9YHHckKcFTXHQpXEu in cui il campo “Stato” è “REVIEW”.

Configurazione del nodo API delle tabelle

JSON espanso dal campo “Filtri” del nodo API delle tabelle.

3. Verifica l’invio dei dati.

Crea il resto del flusso per inviare i dati all’endpoint dell’API Tabelle.

Un flusso di prova di esempio potrebbe collegare un nodo "Inject" vuoto all’ingresso del nodo API delle tabelle per attivare l’invio della richiesta API. È inoltre possibile aggiungere un nodo di debug che visualizzi " msg.payload " per vedere la risposta analizzata.

Di seguito sono riportati i risultati ottenuti quando la richiesta API Tables configurata viene inviata alla tabella all'indirizzo your-subdomain.tulip.co/tables/9YHHckKcFTXHQpXEu. Si noti che la risposta restituisce le due voci della tabella con il campo Status impostato su REVIEW.

Tabella da interrogare con diversi record. Include un campo "Status" in base al quale è possibile filtrare i risultati.

Flusso per inviare la richiesta "List Records" dell’API Tables alla tabella Tulip e il payload della risposta.

Ulteriori approfondimenti