LoRaWan+NB-IOT+MQTT

З новою мікропрограмою 2.3.1(150) тепер також можна інтегрувати LoRaWan, NB-IOT та інші зовнішні датчики.

Однак передумовою є те, що вони передадуть свої дані датчиків брокеру MQTT, OpenSprinkler потім можна підписатися на це як дані датчика.

Датчик інтегрований із «темою» та текстовим/JSON-фільтром. Потім контролер поливу може використовувати це значення.

параметри підключення

Як це працює:

  • Датчики LoRa WAN розміщуються в радіусі хаба LoRa WAN, залежно від версії, із радіусом дії до 10 км. Ви самостійно керуєте концентратором LoRa WAN, який також називають шлюзом, і підключаєте його до своєї мережі
  • Датчики NB-IoT інтегровані через портал провайдера. Оскільки NB-IoT працює через стільникову мережу, датчик можна розташувати будь-де - за умови наявності прийому.
  • На порталі шлюзу або постачальника активуйте функцію MQTT і використовуйте її для експорту даних датчика. Залежно від версії може знадобитися подальша реалізація за допомогою інструменту керування Інтернетом речей, такого як ChirpStack, який перетворює «голі» дані датчика в дані, які можна оцінити.
  • In OpenSprinkler підключіть це через параметри MQTT, а потім створіть новий датчик типу «Підписка на MQTT».
  • Введіть інформацію про підписку та фільтр даних у сенсорі.
  • Готово! Як тільки дані отримані, значення відображаються та зберігаються.

Конфігурація датчика в деталях

Два датчики MQTT позначені червоним кольором. Інші датчики інтегровані через плату аналогових датчиків

 

Аналоговий датчик 150 1

Редагувати датчик

Натиснувши кнопку «Додати датчик» або назву наявного датчика, ви отримаєте наступний редактор:

Аналоговий датчик 150 2

У цьому прикладі показано інтеграцію CHIRPSTACK даних MQTT. Структура визначається наступним чином:

застосування/ /пристрій/ /подія/вгору

Найкраще дивитися на можливі значення за допомогою інструменту, наприклад MQTT Explorer. Часто бентежить, особливо початківців, те, що в MQTT Explorer нічого не відображається. Оскільки дані датчика надходять лише кожні 10 хвилин (залежно від конфігурації), вам просто потрібно на деякий час залишити MQTT Explorer.

Для поля фільтра MQTT введіть назву поля, яке потрібно прочитати. У CHIRPSTACK ви можете побачити зачитані поля в розділі «Профілі пристрою» / «Вимірювання». Якщо тут нічого не відображається, спочатку потрібно зберегти сценарій на вкладці «КОДЕК»; тут можуть допомогти шаблони або ви можете запитати у виробника датчика.

Чому LoRaWAN або NB-IoT, а не Wi-Fi або Bluetooth?

Найбільша проблема з датчиками полягає в тому, що вони потребують живлення. Якщо ви можете прокласти кабель живлення, зазвичай ви можете прокласти і кабель даних. Але якщо це неможливо, як підключити ці датчики?

Щоб відповісти на це запитання, ми провели кілька експериментів і представили результати тут.

  • Bluetooth не працює, радіус дії занадто малий (якщо рослини не знаходяться в межах 10 метрів. послухайте)
  • Wi-Fi можна використовувати, але споживання енергії настільки велике, що вам доведеться або міняти батареї кожні 4 тижні, або вам потрібні величезні батареї. Це також можна покращити за допомогою фотовольтаїки, але тоді ви вже матимете високі інвестиційні витрати на датчик. Крім того, при встановленні на відкритому повітрі існує певний ризик пошкодження майна.
  • Тут більше підходить LoRaWAN, тому що батареї довговічні і часто служать до 10 років. Радіус дії на відкритому повітрі може становити до 10 км (відкрите поле, міські райони приблизно 2 км). Оскільки LoRaWAN можна використовувати без ліцензії, є лише одноразові витрати.
  • NB-IoT також дуже підходить, якщо є відповідне покриття мобільного зв’язку. Це означає, що діапазон практично «нескінченний», оскільки дані датчиків доставляються в хмарний сервіс. Проте є постійні витрати

Реалізація та тестування

