LoRaWan+NB-IOT+MQTT

С новия фърмуер 2.3.1(150), LoRaWan, NB-IOT и други външни сензори вече могат да бъдат интегрирани.

Предпоставката обаче е те да предадат своите сензорни данни на MQTT брокер; Тогава OpenSprinkler може да се абонира за това като данни от сензори.

Сензорът е интегриран със своята „тема“ и филтър за текст/JSON. Тогава контролерът за напояване може да използва тази стойност.

Опции за свързване

Ето как работи:

  • LoRa WAN сензорите се поставят в радиуса на LoRa WAN хъб, в зависимост от версията, с обхват до 10 km. Вие сами управлявате LoRa WAN хъба, наричан още шлюз, и го свързвате към вашата мрежа
  • NB-IoT сензорите са интегрирани чрез портала на доставчика. Тъй като NB-IoT работи през клетъчната мрежа, сензорът може да бъде разположен навсякъде - при условие че има приемане.
  • В шлюза или портала на доставчика активирайте функцията MQTT и я използвайте, за да експортирате данните от сензора. В зависимост от версията може да е необходимо по-нататъшно внедряване с инструмент за управление на IoT като ChirpStack, който преобразува „голите“ сензорни данни в данни, подлежащи на оценка.
  • В OpenSprinkler свързвате това чрез MQTT опциите и след това създавате нов сензор от тип „MQTT абонамент“.
  • Въведете информацията за абонамента и филтъра за данни в сензора.
  • Завършен! Веднага след като данните бъдат получени, стойностите се показват и запазват.

Подробна конфигурация на сензора

Двата MQTT сензора са маркирани в червено. Другите сензори са интегрирани чрез аналоговата сензорна платка

 

Аналогов сензор 150 1

Редактиране на сензора

Като щракнете върху „Добавяне на сензор“ или върху името на съществуващ сензор, получавате следния редактор:

Аналогов сензор 150 2

Този пример показва CHIRPSTACK интегриране на MQTT данни. Структурата се определя, както следва:

application/<application-id>/device/<deviceid>/event/up

Най-добре е да разгледате възможните стойности с помощта на инструмент, като например MQTT Explorer. Често е объркващо, особено за начинаещи, че нищо не се показва в MQTT Explorer. Тъй като данните от сензора пристигат само на всеки 10 минути (в зависимост от конфигурацията), просто трябва да оставите MQTT Explorer за известно време.

За полето MQTT Filter въведете името на полето, което трябва да бъде прочетено. В CHIRPSTACK можете да видите прочетените полета под „Профили на устройства“ / „Измервания“. Ако тук не се появи нищо, първо трябва да запишете скрипт в раздела „CODEC“; шаблоните могат да помогнат тук или можете да попитате производителя на сензора.

Защо LoRaWAN или NB-IoT, а не Wi-Fi или Bluetooth?

Най-големият проблем със сензорите е, че те изискват захранване. Ако можете да поставите захранващ кабел, обикновено можете да поставите и кабел за данни. Но ако това не е възможно, как да свържете тези сензори?

За да отговорим на този въпрос, направихме няколко експеримента и представяме резултатите тук.

  • Bluetooth се проваля, обхватът е просто твърде малък (разбира се, освен ако растенията не са в рамките на 10 метра. Вижте тук)
  • Може да се използва WiFi, но консумацията на енергия е толкова висока, че или трябва да сменяте батериите на всеки 4 седмици, или имате нужда от огромни батерии. Това също може да се подобри с фотоволтаици, но тогава вече имате високи инвестиционни разходи за сензор. Освен това съществува известен риск от материални щети при монтаж на открито.
  • LoRaWAN е по-подходящ тук, защото батериите са дълготрайни и често издържат до 10 години. Обхватът на открито може да бъде до 10 км (открито поле, градски зони приблизително 2 км). Тъй като LoRaWAN може да се управлява без лиценз, има само еднократни разходи.
  • NB-IoT също е много подходящ, ако има подходящо покритие на мобилни телефони. Това означава, че диапазонът е практически „безкраен“, тъй като данните от сензора се доставят до облачна услуга. Има обаче текущи разходи

Реализация и тестване

За нашия тест използвахме Milesight UG65-868M като LoRaWAN шлюз, както и Dragino LSE01 и Milesight EM-500 SMTC сензори за влажност на почвата. Тъй като UG65 може също да активира MQTT брокер с последната актуализация (ChirpStack-common трябва да бъде активиран), той може да бъде свързан като независим MQTT сървър.

