RAK starter kit — запускаем сеть LoRaWAN

  • Цена: $202.5 + доставка $15.25
  • Я немного знаком с технологией LoRa и использовал в проекте мониторинга температуры в погребе приемопередатчики работающие по данной технологии. В комментариях к статье было отмечено отсутствие теоретической части, посвященной непосредственно особенностям LoRa, и в частности отсутствие теста дальности связи. Данная статья отчасти призвана исправить этот недостаток и посвящена запуску и настройке LoRaWAN-шлюза на базе набора RAK Starter Kit от компании RAKWireless.

    Стоит сделать небольшое заявление о том, что данный набор достался мне бесплатно в качестве приза за победу в фотоконкурсе, проводимого RAKWireless, но об обзоре меня никто не просил, поэтому все, что изложено в статье – это мои впечатления незамутненные обязательствами перед магазином и п.18 в данном случае не уместен.

    Краткая теория

    Для начала стоит пояснить различие понятий «LoRa» и «LoRaWAN».

    LoRa™ (от англ. Long Range) — это технология и одноименный метод модуляции. Метод модуляции LoRa запатентован компанией Semtech, основан на технике расширения спектра (spread spectrum modulation) и вариацию линейной частотной модуляции (chirp spread spectrum, CSS), при которой данные кодируются широкополосными импульсами с частотой, увеличивающейся или уменьшающейся на некотором временном интервале. Такое решение, в отличие от технологии прямого расширения спектра, делает приёмник устойчивым к отклонениям частоты от номинального значения и упрощает требования к тактовому генератору, что позволяет использовать недорогие кварцевые резонаторы. LoRa использует прямую коррекцию ошибок (forward error correction, FEC), работает в субгигагерцовом диапазоне частот (утверждение на счёт субгигагерцового диапазона не совсем верно, есть трансиверы SX1280/SX1281, работающие на частоте 2,4 ГГц).

    LoRa позволяет демодулировать сигналы на уровне 20dB ниже уровня шумов, тогда как большинство систем с частотной манипуляцией (frequency shift keying, FSK) могут корректно работать с сигналами на уровне не ниже 8-10dB над уровнем шумов. Модуляция LoRa определяет физический уровень (physical layer, PHY, OSI level 1), который может использоваться в сетях с различной архитектурой – mesh-сети, звезда, точка-точка и другие.

    Благодаря своей высокой чувствительности (-148dbm) LoRa идеально подходит к устройствам с требованиями низкого потребление электроэнергии и высокой устойчивости связи на больших расстояниях.

    Модуляция LoRa определяет физический уровень передачи данных, в то время как LoRaWAN™ это открытый протокол для высокоемких (до 1 000 000 устройств в одной сети) сетей с большим радиусом действия и низким энергопотреблением, который LoRa Alliance стандартизировал для малопотребляющих глобальных сетей (Low Power Wide Area Networks, LPWAN). LoRaWAN сеть организована как сеть типа звезда и включает различные классы (А, B и C) узлов для оптимизации компромисса между скоростью доставки информации и сроком работы при батарейном питании.

    RAK starter kit - запускаем сеть LoRaWAN

    Чтобы организовать связь «точка-точка» достаточно двух недорогих LoRa-модулей, широко-представленных на Aliexpress. В принципе, если один из модулей будет подключен к сети интернет, он уже будет представлять собой одноканальный LoRa-шлюз. Но как быть, если есть необходимость сбора показаний с большого количества сенсоров? В этом случае придется решать проблемы одновременной работы множества сенсоров, их идентификации в сети, шифрования данных и организации протокола их передачи.

    Данные проблемы уже решены в специализированных микросхемах от компании Semtech для организации многоканального LoRaWan-шлюза SX1301/SX1302. Решения на базе данных микросхем стоят на порядок дороже трансиверов на базе SX1276/SX1278, стоимость их начинается от 100$.

    В качестве узла можно использовать модули, которые достаточно широко представлены на Aliexpress, представляющие собой сочетание управляющего микроконтроллера, реализующего LoRaWAN протокол, и трансивера, либо использовать упомянутые уже трансиверы на базе SX1276/SX1278 и библиотеку для внешнего микроконтроллера, которая реализует LoRaWAN протокол. У RAKWireless представлена широкая линейка LoRaWAN устройств — шлюзов и узлов.

    Состав и описание набора

    RAK Starter KIT включает в себя:

    1. Шлюз — RAK2245 Pi HAT

    RAK starter kit - запускаем сеть LoRaWAN

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

    — Полнофункциональный модуль многоканального концентратора LoRaWAN® на базе SX1301. Процессор базовой полосы SX1301 имитирует 49 демодуляторов LoRa®, 10 параллельных трактов демодуляции, поддерживает 8 каналов восходящей линии связи и 1 канал нисходящей линии связи.

    — Мощность передачи до 27 дБм

    — Чувствительность приема до -139 дБм

    — Повышенная шумостойкость за счет улучшенной цепной фильтрации RF (дополнительная ПАВ)

    — Полная поддержка стека LoRaWAN 1.0.2

    — Поддерживаемые диапазоны: (EU433, CN470, IN865, EU868, AU915, US915, KR920, AS920 и AS923)

    — Интегрированный модуль GPS Ublox MAX-7Q

    — 40-контактный гнездовой разъем (полностью совместим с Raspberry Pi)

    — Модернизированный радиатор для лучшего рассеивания тепла и снижения теплового шума

    2. Узел — RAK811 LPWAN Evaluation Board (Wisnode/Wisduino)

    RAK starter kit - запускаем сеть LoRaWAN

    Особенности:

    — Форм-фактор Arduino Uno (совместимая распиновка)

    — Интегрированный микроконтроллер STM32 (может работать как Arduino-шилд или автономно)

    — Полностью управляемый через AT-команды

    — Прошивка с открытым стеком для разработчиков

    — Максимальная выходная мощность 100 мВт (20 дБм), регулируемая от 5 до 20 дБм.

    — Высокая чувствительность -148 дБм

    — Низкое энергопотребление: 11 мкА в режиме ожидания

    — Многоканальный двойной буфер данных (256 байт каждый).

    — Модуляция LoRa / FSK / GFSK / OOK, двусторонняя связь.

    3. Raspberry Pi 3B+ и SD-карта.

    RAK starter kit - запускаем сеть LoRaWAN

    В качестве управляющей платформы шлюза выступает одноплатный компьютер Raspberry Pi 3B+.

    Вот его характеристики:

    — Broadcom BCM2837B0, Cortex-A53, 64 бита, 4-ядерная SoC 1.4ГГц;

    — 1ГБ LPDDR2 SDRAM;

    — 2.4ГГц/5ГГц IEEE 802.11 b/g/n/ac беспроводная LAN (WLAN);

    — Bluetooth Low Energy v4.2 (BLE);

    — Gigabit Ethernet через USB 2.0 (максимальная пропускная способность 300МБ/с);

    — 4 порта USB 2.0;

    — Расширительный 40-контактный разъем GPIO;

    — Полноразмерный HDMI, порт дисплея MIPI DSI, порт камеры MIPI CSI;

    — Выходной 4-полюсный порт стерео звука/композитного видеосигнала;

    — Разъем MicroSD карты для ОС и хранения данных;

    — Возможность Power over Ethernet (PoE) (необходима отдельная плата PoE HAT);

    — Требования к источнику питания — 5В/2.5А DC через micro USB или GPIO.

    4. Антенны на 868МГц, антенна GPS, провода, перемычки, microusb-кабели

    RAK starter kit - запускаем сеть LoRaWAN

    В комплекте со шлюзом стандартная керамическая GPS-антенна и спиральная антенна на 868 МГц, затянутая в термоусадку. С узлом идёт антенна на 868 МГц в пластиковом корпусе с разъемом SMA (обратный SMA). Также в комплекте идут перемычки для конфигурации UART узла и провода для подключения его к внешней платформе.

    Набор пришел картонной коробке с логотипом RAKWireless, внутри кроме самого набора визитка и описание заказа. Вес всего набора порядка 280г.

    Шлюз и узел с установленной антенной.

    RAK starter kit - запускаем сеть LoRaWAN

    Настройка и подключение шлюза

    Подробная документация на английском есть на официальном сайте. На micro-sd карте уже запиcан образ ОС для Raspberry Pi с необходимым программным обеспечением для RAK2245 Pi HAT. При необходимости программное обеспечение можно обновить, скачав последнюю версию с сайта rakwireless и записав его на флешку с помощью etcher.

    Внимание, перед включением шлюза необходимо подключить антенны!

    После включения шлюза появится доступная Wi-Fi сеть Rakwireless_XXXX, пароль: rakwireless. Если нет возможности подключиться по Wi-Fi, можно подключиться по ethernet, настроив предварительно подключение, как описано в руководстве. Я использовал вариант беспроводного подключения.

    После подключения к сети, можно подключиться к шлюзу по SSH и произвести его настройку. Логин и пароль стандартные: pi:raspberry. Во-первых желательно поменять пароль для подключения. Затем включить режим клиента, чтобы шлюз мог подключаться к роутеру и имел возможность передавать данные на сервер. И наконец необходимо настроить параметры LoRaWAN. В разных регионах используются различные разрешенные частотные диапазоны и при покупке шлюза необходимо указать, на какой диапазон он должен быть настроен. Я выбрал EU868, хотя для России выделен диапазон частот несколько уже — RU864. Я не проверял, но предполагаю, что в данном случае шлюзы на диапазон EU868 и RU864 аппаратно идентичны и различие задается программно. Также необходимо выбрать к какой из двух сетей будет подключен шлюз: TheThingsNetwork или Сhirpstack. Я выбрал TheThingsNetwork. После настройки шлюза необходимо скопировать его идентификатор, который отображается в заголовке окна, он необходим для подключения шлюза к серверу.

    После перезагрузки шлюз подключится к указанной в настройках беспроводной сети.

    Теперь можно переходить непосредственно к подключению шлюза к облачной платформе.

    The Things network — это открытая, глобальная сеть Интернета вещей (IoT). Владельцами и операторами этой сети являются сами пользователи. На данный момент сеть насчитывает порядка 16000 шлюзов. Наибольшая плотность сети в западной и центральной Европе. В России же всего около 20 шлюзов.

    Для подключения шлюза, необходимо предварительно зарегистрироваться на сайте thethingsnetwork.org, далее добавить шлюз, указав его описание, идентификатор и координаты расположения. После успешной регистрации шлюз появится на карте. Мой шлюз единственный в моем городе и в радиусе 400 км.

    RAK starter kit - запускаем сеть LoRaWAN

    Настройка и подключение узла

    Подробную информацию по началу работы с WisNode можно найти здесь. Во-первых необходимо зарегистрировать приложение и устройство, добавив их описание и название. Одно приложение может содержать несколько устройств. После успешной регистрации будут получены три ключа, с помощью которых осуществляется аутентификация устройства в сети LoRaWAN.

    Наконец, можно тестировать передачу данных.

    Важно понимать, что для передачи данных в сети LoRaWAN нет необходимости иметь шлюз, главное, чтобы доступный шлюз находился в пределах досягаемости вашего узла.

    WisNode подключается к ПК по micro-usb, драйвера USB-UART конвертера CH340 устанавливаются автоматически, если этого не произошло, можно установить их вручную. После установки драйверов, в системе появится виртуальный com-порт. С помощью терминальной программы RAK Serial port tool, идущей в составе ПО, нужно подключиться к данному порту и произвести настройку узла. Во-первых необходимо указать регион и режим работы узла. Затем указать ключи, полученные при регистрации устройства на TheThingsNetwork, и подключиться к сети. После успешного подключения можно передавать данные, принятые пакеты можно видеть в консоли на TheThingsNetwork.

    Проверка дальности связи

    Отлично, данные передаются, но возникает самый главный вопрос: каково покрытие созданной сети? В идеальных условиях при прямой видимости можно добиться дальности связи порядка 10-15 км. При таком радиусе можно было бы покрыть сетью весь мой город. Но в условиях городской застройки дальность связи гораздо меньше и зависит в первую очередь от наличия препятствий между узлом и шлюзом. Для теста я разместил шлюз на окне лоджии, а антенну закрепил на стекле. Окна лоджии выходят на ту часть города, которая мало застроена и можно добиться относительно прямой видимости на достаточно большом расстоянии.

    RAK starter kit - запускаем сеть LoRaWAN

    Для картирования покрытия сети LoRaWAN есть специальный сервис — ttnmapper.org и мобильное приложение. Суть заключается в следующем: узел и смартфон находятся в непосредственной близости, узел передает пакеты, а смартфон координаты, данные о местоположении и параметрах переданных пакетов ассоциируются и наносятся на карту. Но приложение работавшее через WiFi отказалось работать через мобильный интернет, и оказалось полностью бесполезным. Поэтому осуществлялся контроль передачи пакетов в консоли TheThingsNetwork со смартфона. Узел настроен на передачу пакетов каждые 15 секунд.

    Тест № 1.

    Я начал двигаться от стены дома по тропинке и далее вдоль дороги, которые непосредственно видны из окна. Максимальной прямой видимости удалось добиться порядка 600 м. Пакеты передавались уверенно. Дальше дорога скрывалась за жилыми домами и прием пакетов прекращался. К сожалению, я не сохранил параметры передачи пакетов такие как RSSI, SNR, Estimated airtime. Отдельно стоит отметить, что на небольшом расстоянии порядка 200 м пакеты проходили даже из-за угла дома. Хороший результат, но можно и лучше.

    Тест № 2.

    Осмотрев окрестность с лоджии, я нашел точку на расстоянии около 2 км, где почти на уровне земли будет прямая видимость между передатчиком и приемником. Включив передатчик, я выдвинулся на данную точку. Изначально были сомнения в возможности связи из данной точки, потому что прямая видимость достигалась на высоте в пару метров от земли, и расположена эта точка в узком коридоре видимости между высоких зданий. Но вопреки всему редкие пакеты проходили, параметры передачи такие RSSI -114, SNR -10, время пролета 61.952 мс. Результат хороший, но очевидно, что при действительно прямой видимости можно добиться лучшего.

    Тест №3.

    Одним из самых высоких зданий в нашем городе является библиотека университета. Это здание хорошо видно из окон лоджии, на которой расположен шлюз. Расстояние по прямой составляет порядка 5,6 км. Я, как уже бывший студент университета, не имею доступа в библиотеку, а моя племянница вполне легально может туда попасть. Ей была поручена миссия выйти с передатчиком на смотровую площадку, выходящую в сторону моего дома, не привлекая к себе внимания, дабы избежать лишних вопросов. Она вышла на открытый балкон 8-го этажа и включила передатчик. Я даже не надеялся на получение сигнала с такого расстояния, но был весьма удивлен, когда увидел в консоли сначала входящий пакет активации, а затем и пакеты данных! Параметры принимаемых пакетов таковы: RSSI -112-115, SNR -7-2.5, время пролета 30.976 ms. Как по мне, результат отличный!

    RAK starter kit - запускаем сеть LoRaWAN

    Условия, в которых проводилось тестирование, возможно, несколько нагляднее показаны в видео.

    Заключение

    В заключение хочется поделиться своими впечатлениями. Результаты теста дальности связи, на мой взгляд, отличные и вполне соответствуют заявленным. Также хотелось бы отметить простоту настройки шлюза и узла, с которой я справился благодаря подробной документации, это касается как самого RAK Starter kit, так и платформы TheThingsNetwork. Что касается TheThingsNetwork, надеюсь в будущем сеть будет развиваться и в нашей стране. Препятствием к этому, на мой взгляд, является довольно высокая цена комплектующих и неоднозначный сценарий использования.

    Я сейчас занимаюсь обустройством рабочего места на лоджии и планирую установить шлюз на постоянное место в щиток на DIN-рейку и обеспечить его бесперебойную работу. Шлюз во время работы по моим замерам потребляет порядка 800 мА и для его питания подойдет качественное зарядное устройство, я же планирую использовать блок питания 5 В 2,4 А также в корпусе на DIN-рейку. В процессе работы радиатор шлюза нагревается до 40, если верить моему самодельному тепловизору, и, вероятно, придется добавить в корпусе вентиляционные отверстия. В будущем же стоит озаботиться, покупкой, либо изготовлением более качественной антенны и установкой её на улице. Я буду рад, если мой шлюз будет использоваться другими участниками сообщества.

    P.S.

    Если интересна тема LoRa/LoRaWAN, следите за обновлениями, скоро будет обзор еще одного интересного устройства.

Понравилась статья? Поделиться с друзьями:
Agkz.ru - блог файлообменника
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: