我正在构建一个LoRa网络,服务器和终端设备需要使用通常通过UDP传输数据的协议进行通信。由于这两个协议的行为完全不同,我需要找到一种方法将这两个协议结合起来。
我找到的一个解决方案是创建自己的套接字API,它提供send,receive,bind,...函数。但在这里,我实际上在苦苦挣扎。
我需要在哪个范围内编写套接字?仅编辑函数并依赖其他给定参数(如地址族)是否足够?或者我必须定义自己的自动对焦,如果是,那么在何处/如何实现。
我期待着你的回答/想法。
答案 0 :(得分:0)
根据LoRaWAN规范和我有限的经验,LoRaWAN不适合这种情况。如果你仍然想在LoRaWAN上使用UDP数据包,这里有一些提示你的问题。
我需要在哪个范围内编写套接字?
您可以使用 sendUnconfirm 功能,因为此功能不需要来自网关的ACK。 LoRaWAN中的端口可以在UDP套接字中扮演绑定角色。
仅仅编辑函数并依赖于给定的其他函数就足够了 地址族等参数?
LoRaWAN服务器有自己的功能和结构。通常,LoRaWAN服务器由packet_forwarder,LoRaWAN服务器和LoRaWAN应用服务器组成。您可以使用这些功能在LoRaWAN应用服务器上构建自己的应用程序。它可以节省你很多时间。
强烈建议您阅读LoRaWAN规范(Get it here)和TTN LoRaWAN wiki,以帮助您更好地了解LoRaWAN。