Risposta alle domande più comuni

Configurazione UG65/UG56 per portare sensori LoraWAN in ModbusTCP
Ultimo aggiornamento 3 mesi fa

Nativamente il gateway Milesight permette di convertire i dati ricevuti dai nodi LoraWAN in BACNetIP. Tuttavia è possibile convertire i dati anche in ModbusTCP con un po' più di lavoro e di attenzione.

La seguente guida è valida sia per il gateway UG65 che per il gateway UG56 di Milesight. Entrambi supportano software necessari per lo sviluppo dell'applicazione.
L'esempio di codice NODE-RED di seguito è valido per il nodi Milesight EM300-TH. Per integrare altri tipi di sensori occorrerà adeguare il codice.

Innanzitutto occorre aggiornare il firmware del gateway all'ultima versione disponibile al seguente indirizzo https://www.milesight.com/iot/resources/download-center/#firmware-sdk

Quindi occorre scaricare ed installare il pacchetto SDK Python presente allo stesso indirizzo precedente e caricarlo nell'apposito menu

image


Quindi occorre avviare APP MANAGER

image


ed infine installare il pacchetto MODBUS presente tra gli allegati di questo articolo.
A questo punto il pacchetto MODBUS è installato e funzionante. Risponde a qualsiasi ID modbus e per area di memoria Holding Register fino all'indirizzo 10000

Ora viene la parte difficile: occorre creare uno script in NODE-RED per recuperare i dati inviati dai sensori e scrivere il valore in area di memoria MODBUS TCP locale.

Abilitare il NODE-RED e salvare. Quindi fare click su LAUNCH per aprire interfaccia NODE-RED.
Le credenziali sono le stesse del UG65/UG56.

image


Una volta avviato Node-RED, facendo click sul tasto LAUNCH si viene portati al sito per la programmazione.

Per prima cosa occorre installare il pacchetto MODBUS. Per fare questo assicurarsi che il gateway abbia accesso ad internet per potersi scaricare i pacchetti necessari. Quindi andare nel menù MANAGE PALETTE e cercare il pacchetto node-red-contrib-modbus

image
image


Al termine dell'installazione occorre importare il file di configurazione.
Per importare il file di configurazione Node-RED presente tra gli allegati (LoraWAN-2-ModbusTCP.json) occorre editare con notepad il file, copiarne il contenuto e quindi andare nel menù Import per incollarlo

image
image


Una volta incollato il codice e dato IMPORT Node-RED creerà un nuovo Flow contenente i nodi corretti per la conversione.

Occorre a questo punto editare il nodo application/+/device/+/rx per inserire le credenziali corrette

username: loraadm
password: URloraadm123456

image
image
image


Dopo aver dato UPDATE e DONE fino a chiudere tutte le schermate occorre effettuare il DEPLOY

image



Il codice Node-RED prende i dati inviati dalle sonde EM300-TH e li appoggia in aree di memoria Modbus con un offset di 10 word.
Importante affinchè il codice funzioni correttamente è fare attenzione a registrare i dispositivi LoraWAN sul Network Server a bordo del gateway utilizzando come nome un numero che va da 1 in su.

image


Questo valore verrà utilizzato dal codice Node-RED per calcolare offset delle variabili di quel dispositivo.

Il codice Node-RED appoggia i valori di ciascun dispositivo seguendo questa formula (deviceName) - 1) * 10

Le variabili sono

image


fCnt all'indirizzo "offset" + 0: contatore incrementale dei messaggi inviati dal nodo
temperature all'indirizzo "offset" + 1: temperatura rilevata x 10 °C
humidity all'indirizzo "offset" + 2: umidità rilevata x 10 %rH
battery all'indirizzo "offset" + 3: valore della batteria in percentuale
rssi all'indirizzo "offset" + 9: valore del livello di segnale ricevuto dal gateway

Caricamento in corso ...