Su nauja programine įranga 2.3.1(150) dabar taip pat galima integruoti LoRaWan, NB-IOT ir kitus išorinius jutiklius.
Tačiau būtina sąlyga yra tai, kad jie perduoda savo jutiklio duomenis MQTT brokeriui, OpenSprinkler tada galite užsiprenumeruoti tai kaip jutiklio duomenis.
Jutiklis yra integruotas su „tema“ ir teksto / JSON filtru. Tada drėkinimo valdiklis gali naudoti šią vertę.
Kaip tai veikia:
- LoRa WAN jutikliai yra patalpinti LoRa WAN stebulės spinduliu, priklausomai nuo versijos, iki 10 km. Jūs pats naudojate LoRa WAN šakotuvą, dar vadinamą šliuzu, ir prijungiate jį prie savo tinklo
- NB-IoT jutikliai yra integruoti per teikėjo portalą. Kadangi NB-IoT veikia per korinį tinklą, jutiklis gali būti bet kur - jei yra priėmimas.
- Šliuze arba teikėjo portale suaktyvinkite MQTT funkciją ir naudokite ją jutiklio duomenims eksportuoti. Priklausomai nuo versijos, gali prireikti tolesnio diegimo naudojant daiktų interneto valdymo įrankį, pvz., ChirpStack, kuris „plukus“ jutiklio duomenis konvertuoja į vertinamus duomenis.
- In OpenSprinkler prijunkite tai naudodami MQTT parinktis ir sukurkite naują „MQTT abonemento“ tipo jutiklį.
- Į jutiklį įveskite prenumeratos informaciją ir duomenų filtrą.
- Užbaigta! Kai tik gaunami duomenys, reikšmės parodomos ir išsaugomos.
Išsami jutiklio konfigūracija
Du MQTT jutikliai pažymėti raudonai. Kiti jutikliai yra integruoti per analoginę jutiklių plokštę
Redaguoti jutiklį
Spustelėję „Pridėti jutiklį“ arba esamo jutiklio pavadinimą, gausite tokį redaktorių:
Šiame pavyzdyje parodytas MQTT duomenų CHIRPSTACK integravimas. Struktūra apibrėžiama taip:
programa/ /device/ /event/up
Į galimas reikšmes geriausia pažvelgti naudojant įrankį, pvz., MQTT Explorer. Dažnai klaidina, ypač pradedantiesiems, kad MQTT Explorer nieko nerodoma. Kadangi jutiklio duomenys gaunami tik kas 10 minučių (priklausomai nuo konfigūracijos), jums tiesiog reikia kurį laiką palikti MQTT Explorer.
MQTT filtro lauke įveskite lauko, kurį norite skaityti, pavadinimą. „CHIRPSTACK“ galite matyti laukus, nuskaitytus skiltyje „Įrenginio profiliai“ / „Matavimai“. Jei čia nieko nerodoma, pirmiausia turite įrašyti scenarijų skirtuke „CODEC“; čia gali padėti šablonai arba galite paklausti jutiklio gamintojo.
Kodėl „LoRaWAN“ arba „NB-IoT“, o ne „Wi-Fi“ ar „Bluetooth“?
Didžiausia jutiklių problema yra ta, kad jiems reikia energijos. Jei galite nutiesti maitinimo kabelį, paprastai galite nutiesti ir duomenų kabelį. Bet jei tai neįmanoma, kaip prijungti šiuos jutiklius?
Norėdami atsakyti į šį klausimą, atlikome keletą eksperimentų ir pateikiame rezultatus čia.
- „Bluetooth“ nepavyksta, atstumas tiesiog per mažas (žinoma, nebent augalai yra 10 m atstumu. pamatyti čia)
- Galima naudotis belaidžiu internetu, tačiau energijos sąnaudos yra tokios didelės, kad arba reikia keisti baterijas kas 4 savaites, arba reikia didžiulių baterijų. Tai taip pat gali būti patobulinta naudojant fotovoltinius elementus, bet tada jau turite didelių investicijų sąnaudų vienam jutikliui. Be to, montuojant lauke yra tam tikra rizika, kad bus sugadintas turtas.
- LoRaWAN čia labiau tinka, nes baterijos yra ilgaamžės ir dažnai tarnauja iki 10 metų. Atstumas lauke gali būti iki 10 km (atvirame lauke, mieste apie 2 km). Kadangi LoRaWAN gali būti naudojamas be licencijos, yra tik vienkartinės išlaidos.
- NB-IoT taip pat labai tinka, jei yra atitinkama mobiliojo telefono aprėptis. Tai reiškia, kad diapazonas yra beveik „begalinis“, nes jutiklio duomenys pristatomi į debesies paslaugą. Tačiau yra nuolatinių išlaidų
Realizavimas ir išbandymas
Savo bandymui naudojome „Milesight UG65-868M“ kaip „LoRaWAN“ šliuzą, taip pat „Dragino LSE01“ ir „Milesight EM-500 SMTC“ dirvožemio drėgmės jutiklius. Kadangi UG65 taip pat gali suaktyvinti MQTT brokerį su naujausiu atnaujinimu (turi būti suaktyvintas ChirpStack-common), jį galima prijungti kaip nepriklausomą MQTT serverį.
Abu jutikliai gali matuoti ne tik dirvožemio drėgmę, bet ir dirvožemio temperatūrą bei dielektrinį laidumą (laidumą). Paskutinė vertė ypač svarbi žemės ūkio sektoriui, nes pagal ją taip pat galima nustatyti trąšų kiekį dirvožemyje.
„Milesight UG65“ turi maitinimo jungtis gale ir gali būti valdomas per POE. Jis taip pat turi „WiFi“ ir netgi gali būti prieigos taškas. Taip pat galima pasirinkti kitas antenas ir LTE modulį.
Milesight EM-500 SMTC yra daugiau nei tik dirvožemio drėgmės jutiklis. Jis gali matuoti dirvožemio temperatūrą ir pralaidumą. Jį sudaro du komponentai, sujungti kabeliu. Viršutinė žemė yra siųstuvas, požeminis yra tikrasis jutiklis. Komplekte yra stiebo laikiklis.
Dragino LSE01 yra panašus į EM500, jis taip pat gali matuoti dirvožemio drėgmę, temperatūrą ir pralaidumą. Visi Dragino jutikliai atrodo panašūs, visi gaminiai turi tą patį siųstuvą.
ChirpStack
Nustatant Chirpstack, svarbu pirmiausia nustatyti jutiklių profilius („Įrenginio profiliai“). Čia įrašote jutiklius su jų bendrais įrenginio duomenimis. Numatytuosius nustatymus galite pasirinkti naudodami funkciją „Pasirinkti įrenginio profilio šabloną“. Visa ši konfigūracija reikalinga, kad dvejetainius jutiklio duomenis būtų galima konvertuoti į nuskaitomas reikšmes. Todėl „Kodeko“ funkcija čia taip pat yra pati svarbiausia funkcija.
Tačiau prireikė šiek tiek laiko, kol supratau, kad šios kodeko specifikacijos yra pasenusios. Dabartinius kodekus galite rasti čia:
„Milesight“: https://github.com/Milesight-IoT/SensorDecoders
Dragino: https://github.com/dragino/dragino-end-node-decoder
Norėdami tai padaryti, tiesiog pasirinkite tinkamą jutiklį, atsisiųskite ChirpStack failą, atidarykite jį su redaktoriumi ir įklijuokite į kodeko lauką.
Tada sukurkite „Programą“ ir „Įrenginiai“ įveskite jutiklius. Taip pat svarbu žinoti jutiklių JOIN duomenis, kurie dažniausiai yra atspausdinti ant įrenginių, vardinėje plokštelėje, pačiame įrenginyje arba pridedamuose dokumentuose.
Dabar, kai viskas nustatyta, jutikliuose turite suaktyvinti JOIN. Šis procesas pirmiausia sujungia jutiklį prie jūsų šliuzo – kitu atveju visi galėtų valdyti jūsų jutiklius. Tai galite padaryti naudodami APP (Milesight turi „Toolbox“ APP) arba atidarykite įrenginį ir paspauskite specialų JOIN mygtuką. Kartais tereikia trumpam išimti bateriją ir prijungti, tada suaktyvinamas JOIN procesas.
Duomenys dabar turėtų patekti į ChirpStack. Tačiau būkite kantrūs, jutikliai siunčia signalą tik kas 10 minučių, todėl tai gali užtrukti.
MQTT
Chirpstack turi savo MQTT brokerį, bet taip pat galite naudoti savo MQTT. Kad ji gautų duomenis iš Chirpstack MQTT brokerio, sukūriau MQTT tiltą ir viską persiunčiau. Tam reikalinga programa vadinama „Mosquitto“
Aplanke /etc/mosquitto/conf.d esantis forwarder.conf man atrodo taip:
connection bridge-01
address 192.168.0.50:1884
topic # out 0
topic # in 0
kur 192.168.0.50:1884 yra Chirpstack MQTT brokerio IP ir prievadas
Kai viskas bus nustatyta, reikšmės turėtų pasirodyti automatiškai, kaip parodyta aukščiau OpenSprinkler pasirodyti. Dabar sukonfigūruokite šio jutiklio programos reguliavimą, pavyzdžiui, taip:
Dėl to drėkinimas palaiko nuo 10% iki 20% dirvožemio drėgmės. Drėkinimo reguliavimas yra nuo 0 iki 200 %
Deja, naudojant programinę-aparatinę įrangą 2.3.1 (164), trūksta MQTT temos / MQTT filtro / vieneto laukų, kai pasirenkama „MQTT prenumerata“ 🙁
Net pakeitus naršyklę niekas nepasikeitė. Ar tai žinoma klaida?
Taip, taip atsitinka, jei naudojate „originalią“ gamintojo svetainę, kuri, deja, atsilieka nuo plėtros. Todėl atitinkamai pritaikykite, kaip aprašyta instrukcijose /su.
Tada naršyklėje kelis kartus paspauskite Ctrl+F5 (arba įkelkite iš naujo), kad puslapis būtų atnaujintas. Čia vėl nuoroda:
Dėkoju! Puikiai veikia ir galima integruoti mano Ecowitt oro stotį per Homeassistant => Mosquitto.