И двата сензора могат да измерват не само влажността на почвата, но и температурата на почвата и диелектричната проводимост (диелектрична проницаемост). Последната стойност е особено важна за селскостопанския сектор, тъй като може да се използва и за определяне на съдържанието на тор в почвата.

Img 20240318 183612

Milesight UG65 има захранващи връзки отзад и може да се управлява чрез POE. Освен това има WiFi и дори може да служи като точка за достъп. Други антени и LTE модул също се предлагат като опции.

Img 20240318 183633

Milesight EM-500 SMTC е нещо повече от сензор за влажност на почвата. Може да измерва температурата на земята и диелектричната проницаемост. Състои се от два компонента, които са свързани с кабел. Над земята е предавателят, под земята е действителният сензор. Включен е държач за мачта.

Lse01 10

Dragino LSE01 е подобен на EM500, той може също да измерва влажността на почвата, температурата и диелектричната проницаемост. Всички сензори Dragino изглеждат подобни, всички продукти имат един и същ предавател.

ChirpStack

Когато настройвате Chirpstack, важно е първо да настроите профили за сензорите („Профили на устройството“). Тук записвате сензорите с техните общи данни за устройството. Можете да изберете настройките по подразбиране, като използвате функцията „Избор на шаблон за профил на устройство“. Цялата тази конфигурация е необходима, за да могат двоичните данни от сензора да бъдат преобразувани в четливи стойности. Следователно функцията „Кодек“ също е най-важната функция тук.

Въпреки това ми отне известно време, за да разбера, че тези спецификации на кодеци са остарели. Текущите кодеци можете да намерите тук:

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

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

За да направите това, просто изберете правилния сензор, изтеглете файла за ChirpStack, отворете го с редактор и го поставете в полето за кодек.

След това създайте „Приложение“ и въведете сензорите под „Устройства“. Също така е важно да знаете JOIN данните на сензорите; те обикновено са отпечатани върху устройствата, върху табелката с данни, в самото устройство или в придружаващите документи.

Сега, когато всичко е настроено, трябва да задействате JOIN на сензорите. Този процес първо свързва сензора с вашия шлюз - в противен случай всеки може да контролира вашите сензори. Можете или да направите това с ПРИЛОЖЕНИЕ (Milesight има ПРИЛОЖЕНИЕ „Кутия с инструменти“), или да отворите устройството и да натиснете специален бутон JOIN. Понякога просто трябва да извадите за кратко батерията и да я включите, след което се задейства процесът JOIN.

Dragino Chirpstack

Сега данните трябва да пристигнат в ChirpStack. Но моля, бъдете търпеливи, сензорите изпращат сигнал само на всеки 10 минути, така че това може да отнеме време.

MQTT

Chirpstack има собствен MQTT брокер, но алтернативно може да се използва и собствен MQTT. За да получава той данните от MQTT брокера на Chirpstack, настроих 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 адресът и портът на MQTT брокера на Chirpstack

След като всичко е настроено, стойностите трябва автоматично да се появят в OpenSprinkler, както е показано по-горе. Сега конфигурирайте корекция на програмата за този сензор, напр. така:

Корекция на програмата 1

По този начин поливането се поддържа между 10% и 20% влажност на почвата. Корекцията на поливането е от 0 до 200%

 

5 мисли за „LoRaWan+NB-IOT+MQTT

  1. Тобиас казва:

    здравей

    това звучи изключително интересно. Чудя се само дали е необходим сравнително скъпият Milesight UG65-868M или ще свърши работа и нещо по-просто?

    • Админ казва:

      Разбира се, това работи и с други LoRaWAN гейтуеи. Тъй като интеграцията става чрез MQTT, може да се използва всяко съвместимо устройство.

  2. Андреа казва:

    За съжаление при фърмуер 2.3.1 (164) при избор на „MQTT Subscription“ липсват полетата MQTT Topic/MQTT Filter/Unit 
    Смяната на браузъра също не промени нищо. Това известен бъг ли е?

    • Админ казва:

      Да, това се случва, когато се използва „оригиналната“ уеб страница на производителя, тя за съжаление изостава от разработката. Затова коригирайте съответно /su, както е описано в ръководството.
      След това натиснете няколко пъти Ctrl+F5 в браузъра (или презаредете), за да се обнови страницата. Ето отново линка:

    • https://opensprinklershop.de/2023/01/29/analog-sensor-konfiguration-aktivieren/
      • Андреа казва:

        Благодаря! Работи супер и така е възможна интеграцията на моята метеорологична станция Ecowitt чрез Homeassistant => Mosquitto.

Оставете отговор

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани *

Този сайт използва Akismet за намаляване на спама. Научете как се обработват вашите коментарни данни.