- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于ZigBee多跳组播实验.
6.6 ZigBee多跳组播
在实际生活应用中,读者可能会遇到这样的问题:需要对特定的工程对象实现分组管理。如在医院中的医疗病房中,病人患病情况类型是不同的,年龄组分布也不尽相同。如果需要对特定分组的患者利用ZigBee网络通知相关消息,组播技术可以很方便地完成上述任务。
ZigBee网络中的节点分组,只有相同组号的组员才能收到每一个组员发出的消息。即工作组内设备可以接收组播数据包,而组外设备将无法接收,可实现对特定设备的分组管理。本节我们在TI官方例程SampleApp的基础上,定义了两个不同的分组对象。设备可以通过按键选择加入特定分组,并且可以同时存在两个分组中。当组内设备接收到按键组播消息后,连接在设备上的蜂鸣器发出“滴滴滴滴”的声音,并且LED灯闪烁,表示接收到组播消息。
实验目的与器材
1)实验目的
学习ZigBee协议的组播技术。
加深对Z-Stack2007/Pro协议栈的应用层流程认识。
学会使用蜂鸣器,并利用LED灯控制函数控制蜂鸣器。
2)实验器材
4个CC2530开发套件(1个协调器模块,3个路由器模块)。
4个蜂鸣器。
实验原理与步骤
1.硬件介绍
1)蜂鸣器
蜂鸣器是一种电子讯响器,采用直流电压供电,
图 蜂鸣器实物图及电路连接图
如图 所示,蜂鸣器的工作原理非常简单,主要由发声器、三极管单片机驱动。三极管导通,集电极电流蜂鸣器发声当输出低电平,三极管截止,蜂鸣器电流。方波通过控制方波的频率,蜂鸣器产生简单的音乐 16 位多播组 I D完成。 多播组是所有已登记在同一个多播组 ID 下节点的集合。一个多播信息发送给一个特定的目标组,即多播表中该组ID 所列的所有设备。
组播数据帧既可以由目标多播组的成员在网络中传播,也可以由非目标多播组成员在网络中传播。数据包发送由数据包的一个地址模式标志指明,确定转发到下一跳的方式。如果原始信息由组的成员创建,就被视为处于 “成员模式” ,按广播方式转发。如果原始信息不是组成员设备创建,就被视为处于 “非成员模式”,按单播方式转发一个组成员。如果一个非成员信息到达目标组的任何成员,不管下一个数据包由哪个设备进行转发,就会立即转换为成员模式类型。
实现组播通信,首先,要对组对象进行定义和初始化,将设备加入到特定组中,然后,向特定设备组发送组播消息,最后组内成员接收到消息后,进行相应消息处理。
1)组对象初始化
组播网络中,设备发出的消息经过组寻址才会发到具有相同组号的组员设备中。组号用来标记设备所属的组,而组寻址需要定义组播地址。
(1).在SampleApp.h中定义两者的组ID,以标记设备所属的组。
#define SAMPLEAPP_FLASH_GROUP1 0x0001
#define SAMPLEAPP_FLASH_GROUP2 0x0002
(2) 在程序SampleApp.c文件的SampleApp_Init函数中定义两个组对象aps_Group_t SampleApp_Group1;//定义组1和组2对象
aps_Group_t SampleApp_Group2;
//组1初始化
SampleApp_Group1.ID = 0x0001;
osal_memcpy( SampleApp_Group1.name, Group 1, 7 );
//组2初始化
SampleApp_Group2.ID = 0x0002;//
osal_memcpy( SampleApp_Group2.name, Group 2, 7 );
(3)组播地址定义。组播通信过程中,网络中节点是通过使用组地址进行网络寻址,并能够向特定分组节点传递消息。组播数据包应该具有设备寻址的地址模式、所属任务的端点号和组号。组1地址定义以及初始化为:
//定义组1地址
afAddrType_t SampleApp_Flash_DstAddr_Group1;
//设置地址模式为组播
SampleApp_Flash_DstAddr_Group1.addrMode = (afAddrMode_t)afAddrGroup;
SampleApp_Flash_DstAddr_Group1.endPoint = SAMPLEAPP_ENDPOINT;
//设置组地址为组1 ID号
SampleApp_Flash_DstAddr_Group1.addr.shortAddr = SAMPLEAPP_FLASH_GROUP1;
2)设备入组/离开组
(1).在ZigBee 网络实现组播通信时,设备加入组是通过设备端点加入到工作组中。
aps_AddGroup( SAMPLEAPP_ENDPOINT, SampleApp_Group );
初始情况下,编
您可能关注的文档
- 基于stm32病房呼叫系统---毕业论文.doc
- 基于STM32单片机的点阵显示设计..doc
- 基于STC单片机的智能语音控制小车.docx
- 基于STM32的ups不间断电源设计-电气121李承永.docx
- 基于STM32的机械臂运动控制与结构设计开题报告..doc
- 基于STM32的正交编码器接口应用..doc
- 基于STM32的锂电池充放电系统的设计.doc
- 基于STS的预付费代码表及售电系统..doc
- 基于systemview的眼图仿真与分析..doc
- 基于SVPWM的永磁同步电机控制系统的仿真..doc
- 2024-2025学年高中语文高二下册华东师大版教学设计合集.docx
- 2024-2025学年小学音乐四年级下册苏少版(2024)教学设计合集.docx
- 2024-2025学年高中心理健康高中一年级全一册北师大版(2016)教学设计合集.docx
- 2024-2025学年初中信息技术(信息科技)八年级下册桂科版(2008)教学设计合集.docx
- 2024-2025学年小学劳动四年级下册川民版《劳动教育》教学设计合集.docx
- 2024-2025学年小学信息技术(信息科技)五年级上册桂科版教学设计合集.docx
- 2024-2025学年初中科学九年级上册华师大版(2024)教学设计合集.docx
- 2024-2025学年小学信息技术(信息科技)第二册电子工业版(2022)教学设计合集.docx
- 2024-2025学年小学英语三年级上册冀教版(三起)(2024)教学设计合集.docx
- 2024-2025学年小学心理健康五年级大象版教学设计合集.docx
文档评论(0)