下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、节点绑定模块功能实现脚本草稿序号脚步1同学们,大家好。今天我们继续学习“学习模块五 智能家居综合应用系统设备编程与实施”,本堂课的内容是“节点绑定模块功能实现”2整个介绍分成4部分,节点绑定概念,节点绑定流程,关键代码分析,详细代码实现3第1部分节点绑定概念4在Zigbee网络中传感器和执行器安装在Zigbee终端节点上,由于Zigbee终端节点采用通用I/O口连接多种传感器和执行器,且Zigbee终端节点控制程序包含对所有传感器和执行器的操作代码,因此在终端节点实际安装时,可以灵活地部署所需要的传感器和执行器5当Zigbee网络建立后,可通过向Zigbee网络发送查询网络命令 ,Zigbee
2、协调器将会为每个节点返回一个32字节的响应包,其中包含节点的网络地址和物理地址。物理地址是节点程序烧写时指定的固定地址值,而网络地址则是动态生成的。当需要操作某传感器或执行器时,发送到Zigbee协调器的命令中需要指定该传感器和执行器所安放的节点的网络地址;6当系统安装部署完成后,传感器、执行器和Zigbee节点的对应关系则可以确定下来,从而可以获知设备对应的节点的物理地址在Zigbee网络建立后,计算机需要读取Zigbee网络的信息,通过返回的Zigbee节点信息可以获得节点物理地址和网络地址的对应关系。因此便可以通过物理地址为依据,完成传感器执行器设备与其对应Zigbee节点的网络地址的映
3、射,称为节点绑定。节点绑定完成后,程序便可知道设备正确的网络地址,从而便可以构建操作设备的命令进行操作设备。7 第2部分节点绑定流程8节点绑定子模块包含3个ListBox以及3个按钮。设备类型ListBox列举出Zigbee网络所有的传感器和执行器,需要程序设计时手动添加;物理地址ListBox列举出所有节点的物理地址;已绑定设备列表列举所有已进行节点绑定的设备;9首先点击更新网络信息按钮发送读取网络命令,并将返回的所有节点的物理地址添加到物理地址List;根据设备以及部署节点的对应关系,在设备类型List以及物理地址List中选中相应条目10然后点击绑定设备按钮将实现设备与网络地址
4、的关联,并将相关信息添加到已绑定设备列表中,绑定完成后方能发送命令操作该设备。若绑定有误,则在已绑定设备列表中选中该绑定项,然后点击取消绑定按钮,便可删除相应设备与节点的关联关系11第3部分关键代码分析12在读取网络信息时,协调器为每个节点返回一个32字节的数据包,为了存放每个节点的信息,添加一个DeviceItem类,包含5个字符串类成员对应于网络地址、节点类型、节点物理地址、父节点网络地址以及PANID。13节点绑定时将建立设备与节点的关联关系,为了存放关联关系,添加一个DeviceBinding类,包含3个字符串成员,对应于设备名称,节点物理地址以及节点网络地址15为了存储Zigbee节
5、点信息以及节点绑定信息,需要添加两个以设备项DeviceItem和绑定项DeviceBinding为类型的泛型List结构作为窗体成员变量。泛型List结构是C#常用的类型安全的数组数据结构,常用于元素个数不定的场合,其常用的声明、增加元素、删除元素以及元素清空方法如表格所示16在节点绑定中,还用到List结构的Find以及Exists两个高级方法。List结构 Exists()方法用于判断是否包含与指定谓词所定义的条件相匹配的元素,如果列表包含一个或多个与指定谓词所定义的条件相匹配的元素,则为 true;否则为 falseList结构Find()方法用于搜索与指定谓词所定义的条件相匹配的元素
6、,并返回整个 List 中的第一个匹配元素。17第4部分详细代码实现18首先在节点绑定属性页添加已绑定设备信息、设备类型以及物理地址三个列表框,和取消绑定、绑定设备以及更新网络信息三个按钮,其中设备类型列表框输入所有传感器和执行器设备19添加DeviceItem类用于描述节点信息,添加DeviceBinding类用于描述设备与节点的绑定关系。以DeviceItem类和DeviceBinding类为类型,添加两个泛型列表对象结构,用于存放系统所有的节点对象以及节点绑定20更新网络按钮执行时,清空所有的节点以及设备和节点的关联信息,并发送读取网络命令到Zigbee协调器。Zigbee协调器收到读网
7、络命令后,Zigbee协调器将会为 Zigbee网络中的每个节点返回一个32字节的响应包。计算机接收到节点读网络响应包,首先提取节点响应包中节点的物理地址,以物理地址为依据,判断该节点是否已经在节点列表中。如节点列表中不包含当前节点,则该节点为新到来节点,因此新申请节点对象,将节点响应包中的信息保存到节点对象中,并将节点对象添加到节点列表中。然后更新节点统计个数,并将该节点的物理地址添加到界面上的物理地址列表框中21绑定设备按钮执行时,首先确保在设备列表框和物理地址列表框中均选中某一项,然后再判断该设备是否在包含在已绑定节点列表中,如果不包含在已绑定节点列表中,表明该设备尚未进行节点绑定,因此新申请节点绑定对象,填充节点绑定对象信息,并将其添加到已绑定节点列表中,同时更新界面上已绑定设备信息。已绑定信息列表中的每一项内容由设备名称,节点物理地址以及网络地址的组合;若已包含在已绑定节点列表中,则该设备已经与其他节点进行绑定,弹出不能重复绑定的提示22取消绑定按钮执行时,首先
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026年广东省部编版小学劳动教育模拟试卷
- 2025-2026年网络营销师考试数据可视化策略模拟试题
- 高中语文必修上册第七单元景物描写赏析教学设计-以《小园幽径独徘徊荷韵荷香入画来》为例
- 小学六年级道德与法治教学设计:公民基本权利与义务的深度探究与实践
- 高中思想政治国防教育课《强国强军青春有为-新时代的国防担当》教学设计
- 初中九年级科学“生命活动的调节与稳态”跨生物化学复习教学设计
- 小学二年级道德与法治《这是我们班》第二课时“我们共建好班级”情境化活动教学设计
- 高三物理教案:能量量子化与光电效应高考一轮复习课
- 人教版初中数学七年级下册第11章不等式与不等式组数学活动导学案教学设计
- 初中英语七年级下册Unit 4 My friends写作教学设计
- 2025年青春期矮身材儿童身高改善的药物治疗
- 2026年金川集团招聘试题及答案
- 2026年注册安全工程师考试建筑施工(初级)安全生产实务试卷与参考答案
- 2026上海闵行区机关事业单位编外人员招聘21人考试备考试题及答案详解
- 2026 年粒细胞缺乏患者保护性隔离护理措施
- 2025年中医养生学试试题及答案
- 布袋除尘器操作规程
- 2026年四川高考物理考试试卷真题及答案
- 2025-2030英国金融科技监管沙盒机制创新效果分析
- 9 什么比猎豹的速度更快 课件
- 2026年考研政治考试真题(完整版)
评论
0/150
提交评论