MENU
    Comunicare con le macchine utilizzando Connector Host e Node-RED di Edge MC
    • 04 Nov 2023
    • 4 Minuti da leggere
    • Contributori

    Comunicare con le macchine utilizzando Connector Host e Node-RED di Edge MC


    Sommario dell'articolo

    Comunicare con le macchine utilizzando Connector Host e Node-RED di Edge MC

    Imparate a utilizzare il Connector Host di Edge MC per comunicare con i dispositivi Node-RED.

    Nel seguente articolo...

    • Configurazione dell'host connettore di Edge MC
    • Creare una funzione connettore per comunicare con il dispositivo
    • Creare un'applicazione per comunicare con il dispositivo

    Prerequisiti

    • Assicurarsi di aver abilitato Node-RED sul proprio Edge MC. Per istruzioni su come farlo, consultare questo articolo.

    Sfruttando il Connector Host dell'Edge MC, è possibile utilizzare un'app per attivare le funzioni del connettore che comunicano con Node-RED in esecuzione su un dispositivo Tulip. Questo vi permetterà di scrivere sulle macchine da un'applicazione Tulip.

    Impostazione dell'host del connettore dell'MC Edge

    Nota: se non avete familiarità con gli host connettore e le funzioni connettore in Tulip, consultate questo articolo.

    Per iniziare, navigare nella pagina dei connettori e fare clic su Crea connettore. Apparirà una finestra modale che vi chiederà di inserire le seguenti informazioni:

    • Nome: Scegliere un nome per l'host del connettore
    • Descrizione: Scegliere un nome per l'host del connettore
    • Tipo di connettore: Selezionare HTTP

    Successivamente, è necessario specificare i dettagli dell'host del connettore. Fare clic sul pulsante Produzione, test e sviluppo per aprire la maschera Modifica dettagli connettore e inserire le seguenti informazioni:

    • Esecuzione su: selezionare l'EMC Connector Host Nota: nel caso in cui non venga visualizzato, navigare nel portale Edge MC e verificare che Connector Host sia stato abilitato.
    • Host: Immettere localhost
    • Porta: immettere 1880 (questa è la porta su cui gira Node-RED).
    • TLS: immettere No

    Non è necessario aggiungere intestazioni o certificati. Ora è possibile fare clic su Test e verificare che la connessione sia attiva. Infine, fare clic su Salva.

    Creare una funzione connettore

    Ora che avete configurato con successo il vostro Host connettore, siete pronti per iniziare a creare funzioni connettore per comunicare con i vostri dispositivi Tulip. In questo esempio Node-RED agirà come server HTTP.

    Per configurare la funzione connettore è necessario configurare la funzione in Tulip e nell'editor di Node-RED. In questo esempio, costruiremo una semplice funzione che prende in input nome e cognome e restituisce una risposta del tipo "Hello firstName lastName!", oltre a un timestamp.

    Creare la funzione del connettore in Tulip

    Accedere all'host del connettore per l'MC Edge e selezionare Crea funzione nell'angolo in alto a destra.

    Selezionare GET come tipo di richiesta e inserire l'endpoint: /helloWorld. Anche se questo può sembrare arbitrario, in una fase successiva configureremo questo endpoint nell'editor di Node-RED:

    {height="" width=""}
    Configurare gli input della funzione in modo che includano Nome e Cognome:

    {height="" width=""}
    Nel corpo della richiesta, selezionare Tipo di contenuto: JSON e impostare le seguenti chiavi per gli ingressi. Queste saranno referenziate in seguito nell'editor Node-RED:

    {height="" width=""}
    Aggiungere ora le seguenti uscite al Connector Function, Message e Time. Aggiungere il Body associato alle uscite, in modo che possano essere referenziate nell'editor di Node-RED:

    {height="" width=""}
    Verificare quindi che il tipo di risposta sia impostato su JSON.

    A questo punto si è terminata la configurazione della funzione connettore sul lato Tulip. Fare clic su Salva per salvare la funzione connettore.

    Costruire il flusso in Node-RED

    Ora è il momento di aprire l'editor Node-RED dal portale Edge MC e di configurare un nuovo flusso.

    Innanzitutto, trascinare e rilasciare un nodo http dalla sezione Rete nell'editor. Impostate il nodo con la seguente configurazione:

    {height="" width=""}
    È importante che il Metodo di richiesta e l'URL di richiesta corrispondano alla funzione del connettore configurata in Tulip.

    Quindi, trascinare e rilasciare un nodo change con la seguente configurazione:

    {height="" width=""}
    Impostare msg.payload come JSON e lasciarlo come oggetto vuoto: {}

    Inserire ora un nodo template. Qui si possono prendere le proprietà del messaggio in arrivo (input della funzione connettore) e costruire una stringa con esse (ad esempio "Hello World").

    Ciao,

    {{req.body.firstName}}

    {{req.body.lastName}}!

    Ora è il momento di aggiungere un altro **nodo change**, per catturare un timestamp e inviarlo come parte della risposta. Configurare il nodo come segue:
    
    
    ![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/Communicate%20with%20Machines%20using%20Edge%20MC%27s%20Connector%20Host%20%26%20Node-RED_313570022.png){height="" width=""}
    A questo punto il nostro flusso ha accettato gli input inviati da Tulip ed è ora il momento di configurare una risposta. Per farlo, trascinare e rilasciare un **nodo** **http response**. Configurare la risposta con un **codice di stato** **200**, **OK**:
    
    
    ![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/Communicate%20with%20Machines%20using%20Edge%20MC%27s%20Connector%20Host%20%26%20Node-RED_313570331.png){height="" width=""}
    Il flusso complessivo è ora completato e dovrebbe essere simile al seguente:
    
    
    ![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/Communicate%20with%20Machines%20using%20Edge%20MC%27s%20Connector%20Host%20%26%20Node-RED_313570517.png){height="" width=""}
    Si noti che i nodi verdi nel flusso precedente sono nodi **di debug**, utilizzati per mostrare il payload nell'editor di Node-RED.
    
    
    Il passo finale consiste nel **distribuire il** flusso dall'editor Node-RED. Ora si potrà testare la funzione connettore dall'ambiente di test di Tulip,
    
    
    #### Esecuzione della funzione connettore attraverso un'applicazione
    
    
    Ora che avete configurato il vostro host connettore e una funzione connettore che comunica efficacemente con il vostro dispositivo usando Node-RED come server http, siete pronti a integrare questa funzionalità nelle vostre applicazioni.
    
    
    In questo esempio, ci sono due caselle di input per accettare le variabili **firstName** e **lastName** che saranno inviate nella nostra richiesta:
    
    
    ![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/Communicate%20with%20Machines%20using%20Edge%20MC%27s%20Connector%20Host%20%26%20Node-RED_313571948.png){height="" width=""}
    Nel pulsante "Say Hello!", inserire il seguente trigger per richiamare la funzione del connettore:
    
    
    ![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/Communicate%20with%20Machines%20using%20Edge%20MC%27s%20Connector%20Host%20%26%20Node-RED_313570870.png){height="" width=""}
    Una volta inseriti gli input e cliccato su "Say Hello!", avrete effettivamente inviato una richiesta http al vostro dispositivo Tulip e ricevuto una risposta JSON.
    
    
    Per testare la vostra applicazione, fate clic sul pulsante **Test** nell'editor di app per accedere alla modalità di sviluppo!
    Plain text

    Questo articolo è stato utile?