Lorawan gateway своими руками

Как сделать дешевый одноканальный шлюз с помощью ESP32 LoRa платы

Шлюзы LoRaWAN основанные на базе Semtech SX1301 обычно стоят очень дорого и даже если взять LoRa шлюз основанный на базе платы Raspberry Pi для внутреннего размещения и экспериментов, цена все равно будет около $200.

Но существует более дешевый способ (примерно $70) — можно использовать одноканальный LoRa шлюз, который, как следует из названия, поддерживает только один канал, что ограничивает количество узлов и вынуждает вас устанавливать узлы на той же частоте, что и ваш шлюз. Они не очень подходят для коммерческого использования. Если вы планируете реализовать сеть с десятком узлов или выше, то вы можете использовать более дешевую LoRa плату ESP32, такую как одноканальный LoRa шлюз ESP32, которая продается на Sparkfun за $29.95.

  • Сеть
    • WiFi и Bluetooth 4.2 LE через модуль ESP32-WROOM-32 с интегрированной в печатную плату антенной
    • LoRa @ 868 / 915 МГц с Lora модемом Hope RFM95W LoRa, которым можно управлять через SPI интерфейс + u.FL разъем для антенны
  • Вход и выходы
    • 14x контактных отверстий GPIO ESP32
    • Qwiic-разъем для модулей Sparkfun
  • Отладка – через микро USB порт
  • Прочее – Кнопки сброса и ESP32 pin0; пользовательский светодиод и светодиод питания
  • Питание – 5 В через микро USB порт

Плата имеет открытые исходные данные с ресурсами, которые загружены на Github, также компания предоставляет подробное руководство по настройке платы шлюза ESP32 1-Ch LoRa с The Things Network (TTN).

Это не единственное решение одноканального шлюза, поскольку существует более дешевая TTGO LoRa плата, которую можно использовать для этой цели с кодом для шлюза и узла, который был перенесен на Github. Также есть учебное видео пособие, состоящие из четырех частей, загруженное на Youtube канал Vergil Cola, в котором объясняется, как начать работу с данной платой и получить данные в TTN.

Источник

Отправка данных с IoT-устройства по сети LORAWAN в сервис The Things Network

В течении многих лет огромный потенциал Интернета Вещей (IoT) сдерживался техническими проблемами, такими как малый срок службы устройств работающих от батарей, короткой дальностью связи, высокой стоимостью и отсутствием единых стандартов.

Технология, получившая название LoRaWAN (Long Range wide-area networks) позволила преодолеть все эти препятствия. На основе новой спецификации и нового протокола для LPWAN, использующего нелицензируемый диапазон частот, технология LoRaWAN позволила подключать датчики на большие расстояния, предлагая при этом оптимальное время автономной работы датчиков и минимальные требования к инфраструктуре.Конечные LoRa-устройства могут передать информацию с расстояния в 15 км от базовой станции, используя при этом мощность передачи, не превышающую 25 мВт.

Типовую сеть LoRaWAN можно представить в виде оконечных устройств(точек, узлов), данные с которых передаются (в зашифрованном виде!) на шлюзы, далее на сервер сети провайдера и далее на сервер приложений провайдера, откуда всё это уже поступает к конечному пользователю. В LoRaWAN сети шлюзы также называют концентраторами, конечные устройства -точками или узлами.

Читайте также:  Арочная лампа своими руками

Сервис The Things Network (www.thethingsnetwork.org) – открытая LoRaWAN сеть, поддерживаемая и развиваемая ее участниками. Сервис предоставляет набор открытых инструментов и глобальную открытую сеть для создания IoT-приложений Благодаря надежному сквозному шифрованию создается защищенная и совместная сеть Internet of Things, охватывающая многие страны мира. Сейчас работают тысячи шлюзов, обеспечивающих покрытие миллионам людей.

Любой желающий может зарегистрировать в сети свое Lora-устройство как узел (node). Но это если узел может подключиться к существующему шлюзу. Карта шлюзов

Если нет возможности подключиться к шлюзу, необходимо зарегистрировать свой шлюз (gateway). Один из вариантов шлюза — The Things Indoor Gateway

The Things Indoor Gateway (TTIG) представляет собой полностью совместимый шлюз LoRaWAN с Wi-Fi в качестве транзитного соединения.

Характеристики:

  • 8-канальный внутренний шлюз LoRaWAN;
  • Один из первых шлюзов, поддерживающих современный протокол BasicStation;
  • Поддерживает LBT.
  • Простые шаги установки, занимающие менее 5 минут.
  • Можно подключиться к любой сети по выбору.
  • Настройка и подключение через WiFi.
  • Питание через кабель USB-C;
  • Встроенная всенаправленная антенна для использования внутри помещений.
  • Доступны версии EU868, US915, AS923 и CN470.

