我正在建立没有LoRaWAN协议的私有LoRa网络。该网络由大约50个节点(arduino pro mini)和一个网关(esp32)组成。为了节省能源,最好具有B类或TDMA之类的功能。我画了flow chart和
节点的主要过程:
-在启动/设置过程中,初始化lora,等待信标消息并设置本地时间
-在每个BP(信标周期),醒来,等待信标并同步本地时间,然后进入睡眠状态
-在每个SP(感应周期),唤醒,读取传感器并发送上行消息,等待下行消息X秒钟,呼叫执行器(如果有来自网关的指令),然后进入睡眠状态
网关的过程:
-在启动/设置过程中,初始化lora,连接wifi,连接NTP服务器并同步本地时间
-在每个BP,广播Beacon消息,从服务器读取并将指令保存在堆栈中,然后进入接收模式
-从Node接收上行链路,解码数据并发送到服务器,使用任何指令发送下行链路消息
问题是,我不知道是否存在任何类似的代码或库来简化生活。目前,我已经在两个节点上进行了测试,由于没有“先听后说”功能,因此我需要为每个上行消息保留更多的时间来保证安全,这是不理想的。