我有一些节点上安装了Xbee s2。zigbee网状拓扑中配置为路由器和协调器的zigbee模块。我想将数据从每个节点发送到其他一些节点。
问:我必须如何发送数据?这里有一个我想要的伪代码。我想知道zigbee堆栈中是否有任何API可以用于此目的,以及我是否遗漏了什么:
init_network;
fragment_data_to_frames;
fork();
if(process_is_parent)
for(i=0;iMbum_frames;i++){
send_frame(i);
wait(x miliseconds)// how much do I have to wait? or do I have to wait upon receiving ack,i.e. wait(ack(i));
}
}
if(process_is_child){
check_acknowledgment_packets();//does zigbee notify me that the frame is lost? or I have handle it by myself, e.g. by assuming frame is lost after specific time.
}
resend_lost_frames;在目的节点,如何取回数据?我是否必须自己处理它,通过检查序列号和配置文件,并连接数据包?否则Zigbee stack会帮我做的。
发布于 2016-08-08 07:39:26
处于API模式的XBee无线电模块将生成一个“传输状态”帧,以指示远程模块已接收到一个帧号。不能保证另一端的主机成功处理它,因为它是网络层的确认,而不是应用层的确认。
您计划发送多少数据?ZigBee是为低速、低量数据传输而设计的。如果你只是在使用XBee模块,你可以使用他们的专有协议(比如透明串行)。为了实现互操作性,您需要阅读ZigBee集群库以及它如何使用通用命令和属性在节点之间传输信息。
https://stackoverflow.com/questions/38799634
复制相似问题