LoRaWan+NB-IOT+MQTT

S novým firmwarem 2.3.1(150) lze nyní integrovat také LoRaWan, NB-IOT a další externí senzory.

Předpokladem však je, že svá data ze senzorů předají brokerovi MQTT; OpenSprinkler si to pak může předplatit jako data senzoru.

Senzor je integrován se svým „tématem“ a textovým/JSON filtrem. Regulátor zavlažování pak může tuto hodnotu použít.

Možnosti připojení

Funguje to takto:

  • Senzory LoRa WAN jsou umístěny v okruhu LoRa WAN hubu, v závislosti na verzi, s dosahem až 10 km. Sami obsluhujete rozbočovač LoRa WAN, nazývaný také brána, a připojujete jej ke své síti
  • Senzory NB-IoT jsou integrovány prostřednictvím portálu poskytovatele. Vzhledem k tomu, že NB-IoT funguje přes celulární síť, může být senzor umístěn kdekoli - za předpokladu, že existuje příjem.
  • V bráně nebo portálu poskytovatele aktivujte funkci MQTT a použijte ji k exportu dat senzoru. V závislosti na verzi může být nezbytná další implementace s nástrojem pro správu internetu věcí, jako je ChirpStack, který převádí „holá“ data senzoru na vyhodnotitelná data.
  • V OpenSprinkler to připojíte přes možnosti MQTT a poté vytvoříte nový senzor typu „MQTT Subscription“.
  • Zadejte informace o předplatném a filtr dat do senzoru.
  • Kompletní! Jakmile jsou data přijata, hodnoty se zobrazí a uloží.

Detailní konfigurace senzoru

Dva snímače MQTT jsou označeny červeně. Ostatní senzory jsou integrovány prostřednictvím analogové senzorové desky

 

Analogový snímač 150 1

Upravit senzor

Kliknutím na „Přidat senzor“ nebo na název existujícího senzoru získáte následující editor:

Analogový snímač 150 2

Tento příklad ukazuje integraci dat MQTT CHIRPSTACK. Struktura je definována takto:

application/<id-aplikace>/zařízení/<id zařízení>/událost/up

Nejlepší je podívat se na možné hodnoty pomocí nástroje, jako je MQTT Explorer. Zejména pro začátečníky je často matoucí, že se v MQTT Exploreru nic nezobrazuje. Protože data senzoru přicházejí pouze každých 10 minut (v závislosti na konfiguraci), musíte MQTT Explorer na chvíli opustit.

Do pole Filtr MQTT zadejte název pole, které se má číst. V CHIRPSTACK můžete vidět pole vyčtená pod „Profily zařízení“ / „Měření“. Pokud se zde nic neobjeví, musíte nejprve uložit skript v záložce „CODEC“; zde mohou pomoci šablony nebo se můžete zeptat výrobce snímače.

Proč LoRaWAN nebo NB-IoT a ne Wi-Fi nebo Bluetooth?

Největším problémem senzorů je, že vyžadují napájení. Pokud můžete položit napájecí kabel, můžete obvykle položit také datový kabel. Ale pokud to není možné, jak tyto senzory zapojíte?

Abychom na tuto otázku odpověděli, provedli jsme několik experimentů a výsledky uvádíme zde.

  • Bluetooth selže, dosah je prostě příliš krátký (pokud samozřejmě rostliny nejsou do 10m. Viz zde)
  • WiFi lze použít, ale spotřeba je tak vysoká, že buď musíte měnit baterie každé 4 týdny, nebo potřebujete obrovské baterie. I to se dá zlepšit fotovoltaikou, ale pak už máte vysoké investiční náklady na senzor. Při venkovní instalaci navíc existuje určité riziko poškození majetku.
  • LoRaWAN je zde vhodnější, protože baterie mají dlouhou výdrž a často vydrží až 10 let. Venkovní dosah může být až 10 km (otevřené pole, městské oblasti cca 2 km). Vzhledem k tomu, že LoRaWAN lze provozovat bez licence, existují pouze jednorázové náklady.
  • NB-IoT je také velmi vhodný, pokud existuje odpovídající pokrytí mobilními telefony. To znamená, že dosah je prakticky „nekonečný“, protože data senzoru jsou dodávána do cloudové služby. Existují však průběžné náklady

Realizace a testování

Pro náš test jsme použili Milesight UG65-868M jako bránu LoRaWAN, stejně jako Dragino LSE01 a Milesight EM-500 SMTC snímače vlhkosti půdy. Vzhledem k tomu, že UG65 může také aktivovat zprostředkovatele MQTT s nejnovější aktualizací (musí být aktivován ChirpStack-common), lze jej připojit jako nezávislý server MQTT.