Для нашого тесту ми використовували Milesight UG65-868M як шлюз LoRaWAN, а також датчики вологи ґрунту Dragino LSE01 і Milesight EM-500 SMTC. Оскільки UG65 також може активувати брокера MQTT за допомогою останнього оновлення (повинен бути активований ChirpStack-common), його можна підключити як незалежний сервер MQTT.

Обидва датчики можуть вимірювати не тільки вологість ґрунту, але також температуру ґрунту та діелектричну провідність (діелектричну проникність). Останнє значення особливо важливо для сільськогосподарського сектору, оскільки воно також може бути використано для визначення вмісту добрив у ґрунті.

Зображення 20240318 183612

Milesight UG65 має роз’єми живлення ззаду, і ним можна керувати через POE. Він також має Wi-Fi і навіть може служити точкою доступу. Інші антени та модуль LTE також доступні як опції.

Зображення 20240318 183633

Milesight EM-500 SMTC — це більше, ніж просто датчик вологості ґрунту. Він може вимірювати температуру та діелектричну проникність ґрунту. Він складається з двох компонентів, які з’єднані кабелем. Над землею є передавач, під землею – фактичний датчик. У комплект входить тримач для щогли.

Lse01 10

Dragino LSE01 схожий на EM500, він також може вимірювати вологість ґрунту, температуру та діелектричну проникність. Всі датчики Dragino здаються схожими, всі продукти мають однаковий передавач.

ChirpStack

Під час налаштування Chirpstack важливо спочатку налаштувати профілі для датчиків («Профілі пристроїв»). Тут ви записуєте датчики з їхніми загальними даними пристрою. Ви можете вибрати значення за замовчуванням за допомогою функції «Вибрати шаблон профілю пристрою». Уся ця конфігурація необхідна для того, щоб двійкові дані датчика можна було перетворити на читабельні значення. Тому функція «Кодек» також є найважливішою функцією тут.

Однак мені знадобився деякий час, щоб зрозуміти, що ці специфікації кодеків застаріли. Поточні кодеки можна знайти тут:

Майлсайт: https://github.com/Milesight-IoT/SensorDecoders

Драгіно: https://github.com/dragino/dragino-end-node-decoder

Для цього просто виберіть потрібний датчик, завантажте файл для ChirpStack, відкрийте його за допомогою редактора та вставте в поле кодека.

Далі створіть «Додаток» і введіть датчики в розділі «Пристрої». Також важливо знати дані JOIN датчиків; вони зазвичай друкуються на пристроях, на заводській табличці, у самому пристрої або в супровідних документах.

Тепер, коли все налаштовано, вам потрібно запустити JOIN на датчиках. Цей процес спочатку підключає датчик до вашого шлюзу, інакше кожен зможе контролювати ваші датчики. Ви можете зробити це за допомогою APP (Milesight має APP «Toolbox») або відкрити пристрій і натиснути спеціальну кнопку JOIN. Іноді вам просто потрібно ненадовго вийняти акумулятор і підключити його, тоді запускається процес JOIN.

Dragino Chirpstack

Тепер дані мають надійти в ChirpStack. Будь ласка, запасіться терпінням, датчики надсилають сигнал лише кожні 10 хвилин, тому це може зайняти час.

MQTT

У Chirpstack є власний брокер MQTT, але ви також можете використовувати власний MQTT. Щоб він отримував дані від брокера Chirpstack MQTT, я встановив міст MQTT і переслав усе. Необхідна для цього програма називається «Mosquitto»

Для мене файл forwarder.conf у папці /etc/mosquitto/conf.d виглядає так:

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

де 192.168.0.50:1884 — це IP-адреса та порт брокера Chirpstack MQTT

Коли все буде налаштовано, значення мають з’явитися автоматично, як показано вище OpenSprinkler з'являтися. Тепер налаштуйте програмне налаштування для цього датчика, наприклад так:

Коригування програми1

Це дозволяє підтримувати вологість ґрунту на рівні 10-20%. Регулювання поливу від 0 до 200%

 

Schreibe Einen Kommentar

Вашу адресу електронної пошти не буде опублікований. Erforderliche Felder Сінд міт * зазначений

Цей сайт використовує Akismet для зменшення спаму. Дізнайтеся більше про те, як обробляються дані коментарів.