我正在构建一个LoRa网络,服务器和终端设备需要使用通常通过UDP传输数据的协议进行通信。由于这两种协议的作用完全不同,我需要找到一种方法来将两者结合起来。
我找到的一个解决方案是创建我自己的套接字API,它提供发送、接收、绑定。。。功能。但在这里我真的很挣扎。
我需要在哪个范围内编写套接字?仅仅编辑函数并依赖于其他给定的参数(如地址族)就足够了吗?或者我必须定义我自己的AF,如果是,在哪里/如何实现。
我期待着你的回答/想法。
根据LoRaWAN规范和我有限的经验,LoRaWAN不适合这种情况。如果你仍然想在LoRaWAN上使用UDP数据包,这里有一些提示。
-
我需要在哪个范围内编写套接字?
您可以使用sendUnconfirm函数,因为该函数不需要来自网关的ACK。LoRaWAN中的端口可以在UDP套接字中起到绑定的作用。
-
只编辑函数并依赖其他给定函数是否足够诸如地址族之类的参数?
LoRaWAN服务器有自己的特点和结构。通常,LoRaWAN服务器由packet_forworder、LoRaWAN server和LoRaWAN应用服务器组成。您可以使用这些功能在LoRaWAN应用程序服务器上构建自己的应用程序。这可以节省你很多时间。
强烈建议您阅读LoRaWAN规范(点击此处获取)和TTN LoRaWAN wiki,以帮助您更好地了解LoRaWAN。