Oba senzory mohou měřit nejen vlhkost půdy, ale také teplotu půdy a dielektrickou vodivost (permitivitu). Zejména poslední hodnota je velmi důležitá pro zemědělský sektor, protože může být také použita pro stanovení obsahu hnojiv v půdě.

Obr. 20240318 183612

Milesight UG65 má napájecí konektory na zadní straně a lze jej ovládat pomocí POE. Má také WiFi a může dokonce sloužit jako přístupový bod. Další antény a modul LTE jsou k dispozici jako volitelné příslušenství.

Obr. 20240318 183633

Milesight EM-500 SMTC je více než jen snímač vlhkosti půdy. Dokáže měřit zemní teplotu a permitivitu. Skládá se ze dvou součástí, které jsou propojeny kabelem. Nad zemí je vysílač, pod zemí je skutečný senzor. Součástí je držák stožáru.

Lse01 10

Dragino LSE01 je podobný EM500, umí také měřit vlhkost půdy, teplotu a permitivitu. Všechny snímače Dragino se zdají být podobné, všechny produkty mají stejný vysílač.

ChirpStack

Při nastavování Chirpstack je důležité, abyste nejprve nastavili profily pro senzory („Profily zařízení“). Zde zaznamenáte senzory s jejich obecnými údaji o zařízení. Výchozí nastavení můžete vybrat pomocí funkce „Vybrat šablonu profilu zařízení“. Celá tato konfigurace je nezbytná k tomu, aby mohla být binární data senzoru převedena na čitelné hodnoty. Proto je zde také nejdůležitější funkcí funkce „Codec“.

Chvíli mi však trvalo, než jsem si uvědomil, že tyto specifikace kodeků jsou zastaralé. Aktuální kodeky naleznete zde:

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

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

Chcete-li to provést, stačí vybrat správný senzor, stáhnout soubor pro ChirpStack, otevřít jej pomocí editoru a vložit do pole kodeku.

Dále vytvořte „Aplikaci“ a zadejte senzory pod „Zařízení“. Je také důležité znát JOIN data senzorů; ty jsou obvykle vytištěny na přístrojích, na typovém štítku, v přístroji samotném nebo v průvodních dokumentech.

Nyní, když je vše nastaveno, musíte na senzorech spustit JOIN. Tento proces nejprve připojí senzor k vaší bráně – jinak by vaše senzory mohl ovládat každý. Můžete to udělat buď pomocí APP (Milesight má APP „Toolbox“) nebo otevřete zařízení a stisknete speciální tlačítko JOIN. Někdy stačí jen krátce vyjmout baterii a zapojit ji, pak se spustí proces JOIN.

Dragino Chirpstack

Data by nyní měla dorazit do ChirpStacku. Buďte však trpěliví, senzory posílají signál pouze každých 10 minut, takže to může chvíli trvat.

MQTT

Chirpstack má svého vlastního MQTT brokera, ale můžete použít i svého vlastního MQTT. Aby dostával data od brokera Chirpstack MQTT, nastavil jsem MQTT bridge a vše přeposlal. Nezbytný program k tomu se nazývá „Mosquitto“

Forwarder.conf ve složce /etc/mosquitto/conf.d pro mě vypadá takto:

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

kde 192.168.0.50:1884 je IP a port brokera Chirpstack MQTT

Jakmile je vše nastaveno, hodnoty by se měly automaticky objevit v OpenSprinkler, jak je uvedeno výše. Nyní nakonfigurujte úpravu programu pro tento snímač, např. takhle:

Úprava programu 1

To udržuje zavlažování mezi 10% až 20% půdní vlhkosti. Nastavení zavlažování je od 0 do 200 %

 

O tomto diskutuje“LoRaWan+NB-IOT+MQTT

  1. Tobiáši napsal:

    Ahoj,

    to zní nesmírně zajímavě. Jen by mě zajímalo, jestli potřebuješ relativně drahý Milesight UG65-868M nebo to dělá něco jednoduššího?

    • Admin napsal:

      To samozřejmě funguje i s ostatními bránami LoRaWAN. Protože integrace probíhá přes MQTT, lze použít jakékoli kompatibilní zařízení.

  2. Andrea napsal:

    Bohužel s firmwarem 2.3.1 (164) chybí pole MQTT Téma/MQTT Filter/Unit, když je vybráno „MQTT Subscription“ 🙁
    Ani změna prohlížeče nic nezměnila. Je to známá chyba?

Napište komentář

Vaše e-mailová adresa je poblíž. Vyžádané informace jsou označeny *

Web používá Akismet ke snížení množství spamu. Zjistěte, jak jsou zpracovávány údaje z komentářů.