LoRaWan+NB-IOT+MQTT

Con il nuovo firmware 2.3.1(150), ora è possibile integrare anche LoRaWan, NB-IOT e altri sensori esterni.

Tuttavia, il prerequisito è che consegnino i dati dei sensori a un broker MQTT; OpenSprinkler può quindi sottoscriverli come dati del sensore.

Il sensore è integrato con il suo “argomento” e un filtro testo/JSON. Il programmatore di irrigazione può quindi utilizzare questo valore.

Opzioni di connessione

Ecco come funziona:

  • I sensori WAN LoRa sono posizionati nel raggio di un hub WAN LoRa, a seconda della versione, con una portata fino a 10 km. Gestisci tu stesso l'hub WAN LoRa, chiamato anche gateway, e collegalo alla tua rete
  • I sensori NB-IoT sono integrati tramite il portale del provider. Poiché NB-IoT funziona tramite la rete cellulare, il sensore può essere posizionato ovunque, a condizione che ci sia ricezione.
  • Nel gateway o nel portale del provider attivare la funzione MQTT e utilizzarla per esportare i dati del sensore. A seconda della versione, potrebbe essere necessaria un’ulteriore implementazione con uno strumento di gestione IoT come ChirpStack, che converte i dati “nudi” dei sensori in dati valutabili.
  • In OpenSprinkler lo colleghi tramite le opzioni MQTT e quindi crei un nuovo sensore di tipo “Abbonamento MQTT”.
  • Inserisci le informazioni sull'abbonamento e il filtro dati nel sensore.
  • Completare! Non appena vengono ricevuti i dati, i valori vengono visualizzati e salvati.

Configurazione del sensore in dettaglio

I due sensori MQTT sono contrassegnati in rosso. Gli altri sensori sono integrati tramite la scheda sensore analogica

 

Sensore analogico150 1

Modifica sensore

Cliccando su “Aggiungi Sensore” o sul nome di un sensore esistente si ottiene il seguente editor:

Sensore analogico150 2

Questo esempio mostra un'integrazione CHIRPSTACK di dati MQTT. La struttura è definita come segue:

application/<id-applicazione>/device/<id-dispositivo>/event/up

È meglio esaminare i possibili valori utilizzando uno strumento come MQTT Explorer. Spesso crea confusione, soprattutto per i principianti, che nell'MQTT Explorer non venga visualizzato nulla. Dato che i dati del sensore arrivano solo ogni 10 minuti (a seconda della configurazione), dovete semplicemente lasciare l'MQTT Explorer per un po'.

Per il campo Filtro MQTT, inserire il nome del campo da leggere. In CHIRPSTACK puoi vedere i campi letti sotto “Profili dispositivo” / “Misure”. Se qui non appare nulla, devi prima salvare uno script nella scheda “CODEC”; i modelli possono aiutarti qui oppure puoi chiedere al produttore del sensore.

Perché LoRaWAN o NB-IoT e non Wi-Fi o Bluetooth?

Il problema più grande con i sensori è che richiedono energia. Se è possibile posare un cavo di alimentazione, di solito è possibile posare anche un cavo dati. Ma se ciò non è possibile, come si collegano questi sensori?

Per rispondere a questa domanda abbiamo fatto alcuni esperimenti e presentiamo qui i risultati.

  • Il Bluetooth non funziona, la portata è semplicemente troppo breve (a meno che, ovviamente, le piante non si trovino nel raggio di 10 m. Vedi qui)
  • È possibile utilizzare il WiFi, ma il consumo energetico è così elevato che è necessario cambiare le batterie ogni 4 settimane oppure sono necessarie batterie enormi. Questo può anche essere migliorato con il fotovoltaico, ma in questo caso si hanno già costi di investimento elevati per sensore. Inoltre, durante l'installazione all'aperto sussiste un certo rischio di danni materiali.
  • LoRaWAN è più adatto in questo caso perché le batterie sono di lunga durata e spesso durano fino a 10 anni. La portata all'aperto può arrivare fino a 10 km (campo aperto, aree urbane circa 2 km). Poiché LoRaWAN può essere utilizzato senza licenza, sono previsti solo costi una tantum.
  • NB-IoT è molto adatto anche se esiste un'adeguata copertura di telefonia mobile. Ciò significa che la portata è praticamente “infinita” perché i dati del sensore vengono consegnati a un servizio cloud. Tuttavia, ci sono costi correnti

Realizzazione e test

Per il nostro test abbiamo utilizzato un Milesight UG65-868M come gateway LoRaWAN, nonché un Dragino LSE01 e un sensore di umidità del suolo Milesight EM-500 SMTC. Poiché l'UG65 può attivare anche un broker MQTT con l'ultimo aggiornamento (ChirpStack-common deve essere attivato), può essere collegato come server MQTT indipendente.

