Создание собственного API сокета для отправки пакетов UDP через LoRaWAN
Я строю сеть LoRa, где сервер и конечное устройство должны обмениваться данными, используя протокол, который обычно передает данные через UDP. В связи с тем, что эти два протокола действуют совершенно по-разному, мне нужно найти способ объединить эти два протокола.
Одно решение, которое я нашел, - это создать собственный API сокетов, который обеспечивает функции send, receive, bind, .... Но здесь я на самом деле борюсь.
В каком объеме мне нужно написать свой сокет? Достаточно ли просто редактировать функции и полагаться на другие заданные параметры, такие как семейства адресов? Или я должен определить свой собственный AF и если да, то где / как это достигается.
Я с нетерпением жду ваших ответов / идей.
1 ответ
Согласно спецификации LoRaWAN и моему ограниченному опыту, LoRaWAN не подходит для такой ситуации. Если вы все еще хотите использовать UDP-пакеты по LoRaWAN, вот несколько советов по вашему вопросу.
В каком объеме мне нужно написать свой сокет?
Вы можете использовать функцию sendUnconfirm, так как эта функция не требует подтверждения от шлюза. И порт в LoRaWAN может играть роль связывания в UDP-сокете.
Достаточно ли просто редактировать функции и полагаться на другие заданные параметры, такие как семейства адресов?
Сервер LoRaWAN имеет свои особенности и структуру. Обычно сервер LoRaWAN состоит из package_forwarder, сервера LoRaWAN и сервера приложений LoRaWAN. Вы можете использовать эти функции для создания собственного приложения на сервере приложений LoRaWAN. Это может сэкономить вам много времени.
Настоятельно рекомендуется прочитать спецификацию LoRaWAN (получить ее здесь) и TTN LoRaWAN wiki, чтобы помочь вам лучше понять LoRaWAN.