物联网ZigBee进阶系列之4:ZStack组播通信

  • 物联网
  • gjianw217
  • LV4工程师
  • |      2016-09-30 23:59:57
  • 浏览量 1308
  • 回复:3
本帖最后由 gjianw217 于 2016-10-1 17:10 编辑 1多播简述 多播也可以称为组播,在网络技术的应用并不是很多,网上视频会议、网上视频点播特别适合采用多播方式。因为如果采用单播方式,逐个节点传输,有多少个目标节点,就会有多少次传送过程,这种方式显然效率极低,是不可取的;如果采用不区分目标、全部发送的广播方式,虽然一次可以传送完数据,但是显然达不到区分特定数据接收对象的目的。采用多播方式,既可以实现一次传送所有目标节点的数据,也可以达到只对特定对象传送数据的目的。  IP网络的多播一般通过多播IP地址来实现。多播IP地址就是DIP地址,即224.0.0.0239.255.255.255之间的IP地址。 在一般的组网过程中,主机之间一对一组的通讯模式,也就是加入了同一个组的主机可以接受到此组内的所有数据,网络中的交换机和路由器只向有需求者复制并转发其所需数据。主机可以向路由器请求加入或退出某个组,网络中的路由器和交换机有选择的复制并传输数据,即只将组内数据传输给那些加入组的主机。这样既能一次将数据传输给多个有需要(加入组)的主机,又能保证不影响其他不需要(未加入组)的主机的其他通讯。 组播的优点:1)需要相同数据流的客户端加入相同的组共享一条数据流,节省了服务器的负载。具备广播所具备的优点。2)由于组播协议是根据接受者的需要对数据流进行复制转发,所以服务端的服务总带宽不受客户接入端带宽的限制。IP协议允许有2亿6千多万个组播,所以其提供的服务可以非常丰富。 3)此协议和单播协议一样允许在Internet宽带网上传输。 组播的缺点:1)与单播协议相比没有纠错机制,发生丢包错包后难以弥补,但可以通过一定的容错机制和QOS加以弥补。2)现行网络虽然都支持组播的传输,但在客户认证、QOS等方面还需要完善,这些缺点在理论上都有成熟的解决方案,只是需要逐步推广应用到现存网络当中。 2 ZigBee组播实现 ZigBee的组播过程中,就是网络中所有节点设备被分组后组内相互通信的过程。确定通信对象的就是节点的组号。首先定义两个结构体变量组播通信定义和分组内容定义,如图所示: 加入组播参数的配置 其中WEBEE_GROUPSampleApp.h里面定义组号为2 然后,接下来添加自己的组播发送函数,如下图所示 其中SampleApp.h中加入WEBEE_GROUP_CLUSTERID 的定义如下 最后,在发送方面,实现周期性组播发送数据 在接收方面,修改接收ID 3 实验结果 将修改后的程序分别以协调器、路由器、终端的方式下载到3个设备,把协调器和路由器组号设置成0x0002,终端设备组号设成0x0003。连接串口,可以观察到只有0x0002的两个设备相互发送信息。
  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:3
kk118a 2016-10-01
删除
0   回复
举报
发布
amrogue 2016-10-01
期待你的大作。
0   回复
举报
发布
瞎折腾 2016-10-01
既然研究中就先不要发帖,请三天内补贴,不然只能删除空白贴!希望尽快完成
0   回复
举报
发布
x
收藏成功!点击 我的收藏 查看收藏的全部帖子