Entrambi i sensori possono misurare non solo l'umidità del suolo, ma anche la temperatura del suolo e la conduttività dielettrica (permittività). Soprattutto quest'ultimo valore è molto importante per il settore agricolo, poiché può essere utilizzato anche per determinare il contenuto di fertilizzante nel terreno.

Immagine 20240318 183612

Il Milesight UG65 ha i collegamenti di alimentazione sul retro e può essere utilizzato tramite POE. Dispone anche di WiFi e può anche fungere da punto di accesso. Come optional sono disponibili anche altre antenne e un modulo LTE.

Immagine 20240318 183633

Il Milesight EM-500 SMTC è molto più di un semplice sensore di umidità del suolo. Può misurare la temperatura e la permettività del suolo. È composto da due componenti collegati tramite un cavo. Il terreno sopra è il trasmettitore, il sottosuolo è il sensore vero e proprio. Un supporto per l'albero è incluso.

Lse01 10

Il Dragino LSE01 è simile all'EM500, può anche misurare l'umidità, la temperatura e la permettività del suolo. Tutti i sensori Dragino sembrano simili, tutti i prodotti hanno lo stesso trasmettitore.

ChirpStack

Quando si configura Chirpstack, è importante impostare prima i profili per i sensori (“Profili dispositivo”). Qui si registrano i sensori con i dati generali del dispositivo. È possibile selezionare le impostazioni predefinite utilizzando la funzione "Seleziona modello profilo dispositivo". L'intera configurazione è necessaria affinché i dati binari del sensore possano essere convertiti in valori leggibili. Pertanto anche qui la funzione “Codec” è la funzione più importante.

Tuttavia, ci ho messo un po' a capire che le specifiche del codec erano obsolete. I codec attuali possono essere trovati qui:

Milesight: https://github.com/Milesight-IoT/SensorDecoders

Dragino: https://github.com/dragino/dragino-end-node-decoder

Per fare ciò è sufficiente selezionare il sensore giusto, scaricare il file per ChirpStack, aprirlo con un editor e incollarlo nel campo codec.

Successivamente, crea una “Applicazione” e inserisci i sensori in “Dispositivi”. E' importante conoscere anche i dati JOIN dei sensori; questi sono solitamente stampati sui dispositivi, sulla targhetta identificativa, nel dispositivo stesso o nei documenti accompagnatori.

Ora che tutto è impostato, devi attivare il JOIN sui sensori. Questo processo collega prima il sensore al tuo gateway, altrimenti tutti potrebbero controllare i tuoi sensori. Puoi farlo con un'APP (Milesight ha l'APP "Toolbox") oppure aprire il dispositivo e premere uno speciale pulsante ISCRIVITI. A volte devi solo rimuovere brevemente la batteria e collegarla, quindi viene attivato il processo JOIN.

Dragino Chirpstack

I dati dovrebbero ora arrivare in ChirpStack. Ma sii paziente, i sensori inviano un segnale solo ogni 10 minuti, quindi questo può richiedere del tempo.

MQTT

Chirpstack ha il proprio broker MQTT, ma puoi anche utilizzare il tuo MQTT. Affinché riceva i dati dal broker Chirpstack MQTT, ho creato un bridge MQTT e ho inoltrato tutto. Il programma necessario a questo scopo si chiama “Mosquitto”

Il forwarder.conf nella cartella /etc/mosquitto/conf.d mi appare così:

connection bridge-01
address 192.168.0.50:1884
topic # out 0
topic # in 0

dove 192.168.0.50:1884 è l'IP e la porta del broker MQTT Chirpstack

Una volta impostato tutto, i valori dovrebbero apparire automaticamente in OpenSprinkler come mostrato sopra. Configurare ora una regolazione del programma per questo sensore, ad es. in questo modo:

Regolazione del programma1

Ciò mantiene l'irrigazione tra il 10% e il 20% di umidità del suolo. La regolazione dell'irrigazione va dallo 0 al 200%

 

5 pensieri su “LoRaWan+NB-IOT+MQTT

  1. Tobia dadi:

    Ciao,

    sembra estremamente interessante. Mi stavo solo chiedendo se hai bisogno del relativamente costoso Milesight UG65-868M o se fa qualcosa di più semplice?

    • Ammin dadi:

      Naturalmente funziona anche con altri gateway LoRaWAN. Poiché l'integrazione avviene tramite MQTT, è possibile utilizzare qualsiasi dispositivo compatibile.

  2. Andrea dadi:

    Sfortunatamente, con il firmware 2.3.1 (164) quando è selezionato “Abbonamento MQTT”, mancano i campi Argomento MQTT/Filtro MQTT/Unità 🙁
    Anche cambiando il browser non è cambiato nulla. È un bug noto?

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrasegnati *

Questo sito utilizza Akismet per ridurre lo spam. Scopri proviene da vengono elaborati e i derivati ​​dai commenti.