Поддержка LoRa и LoRaWAN в Zephyr OS

История LoRa началась в 2009 году, когда французская компания Cycleo изобрела LoRa. Начиная с декабря 2019 года, Zephyr OS поддерживает LoRa (Long Range). С тех пор сообщество проявило огромный интерес к расширению своей поддержки. Совсем недавно в Zephyr OS была добавлена поддержка LoRaWAN (маломощная глобальная сеть). Это обеспечит настоящую сетевую поддержку Zephyr OS через LoRa. Он работает на лицензированных бесплатных частотах ниже гигагерца (865 МГц – Индия, 868 МГц – Европа и т. д.). Это идеальный выбор для приложений с низкой скоростью передачи данных и большого радиуса действия.

Что такое LoRaWAN?


LoRaWAN – это MAC-уровень, который находится поверх LoRa. Согласно модели OSI, LoRaWAN – это уровень MAC (управления доступом к среде), а LoRa – это уровень PHY (физический). Протокол LoRa закрыт, что означает, что он принадлежит Semtech, а спецификации LoRaWAN открыты для общественности. Эталонная реализация доступна в репозитории GitHub.

Конечные узлы передают данные на шлюз, и шлюз опирается на сообщение на сетевом сервере. Сетевой сервер состоит из трех компонентов: сетевого сервера, совместного сервера и сервера приложений. Связь между конечным узлом и шлюзом LoRaWan происходит через технологию LoRa, а между шлюзом и сетевым сервером – через механизм TCP/IP.

Поддержка LoRaWAN в Zephyr OS

После успешного добавления поддержки LoRa в Zephyr OS пришло время для LoRaWAN. Вместо того, чтобы писать код с нуля, его использовали повторно. Это произошло потому, что существующий код поддерживал многие драйверы LoRa. Никаких изменений в репозитории LoRaMac-Node не требовалось, кроме включения криптографических драйверов.

Разработка LoRaWAN API-это сложная задача по сравнению с LoRa. Это связано с синхронным (восходящий канал) и асинхронным (нисходящий канал) характером спецификаций LoRaWAN. Первоначальная реализация поддерживает как динамический (OTAA), так и статический (ABP) способы подключения к серверу LoRaWAN, но нет поддержки Downlink.

Планы на будущее?

В настоящее время он поддерживает только классы устройств CLASS-A (все конечные устройства). Планируется добавить поддержку классов устройств CLASS-B и CLASS-C. Существует потенциальный план добавления поддержки безопасных элементов для хранения ключей и состояний. Это становится очень важным аспектом, когда нам нужно развернуть LoRaWAN на устройствах.

Для тех, кто хочет внести свой вклад, самая экономичная плата – 96Boards Wistrio. Желающие также могут присоединиться к сообществу Slack здесь.

Все изображения были взяты из слайдов презентации разработчика ядра Linaro Маниваннана Садхасивама с Open Source Summit 2020.

Выражаем свою благодарность источнику из которого взята и переведена статья, сайту cnx-software.com.

Оригинал статьи вы можете прочитать здесь.

0 0 votes
Article Rating
Подписаться
Уведомление о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

0 Комментарий
Inline Feedbacks
View all comments