2 режима работы:
Режим конфигурации (CONF)
В этом режиме устройство действует как точка доступа Wi-Fi, к которой пользователи могут подключаться и настраивать сеть WiFi, к которым будет подключаться шлюз во время нормальной работы. Устройство не может маршрутизировать пакеты LoRaWAN в этом режиме.
Режим шлюза (GW)
В этом режиме устройство действует как шлюз для маршрутизации трафика между устройством LoRaWAN и сетью. В этом режиме точка доступа WiFi для настройки недоступна.
Активация шлюза

  1. Нажмите кнопку сброса (маленькая кнопка на задней панели шлюза рядом с портом USB-C) и удерживайте ее в течение 5 секунд, пока индикатор не начнет быстро мигать ЗЕЛЕНЫМ КРАСНЫМ в течение нескольких раз.
  2. Удерживайте кнопку SETUP (кнопка в верхней части шлюза, рядом со светодиодом) в течение 10 секунд, пока светодиод не начнет быстро мигать КРАСНЫМ.
  3. Теперь шлюз предоставляет точку доступа WiFi, SSID которой равен MINIHUB-xxxxxx, где xxxxxx — это последние 6 цифр идентификатора шлюза.
  4. Пароль для этой сети напечатан на задней панели устройства под WiFi PW .
  5. После подключения к этой сети перейдите на 192.168.4.1 с помощью веб-браузера для доступа к странице конфигурации WiFi.
  6. Выберите сеть WiFi и введите пароль, если это закрытая сеть.
  7. Выберите SAVE & REBOOT.
  8. Если ваш конфиг правильный,
    • Шлюз будет мигать ЗЕЛЕНЫМ в течение нескольких секунд, пока он подключается к этой сети.
    • Затем он будет мигать ЗЕЛЕНЫМ КРАСНЫМ в течение нескольких секунд, пока он подключается к конечной точке CUPS и выбирает необходимую информацию для подключения к конечной точке трафика LNS .
  9. Если ваша конфигурация прошла успешно, индикатор будет зеленым, что означает, что шлюз подключен к сети LoRaWAN и готов к обработке пакетов.

Подключение к серверу The Things Network

Сначала регистрируемся в сервисе The Things Network (www.thethingsnetwork.org). Затем необходимо войти в свой профиль и зарегистрировать шлюз. Нажимаем на кнопку Setup a gateway

Чтобы подключить этот шлюз к консоли The Things Network, зарегистрируйте шлюз, используя опцию I’m using the Legacy Packet Forwarder .
Gateway EUI можно получить на странице настройки WiFi.

Читайте также:  Как сделать торнадо для химчистки своими руками

Это значение должно быть введено в поле Gateway EUI​ на консоли .
Введите другие данные, такие как местоположение, частотный план и маршрутизатор.

Если ваша конфигурация прошла успешно, Вы увидите Status connected

Шлюз подключен к сервису. Мы можем подключаться к нему устройствами Lora.

Плата The Things Uno

Компания Things Network предоставляет совместимые с экосистемой Arduino аппаратные средства, который позволяют легко развертывать сети LoRaWAN. На данный момент компания продвигает совместимую с Arduino плату Things Uno. Things Uno базируется на микроконтроллере ATmega32u4. По сути, она основана на конструкции Arduino Leonardo, а не Arduino UNO. . Плата Things Uno имеет приемопередатчик RN2483 компании Microchip для связи по сети LoRaWAN, здесь также присутствует встроенная печатная антенна для обеспечения лучшей связи.

Необходимо установить библиотеку TheThingsNetwork, чтобы получить те же простые в использовании методы для подключения к сети и отправки данных.

Загрузим на плату Things Uno пример DeviceInfo из библиотеки TheThingsNetwork.

Внесем изменения в скетч

В монитор последовательного порта выводится необходимая нам информация об EUI устройства. Эти данные нам пригодятся.

Далее заходим в сервисе в консоль The Things Network и выбираем Applications, а затем add application

Заполняем поля и нажимаем на кнопку Add Application

Теперь к данному приложению необходимо добавить устройство. Нажимаем на ссылку register device

И в окне вводим данные нашего устройства. Вот где нужен EUI устройства

Нажимаем кнопку Register. Для отправки данных на нужны два значения Application EUI и App Key

Загрузим на плату Things Uno пример SendOTAA из библиотеки TheThingsNetwork. Внесем изменения в скетч

После загрузки скетча в приложение должны приходить данные. Выбираем вкладку Data

Устройство отправляет данные в сеть The Things Network.

Это необработанные данные RAW. В следующей части рассмотрим как выделять нужные данные и отправлять их по нужному нам адресу.

Источник

Создаем собственный GPS-Трекер на технологии LoRa

В этой статье вы узнаете, как создать собственный GPS-трекер с помощью микроконтроллеров Pycom LoPy, а также научитесь настраивать одноканальный LoRa Nano-Gateway.
Здесь я изложу ключевые этапы со всеми необходимыми ссылками.

Если вас интересуют подробное руководство и пояснения, то можете посмотреть видео запись моего выступления на технологическом подкасте IBM Developer Europe Crowdcast.

