1、网络协调器与光照度无线传感器传感网 (第三次 )一、实验目的1、熟练掌 0 握传感网数据通信协议的应用2、掌握光照度采集的原理3、在 zigbee 协议栈中添加光照度的采集4、掌握串口在 zigbee 协议栈中的底层驱动5、掌握 ADC 在 zigbee 协议栈中的底层驱动二、实验内容1、学习实验指导书的“传感网数据通信协议 ”、 “协议栈基础知识点” 、 “传感网协议栈底层驱动的操作流程”2、参照所选的传感器节点类型,根据实验指导书对应的实验要求开展实验。三、实验设备(1)硬件设备 光照度传感器电路板一块 网络协调器一块 PC 机一台 CC-DEBUG 仿真器一台(2)软件工具 IAR Em
2、bedded Workbench Evaluation for 8051 8.10 版 PL2303-USB 转串口驱动程序 串口调试软件 4.5四、实验原理流程本实验中,光照度为采集类节点,采集信号类型为电压型,光照度传感器的原理以及硬件电路的设计参照传感器实验指导书。因为输出是电压型模拟量信号,所以需要采用 AD 转换。有关在协议栈中 ADC 底层驱动程序添加和参考 3.2 节介绍。光照度传感器节点定时将采集的光照度通过 zigbee 无线网络发送数据到网络协调器,周期为 500 毫秒。不需要网络协调器发送控制命令控制热电阻节点。五、实验步骤步骤一、打开工程文件将光照度传感器文件夹下的 h
3、al_board_cfg.h 文件和文件夹下的 SampleApp.c文件拷贝到相应的工程代码文件中,覆盖源文件。打开的 SampleApp.eww 工程。步骤二、网络号和信道号设置选择默认的箱号、信道号和网络号:步骤三、添加底层 ADC 采集硬件驱动修改 ADC 驱动的预编译代码:步骤四、应用层任务处理函数根据任务处理函数图,修改函数的相应的代码。其中 Sensor_Perform(0) 为传感器节点数据无线发送数据的函数步骤五、在应用层添加 zigbee 无线接收数据的处理在应用层实现,在应用层任务处理函数添加无线接收数据处理函数(SampleApp_ProcessEvent )中调用了
4、zigbee 无线接收数据处理函数SampleApp_MessageMSGCB( MSGpkt )。在本实验中,光照度节点发送无线采集数据到网络协调器,网络协调器接收无线信号时,首先判断接收到无线信号的类型是哪一种(无线组播、无线广播、点对点通信、节点入网信息) 。步骤六、节点采集数据处理函数中添加光照度采集的信号处理需要在预编译定义中添加节点地址 CHGQ=0x03:步骤七、实验结果在工程中,分别选择协调器模块设备和终端模块设备,将程序下载到网络协调器和光照度的板子,将网络协调器插到 PC 机,给光照度板子上电,观察结果。六、问题回答1、本实验的目的是什么? 熟练掌握传感网数据通信协议的应用
5、 掌握光照度采集的原理 在 zigbee 协议栈中添加光照度的采集 掌握串口在 zigbee 协议栈中的底层驱动 掌握 ADC 在 zigbee 协议栈中的底层驱动2、通过本实验学到了哪些知识?哪些知识比过去更清晰了?大体上了解了光照传感器的应用原理;对光照传感器的应用层的处理函数的实现有了新的认识。对 Zigbee 接受数据后,对数据的处理方式比以前更清晰3、分哪几个步骤完成?每步实现什么目的?最终实现了什么目的?步骤一、打开工程文件目的:在 IAR 中编辑和编译工程文件和源代码,便于编译、下载步骤二、网络号和信道号设置目的:设置网络号、信道号、实验箱号一致步骤三、添加底层 ADC 采集硬件
6、驱动目的:添加预编译选项,使硬件底层 ADC 能够采集硬件驱动步骤四、应用层任务处理函数目的:根据任务处理函数图,修改函数代码,Sensor_Perform(0)发送数据函数步骤五、在应用层添加 zigbee 无线接收数据的处理目的:添加无线接收数据处理函数(SampleApp_ProcessEvent)修改数据处理函数 SampleApp_MessageMSGCB( MSGpkt )。步骤六、在传感器节点采集数据处理函数中添加光照度采集的信号处理目的:需要在预编译定义中添加节点地址 CHGQ=0x03;步骤七、实验结果目的:将编译好的实验工程下载到电路板上,观测实验结果最终目的:理解光照传感
7、器在 Zigbee 无线传感网的工作原理;加深对 Zigbee 协议和无线传感网数据通信协议的理解和实际应用的知识4、本实验中还有哪些知识或概念不清晰?对传感网通信协议的原理不是很懂,还有实验过程中,为什么设置信道号、箱号和其他人的不同,但是能够接收到其他人的数据。对数据发送和接受的对应和唯一性怎么去理解七、实验心得1、第三次实验的时候,我们班很少人做出来了。 (当时我做的是温湿度传感器实验,没有收到实验数据)询问其他人以后,发现只有当终端电路板的黄色信号灯亮,才代表在发送数据。但是我们实验室的每一块终端电路板接上电源后黄色的信号灯都没有亮,就是说大部分板子是坏的。所以第三次的实验接收不到自己
8、的终端发送的数据2、第四次去做实验的时候,找到了好的终端电路板。不过下载到终端以后,黄色的闪光灯只在刚插上电源的时候亮,就是说每次只会发送一次数据。以后需要数据就必须不断的拔掉和插上电源。最后发现是编译代码中有一个警告:一个 int 型的变量被重复定义,并声明为 static 静态的 (表示该变量的值不能被改变),去掉 static 声明后。重新编译下载得到正确实验数据网络协调器与热释电无线传感器传感网(第四次)一 、 实验目的1、熟练掌握传感网数据通信协议的应用2、掌握热释电采集的原理3、在 zigbee 协议栈中添加热电阻的采集4、掌握串口在 zigbee 协议栈中的底层驱动5、掌握 AD
9、C 在 zigbee 协议栈中的底层驱动二、实验内容1、学习实验指导书的“传感网数据通信协议” 、 “协议栈基础知识点” 、 “传感网协栈底层驱动的操作流程”2、参照所选的传感器节点类型,根据实验指导书对应的实验要求开展实验。三 、实验设备(1)硬件设备热释电传感器电路板一块 网络协调器一块 PC 机一台 CC-DEBUG 仿真器一台(2)软件工具 IAR Embedded Workbench Evaluation for 8051 8.10 版 PL2303-USB 转串口驱动程序 串口调试软件 4.5四 、实验原理流程介绍当热释电红外节点没有感应信号时,热释电红外节点通过 ZigBee 无
10、线网络向协调器发送无人移动数据,传输间隔为 500 毫秒。如有感应信号时,应立即通过 ZigBee 无线网络向协调器发送有人移动数据。协调器每接收到一组数据,就向 PC 机或网关发送一组数据,另外,协调器还周期性的向 PC 机或网关发送本网络的相关信息。五 、实验步骤步骤一:打开工程文件将热释电传感器文件夹下的 hal_board_cfg.h 文件和 SampleApp.c 文件拷贝到相应的实验文件夹下,打开 SampleApp.eww 工程。步骤二:配置箱子号、网络号和信道号在工程中的 TOOL/f8wConfig.cfg 文件中修改箱子号、信道号和网络号一致步骤三:添加底层 ADC 采集硬
11、件驱动底层 ADC 驱动的详情在 3.2 节中,使能 ADC,需要在hal_board_cfg.h(HALcommonhal_assert.chal_board_cfg.h)文件中的 474 行。步骤四:设置应用层任务处理函数步骤五:在应用层添加 zigbee 无线接收数据的处理igBee 无线接收函数的原理可以参照“zigbee 通信实验指导书” ,这里只在应用层实现,在应用层任务处理函数添加无线接收数据处理函数 SampleApp_ProcessEvent()中调用了 zigbee 无线接收数据处理函数 SampleApp_MessageMSGCB( MSGpkt )。步骤六、在传感器节点
12、采集数据处理函数中添加热释电采集的信号处理添加热释电采集数据的处理。选中路由器设备后,需要在预编译定义中添加节点地址 CHGQ=0x08,表示选中的终端设备是热释电采集节点(如下图所示) 。步骤七:编译下载执行全编译成功后,分别将代码下载烧制到终端和协调器模块上下载完成后,在串口运行的结果如下图所示:数据帧 ID DLength D_Addr NodeAddr Data P_Add S_Addr Check说明 帧头数据长度目的地址节点地址数据信息父亲地址源地址设备类型异或校验值长度(字节)1 1 2 1 10 2 2 1 1数据内容为:FD 0B 00 00 08 4E AA AA AA A
13、A AA AA AA AA AA 00 00 00 01 45 D5用 JAVA 编写校验位的校验过程,如下图所示:六、问题解答1、本实验的目的是什么? 熟练掌握传感网数据通信协议的应用 掌握热释电采集的原理 在 zigbee 协议栈中添加热电阻的采集 掌握串口在 zigbee 协议栈中的底层驱动 掌握 ADC 在,zigbee 协议栈中的底层驱动2、通过本实验学到了哪些知识?哪些知识比过去更清晰了?学到了网络协调器接收传感器节点数据转发到 PC 机或网关(上行采集帧) 。采集的数据一共有 21 个,最后一个为校验位。该数据帧校验方式为异或校验,即由帧头到数据控制信息所有字节异或得到。对数据校
14、验位的异或校验的不住了解的比过去更加清晰3、本实验分哪几个步骤完成?每个步骤实现什么目的?最终实现了什么目的?步骤一:打开工程文件目的:打开源代码文件工程,便于修改和编译步骤二:配置箱子号、网络号和信道号目的:配置箱子号、网络号和信道号一致步骤三:添加底层 ADC 采集硬件驱动目的:修改相关的预编译命令,添加使能 ADC步骤四:设置应用层任务处理函数目的:理解应用层处理的原理和大致流程步骤五:在应用层添加 zigbee 无线接收数据的处理目的:了解 ZIGBEE 无线接收数据的原理和流程步骤六:在传感器节点采集数据处理函数中添加热释电采集的信号处理目的:设置热释电采集函数步骤七:编译下载目的:
15、查看实验结果,了解数据校验位的具体的生成过程最终目的:实现了热释电传感器的数据采集和传送到 PC 端的过程4、本实验中还有哪些知识或概念不清晰?对应用层的任务处理函数的处理原理以及 Zigbee 接受无线数据的原理不是很清晰七、实验总结1、实验过程中,多次做温湿度时,代码下载到终端后。发送数据的指示灯一直没有显示。于是换了好几个模块,更改了好几次相应的箱号,信道号进行测试。最后选择了热释电无线传感器模块的实验(应该是实验终端板大多数损坏的原因)2、当在串口上看到实验数据时,可以接收到其他模块板子的数据。对数据位的每一位的含义不是很了解。询问学长助教后,并查看实验指导书的相应的数据采集振采集数据的原理介绍,最终知道了数据的每一位的对应含义,以及数据异或校验的具体的校验方法。