Начнем с общей схемы архитектуры, на которой показаны все компоненты, участвующие в процессе настройки трекера.

Узел LoPy служит в качестве GPS-устройства, отправляющего данные на LoRa Nano-Gateway.

Сам шлюз LoRa подключен к ‘TheThingsNetwork’ по WiFi.

В конечном итоге мы получим Node-RED, выполняющийся в IBM Cloud, который будет принимать MQTT сообщения от TheThingsNetwork, сохранять их в базе данных Cloudant и отображать точки GPS-данных на карте.

Оборудование:

  • 1 LoPy в качестве узла LoRa + антенна (868MHz/915MHz) + аккумулятор 3.7V LiPo;
  • Последовательный GPS-модуль 1 uBlox NMEA с антенной;
  • 1 LoPy в качестве LoRa Nano-Gateway + антенна (868MHz/915MHz);
  • 2 платы расширения Pycom.

Ссылки на используемое оборудование здесь: pycom.io/products/hardware

Программная часть:

Для программирования микроконтроллеров LoPy мы будем использовать Pymakr – плагин для редакторов Atom и VS Code.

LoPy от Pycom.io – это мульти-сетевой аппаратный модуль на базе микроконтроллера ESP32. Большинство из используемых в нем функций и библиотек собраны на MicroPython.

Читайте также:  Выгулы для кроликов своими руками

1. Настройка LoRaWAN Nano Gateway и подключение к TheThingsNetwork

Исходный код для LoRaWAN Nano-Gateway ждет вас здесь.

Распакуйте скачанный файл, после чего найдите каталог lorawan-nano-gateway в директории examples.

Все подробности по настройке Nano-Gateway изложены в следующей ссылке.

Следуя этому руководству, вы определите шлюз в TheThingsNetwork, настроите параметры конфигурации в соответствии с вашим регионом, загрузите код на плату и убедитесь в ее работоспособности через консоль TheThingsNetwork.

Создайте бесплатный аккаунт в TheThingsNetwork – он послужит вам точкой регистрации для шлюза и точкой получения пакетов данных, которые мы будем отправлять с LoRa-узла нашего GPS-трекера.

2. Настройка LoRa-узла с GPS-трекером

Следуйте инструкциям TheThingsNetwork для регистрации и активации вашего устройства LoPy.

Есть два способа активации LoPy: либо через OTAA (активация «по воздуху»), либо ABP (активация путем персонализации). Первый вариант считается предпочтительным, если вы используете несколько устройств, но не подойдет для работы с LoRa Nano-Gateway.

Следующий образец кода использует активацию ABP и после установки LoRa-соединения отправляет 10 байт в виде 10 отдельных пакетов.

Теперь узел LoRa настроен, и мы должны увидеть поступающие пакеты как через консоль Nano-Gateway, так и в консоли TheThingsNetwork.

Далее мы можем добавить код для считывания фиксированных данных о местоположении GPS.
Образец этого кода лежит здесь.

В данном примере мы используем библиотеку ‘adafruit_gps’ и отправляем пакет данных только, когда устанавливаем фиксированное местоположение GPS.

Это, конечно, здорово, но все полученные нами данные в байтах. Как же их перевести в доступный для использования формат? Конечно же декодировать.

Направляйтесь в консоль TheThingsNetwork и выберите ваше приложение, в котором перейдите во вкладку Payload Formats и определите декодер, не забыв также сохранить его.

Теперь, когда наш GPS-трекер подключен через LoRaWAN, перейдем к самому интересному, а именно настроим сохранение в БД и начнем показывать данные на карте.

Этот процесс я привык реализовывать в среде IBM Cloud при помощи Node-RED.
Здесь можно быстро и легко зарегистрировать бесплатный Lite-аккаунт.

По умолчанию потоки Node-RED сохраняются в БД Cloudant, поэтому можно без проблем использовать эту же БД для сохранения наших GPS-данных.

Образец потока Node-RED находится здесь.

GPS-данные через MQTT собираются с TheThingsNetwork и сохраняются в Cloudant.

Для получения этих данных вам потребуется создать/сгенерировать новый ключ доступа. Снова направляйтесь в консоль TheThingsNetwork и выберите свое приложение, перейдите во вкладку settings и найдите среди прочих настроек access keys. Сгенерированный ключ будет находиться в нижней части страницы окна просмотра приложения.

Более подробное о взаимодействии MQTT с ‘TheThingsNetwork’ рассказано здесь.

Заключение

Эта статья поможет вам лучше ознакомиться с основами использования Интернета Вещей (IoT) при помощи LoRa-соединения.

Если вам не терпится увидеть все это в действии, то еще раз напомню про свое выступление на технологическом подкасте IBM Developer Europe Crowdcast.

В этом видео я также показываю, как подключить LoRa GPS-трекер к публичному бельгийскому провайдеру этой технологии – Proximus.

А какие еще, на ваш взгляд, есть варианты применения LoRa для Интернета Вещей?

Источник

Оцените статью