2023年中南大学刘伟荣物联网无线传感器网络实验报告.pdf

上传人:文*** 文档编号:93009277 上传时间:2023-06-21 格式:PDF 页数:38 大小:3.94MB
返回 下载 相关 举报
2023年中南大学刘伟荣物联网无线传感器网络实验报告.pdf_第1页
第1页 / 共38页
2023年中南大学刘伟荣物联网无线传感器网络实验报告.pdf_第2页
第2页 / 共38页
点击查看更多>>
资源描述

《2023年中南大学刘伟荣物联网无线传感器网络实验报告.pdf》由会员分享,可在线阅读,更多相关《2023年中南大学刘伟荣物联网无线传感器网络实验报告.pdf(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、中南大学信息科学与工程学院物联网无线传感器网络实徐辍告班 级:物联网学 号:_ _ _ _ _ _ _ _ _ _ _姓 名:_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _指导老师:刘伟荣实验时间:2 02 3 年 4 月 1 1 日目录实验一基础实验(LED实验).-2-1.1 实验目的.-2-1.2 实验设备及工具.-2-1.3 实验原理.-2-1.4 实验步骤及结果.-5-实验二 射频实验.-6-2.1 实验目的.-6-2.2 实验内容.-6-2.3 实验设备及工具.-7-2.4 实验原理.-7-2.5 实验步骤.-9-2.6 实验数据分析及结论.-10-实验三 Zsta

2、ck组网实验.-1 1 -3.1 实验目的.-1 1 -3.2 实验内容.-1 1 -3.3 预备知识.-12-3.4 实验设备及工具.-12-3.5 实验原理.-12-3.6 实验步骤.-17-3.7 实验数据分析及结论.-18-实验四综合实验(传感器网络).-18-4.1 智能网关程序设计.-19-4.2 Android用户控制程序设计.-20-4.3 Zigbee节点控制程序设计.-31-4.4 平台控制操作.-35-实验一基础实验(LED实验)1.1 实验目的 通 过 I/O 控制小灯闪烁的过程。在 Z X 2 5 3 0A 型 C C 2 5 3 0节点板上运营自己的程序。1.2 实

3、验设备及工具 硬件:Z X 2 5 3 0A 型底板及C C 2 5 3 0节点板一块,U S B 接口仿真器,P C 机 软件:P C 机操作系统W in X P,I A R 集成开发环境。1.3 实验原理通 过 C C 2 5 3 0的 I/O 引脚,输出高低电平来控制L E D 的亮与灭。本实验选择P 2 _ 0 I/O 引脚,将 P 2 _ 0置成高电平即点亮L E D0如图 为 L E D 小灯驱 动电路,D S 1 为 L E D 小灯,P 2 _ 0引脚使用C C 2 4 3 0/1 的内置电源驱动L E D 小灯。C C 2 5 3 0的 I/O 控制口一共有2 1 个,提成3

4、组,分别是P O、P 1和 P 2;由上面的对照表可以看出L E D 1 所相应的I/O 口为P l _ 0,L E D 2所相应的I/O 口为P l _ 2。下面我们来看一下本次实验所用到的控制寄存器中每一位的取值所相应的意义:P 1 D I R (P1方向寄存器,P 0D I R同理):D71)6D5D4D3D2D1D0Pl.7的方P 1.6的方P 1.5的方P 1.4的方P 1.3的方P 1.2的方Pl.1的方P 1.0的方向向向向向向向向0:输入0:输入0:输入0:输入0:输入0:输入0:输入0:输入1:输出1:输出1:输出1:输出1:输出1:输出1:输出1:输出P1SEL(P l功能

5、选择寄存器,POSEL同理)D7D60 5D4D3D2D1D0P1.7的功P 1.6的功P 1.5的功P 1.4的功P 1.3的功P 1.2的功Pl.1的功P 1.0的功能能能能能能能能0:普通0:普通0 :普通0:普通0 :普通0 :普通0 :普通0 :普通1/01/0I/OI/O1/01/01/0101:外设功1:外设功1:外设功1:外设功1:外设功1:外设功1:外设功1:外设功能能能能能能能能寄存器的设立:将控制寄存器的某一位置1:例:P1DIR|=0X02;解释:1=表达按位或运算,0X 02为十六进制数,转换成二进制数为0000 0010,若P1DIR本来的值为0011 0000,或

6、运算后P1DIR的 值 为0011 0010c根据上面给出的取值表可知,按位与运算后P l_ l的方向改为输出,其 他1/0 口方向保持不变。将控制寄存器某一位清0:例:P1DIR&=0X02;解释:&一 表达按位与运算,”“运算符表达取反,0X02为0000 0010,即飞X 02为H H HOlo若P1DIR本来的值为0011 0010,与运算后P1DIR的值为00110000o程序源码/引入头文献include 含 各 SFR 的定义)定义LED弓|脚#define led 1 P1_O#define led2 Pl_2void Delay(unsigned char n)(unsign

7、ed char i;unsigned int j;for(i=0;i n;i+)for(j=l;j10000;j+)/引入CC2530所相应的头文献(包/定 义 LED1为Pl_0 口控制定义LED2为P1 口控制void main(void)(P1SEL=0 x00;设立 Pl 为普通 I/O 口P1DIR|=0 x05;/设立 P1.0 P1.2 为输出ledl=l;初始化,2 个 led灯全熄led2=1;while(l)开始循环ledl=0;/ledl 闪烁Delay(lO);ledl=1;Delay(10);led2=0;/led2 闪烁Delay(10);led2=1;Delay(

8、lO);1.4实验环节及结果1.4.1对的连接下载线和Z X 2 5 3 0 A 型 CC2 5 3 0 节点板,打 开 Z X 2 5 3 0 A 型 CC2 5 3 0 节点板电源。1.4.2 在文献夹“基础实验2 LE D”下打开工程l ed,编译工程,并下载到CC2 5 3 0 节点板。1.4.3 观测LE D的闪烁情况。1.4.4 修改延时函数,可以改变LE D小灯的闪烁间隔时间。1.4.5 重新编译,并下载程序到CC2 5 3 0 节点板,观测LE D的闪烁情况。实验二射频实验2.1 实验目的 在Z X 2 5 3 0 A型CC2 5 3 0节点板上运营相应实验程序。熟悉通过射频通

9、信的基本方法。练习使用状态机实现收发功能。2.2 实验内容接受节点上电后进行初始化,然后通过指令I S RX ON启动射频接受器,等待接受数据,直到对的接受到数据为止,通过串口打印输出。发送节点上电后和接受节点进行相同的初始化,然后将要发送的数据输 出 到TX F I F O中,再调用指令I S TX ONCCA通过射频前端发送数据。2.3 实验设备及工具 硬件:Z X 2 5 3 0 A型CC2 5 3 0节点板2块、U S B接口的仿真器,PC机 Pen t i u m l OO 以上。软件:P C机操作系统W i n X P、I A R集成开发环境、串口监控程序。2.4 实验原理发送节点

10、通过串口接受用户的输入数据然后通过射频模块发送到指定的接受节点,接受节点通过射频模块收到数据后,通过串口发送 到p c在串口调试助手中显示出来。假如发送节点发送的数据目的地址与接受节点的地址不匹配,接受节点将接受不到数据。以下为发送节点程序流程图:以下为接受节点流程图2.5实验环节2 .5.1打开光盘“无线射频实验2.点对点通信”双 击p 2 p.ew w打开本实验工程文献。2 .5.2打 开m ai n,c文献下面对一些定义进行介绍RF _CH A NNE L此宏定义了无线射频通信时使用的信道,在多个小组同时进行实验是建议每组选择不同时信道。但同一组实验中两个节点需要保证在同一信道,才干对的

11、通信。P A N _ I D个 域 网I D标示,用来表达不同在网络,在同一实验中,接受和发送节点需要配置为相同的值,否则两个节点将不能正常通信。SEN D_ A DDR发送节点的地址RECV _ A DDR接受节点的地址N O DE_ TY P E节点类型:0接受节点,1:发送节点,在进行实验时一个节点定义为发送节点用来发送数据,一个定义为接受节点用来接受数据。2.5.3 修 改N O DE_ TY P E的 值 为0,并编译下载到节点板。此节以下称为接受节点。2.5.4修 改N 0 DE_ TY P E的 值 为1,并编译下载到此外一个节点板。此节点板以下称为发送节点。2.5.5 将接受节

12、点的串口与p c的串口相连,并 在p c端打开串口调试助手,配置波特率为1 1 5 2 0 0。2.5.6 先将接受节点上电,然后将发送节点上电。2.5.7 从串口调试助手观测接受节点收到的数据。2.5.8修改发送数据的内容,然后编译并下载程序到发送节点,然后从串口调试助手观测收到的数据。2.5.9 修改接受节点的地址,然后重新编译并下载程序到接受节点,然后从发送节点发送数据观测接受节点能否对的接受数据。2.6实验数据分析及结论发送节点将数据发送出去后,接受节点接受到数据,并通过串口调试助手打印输出。发送数据的最大长度为1 2 5 (加上发送的数据长度和校验,实际发送的数据长度为1 2 8字节

13、)。实验三Zstack组网实验3.1 实验目的 理 解z ig b e e协议及相关知识。在Z X2 5 3 0 A型CC2 5 3 0节点板上实现自组织的组 在Z St a ck协议栈中实现单播通信。3.2 实验内容先启动协调器节点,协调器节点上电后进行组网操作,再启动路由节点和终端节点,路由节点和终端节点上电后进行入网操作,成功入网后周期的将自己的短地址,父节点的短地址,自己的节点I D 封装成数据包发送给协调器节点,协调器节点接受到数据包后通过串口传 给 P C,从 P C 上的串口监控程序查看组网情况。发送数据格式为(1 6 进制):F F 源节点(1 6 b it)父节点(1 6 b

14、 it)节点编号I D(8b it)例如FF 4 B 0 0 0 0 0 0 0 1,表达0 1 号节点的网络地址为0 0 4 B,发送数据到父节点,其网络地址为0 0 0 0(协调器)。3.3 预备知识3.3.1 了解CC2 5 3 0 应用程序的框架结构。3.3.2 了解并安装z s t a ck 协议栈。3.3.3 了解Z ig Be e 协议进行组网的过程。3.4 实验设备及工具 硬件:DZ 2 5 3 0 型 CC2 5 3 0 节点板、USB接口的仿真器,P C 机P e n t ium l O O 以上。软件:P C 机操作系统W in XP、I A R集成开发环境、Z TO O

15、 L 程序。3.5 实验原理程序执行的流程图如图5-4 所示,在进行一系列的初始化操作后程序就进入事件轮询状态。对 于 终 端 节 点,若 没 有 事 件 发 生 且 定 义 了 编 译 选 项P O W E R _ S A V I N G,则节点进入休眠状态。协 调 器 是Zigbee三种设备中最重要的一种。它负责网络的建立,涉及信道选择,拟定唯一的PAN地址并把信息向网络中广播,为加入网络的路由器和终端设备分派地址,维护路由表等。Z-Stack中打开编译选项ZDO_COORDI NATOR,也 就 是 在I AR开发环境中选择协调器,然后编译出的文献就能启动协调器。具体工作流程是:操作系统

16、初始化函数osal_start_system调用DAppI nit初始化函数,ZDAppI nit 调用 ZDOI nitDevice 函数,ZDOI nitDevice 调用ZDApp_NetworkI nit 函数,在此函数中设立 ZDO_NETWORK_I NI T 事件,在ZDApp_event_loop任务中对其进行解决。由 第 一 步 先 调 用ZDO_StartDevice启动网络中的设备,再调用NLME_NetworkFormationRequest函数进行组网,这一部分涉及网络层细节,无法看到源代码,在库中解决。ZDO_NetworkFormationConfirmCB 和

17、nwk_Status 函数有申请结果的解决。假如成功则ZDO_NetworkFormationConfirmCB先执行,不成 功 则nwk_Status先执行。接着,在ZD0_NetworkFormationConfirmCB 函数中会设立 ZDO_NETWORK_START事件。由于第三步,ZDApp_event_loop任务中会解决ZDO_NETWORK_START 事件,调用 ZDApp_NetworkStartEvt 函数,此 函 数 会 返 回 申 请 的 结 果。假 如 不 成 功 能 量 阈 值 会 按ENERGY_SCAN_I NCREMENT 增长,并将 APp_event_

18、loop 任务中的事件I D置 为ZDO_NETWORK_I NI T然后跳回第二步执行;假如成功则设置 ZDO_STATE_CHANGE_EVT 事件让 ZDApp_event_loop 任务解决。对 于 终 端 或 路 由 节 点,调 用ZDO_StartDevice后 将 调用 函 数NLME_NetworkDiscoveryRequest 进行信道扫描启动发现网络的过程,这一部分涉及网络层细节,无法看到源代码,在库中解决,NLME_NetworkDiscoveryRequest函 数 执 行 的 结 果 将会 返 回 到 函 数ZDO_NetworkDiscoveryConfirmCB

19、中,该函数将会 返 回 选 择 的 网 络,并 设 立 事件 ZDO_NWK_DI SC_CNF,在ZDApp_ProcessOSALMsg 中 对 该 事 件 进 行 解 决,调 用NLME_JoinRequest加入指定的网络,若加入失败,则重新初始化网络,若 加 入 成 功 则 调 用ZDApp_ProcessNetworkJoin函数设立ZDO_STATE_CHANGE_EVT,在 对 该 事 件 的 解 决 过 程 中 将 调 用ZDO_UpdateNwkStatus 函数,此函数会向用户自定义任务发送事件 ZDO_STATE_CHANGE。本 实 验 在Zstack的事例代码sim

20、pleApp修改而来。一方面介绍任务初始化的概念,由于自定义任务需要拟定相应的端点和簇等信息,并且将这些信息在A F层中注册,所以每个任务都要初始化然后才会进入OSAL系统循环。在Z-Stack流程图中,上层的初始化集 中 在OSAL初始化(osal_init_system)函数中。涉及了存储空间、定期器、电源管理和各任务初始化。其中用户任务初始化的流程如下:开指定务I D网络状态初始化指定目地址注册应用对象结束用户任务初始化流程图任 务I D (t a s k I D)的 分 派是O S A L规定的,为后续调用事件函数、定期器函数提供了参数。网 络 状 态 在 启 动 的 时 候 需 要

21、指 定,之 后 才 干 触 发ZD O _ STA TE _ C HA N G E事件,拟定设备的类型。目的地址分派涉及寻址方式,端点号和地址的指定,本实验中数据的发送使用单播方式。之后设立应用对象的属性,这是非常关键的。由于涉及很多参数,Z-St a c k 专门设计了 Sim pl e D e s c r ipt ionF or m a t _ t 这一结构来方便设立,其中的成员如下:E nd P oint,该节点应用的端点,值 在1-2 4 0之间,用来接受数据。A ppP r of l d,该域是拟定这个端点支持的应用pr of il e标记符,从Zigb e e联盟获取具体的标记符。

22、A ppN um l nC l us t e r s,指示这个端点所支持的输入簇的数目。pAppI nClusterList,指向输入簇标记符列表的指针。AppNumOutClusters,指示这个端点所支持的输出簇的数目。pAppOutClusterList,指向输出簇标记符列表的指针。本实验profile标记符采用默认设立,输入输出簇设立为相同MY_PROFI LE_I D,设 置 完 毕 后,调 用afRegister函数将应用信息在A F层中注册,使设备知晓该应用的存在,初 始 化 完 毕。一旦初始化完毕,在 进 入OSAL轮 询 后zb_HandleOsalEvent 一有事件被触发

23、,就会得到及时的解决。事件号是一个以宏定义描述的数字。系统 事 件(SYS_EVENT_MSG)是强制的,其中涉及了几个子事件的解决。ZDO_CB_MSG事 件是解决ZDO 的响应,KEY_CHANGE事件 解决按键(针 对T I官 方 的 开 发 板),AF_DATA_CONFI RM_CMD则是作为发送一个数据包后的确认,AF_I NCOMI NG_MSG_CMD是接受到一个数据包会 产 生 的 事 件,协 调 器 在 收 到 该 事 件 后 调 用 函 数p2p_test_MessageMSGCB,将接受到的数据通过 HalUARTWrite 向串口打印输出。ZDO_STATE_CHAN

24、GE和网络状态的改变相关在此事件中若为终端或路由节点则发送用户自定义的数据帧:F F源节点短地址(16bit,调用NLME_GetShortAddr()获得)、父节点短地址用6bit,调用 NLME_GetCoordShortAddr()、节点编号 I D(8bit,为长地址的最低字节,调 用NLME_GetExtAddr()获得,在启动节点前应先用RFProgrammer 将非 OXFFFFFFFFFFFFFFFF 的长地址写到 CC2530 芯片存放长地址的寄存器中),协调器不做任何解决,只是等待数据的到来。终端和路由节点在用户自定义的事件MY_REPORT_EVT中 发 送数 据 并 启

25、 动 定 时 器 来 触 发 下 一 次 的 MY _ R EPO R T_ EV T事 件,实 现 周 期 性 的 发 送 数 据(发送数据的周期由宏定义R EPO R T_ DELAY 拟定)。3.6实验环节及结果3.6.1 打 开 工 程 文 献 夹 协 议 栈 实 验 2.多 点 自 组 网 Pr o je ct s z s t a ck S a m p l e s S im p l e Ap p CC2 53 0 DB 下 的 工 程 文 献S im p l e Ap p.e w w。_ _X3.6.2 选择丁程I丽 蒜 的 T 编译.生成协调器代码,并下载到Z X 2 53 0 A

26、开发板。此节点为协调器节点。3.6.3 选择T 程|廨 7。编 译,生成终端节点代码,并下载到Z X 2 53 0 开发板。此节点为终端节点。X3.6.4选择工程眄弧1上 _ _ _ _ _ _ _ _ _.编 译,生成路由器节点代码,并下载到Z X 2 53 0 开发板,此节点为路由器节点。3.6.5用串口线将协调器节点与p c 连接起来,在 p c 端打开Z T0 0 L程序。(Z T0 0 L程序在z s t a ck安装后自动安装)3.6.6 启动Z X 2 53 0 A型 CC2 53 0 节点板电源。3.6.7 在 Z T0 0 L程序中观测组网结果。COM COI4 Lo Ena

27、bled X C l-H Sv02:55:09.6 COM4 DEBUG STRING(0 x4880)Debugstnng:DEVID:2I SAddr:4F07 PAddr:0000(0 x44,0 x45,0 x56,0 x49,0 x44,0 x3A,0 x32,0 x31,0 x20,0 x53,0 x41,OxW,OxM.0 x72,Ox3A,OxX,0 x46,0 x30,0 x37,020,0X50,0X41,0X64,OXM,0X72,0X3A,0X30,0X30,0X30,0X30)皿02:55:10.82 COM4 DBUG_STRING(0 x4680)DebugShm

28、g:DEVID:!l SAddr-A6F7 PAdti:4FO7(Gx44,0 x45,0 x56,0 x49,0 x44,Qx3A,0 x31,0 x31,820,0 x53,0 x41,OxM,0 x64,8 7 2,Ox3A.0 x41,0 x36,0 x46,0 x37,0 x20,0 x50,0 x4),0 x64.OxM,0 x72,Ox3A,0 x54,0 x46,0 x30,0 x37)02:55:12.62 COM4 DBUG_5TRIN(i(0 x4880)DebugStrmg:DV1D:2I SAddr:仔07 PAddr OOOO0 x44,0 x45,0 x56,0

29、x49,0 x44,0)r3A,0 x32,0 x31,0 x20,0 x53,O il,0 x64,OxM,0 x72,Ox3A,0 x34,0 x46,0 x30,0 x37,0 x20,0 x50,0 x41,0*64,OxM,0 x72,Ox3A,0 x30,0 x30,0 x30,0 x30)2:55:13,82 CO M DCBUG.STRING(0 x4880)DebuaStnng:DEVK:n SAddr:A6F?PAdd:4FO7(0 x44,0 x45,0 x56,0 x49,0 x44,Ox3A,0 x3b 0 x31,0 x20,0 x53,0 x41,OxW,OxM,

30、0 x72,0 x3A.Ox”,0 x36,Ox他 0 x37,0 x20,0 x50,0 x41,QxM,0 x64,0 x72,Ox3A,0 x46,0 x30,0 x37)02:55:15.6 COM4 CBUG 5TRJNG(0 x4680)DebugStrmg:DEVID:21 SAdd7:4F07 PAddr OOOO(OxM.0 x45,0 xS6,0 x49,OxX,Ox3A.0 x32.0 x31,0tx20,0 x53,0 x41,0 x64,0 x64,0 x72,Ox3A,0 x34,0 x46,0 x30,0 x37,0 x20,0 x50,0 x41,0 x64.O

31、xM,0 x72,Ox3A,0 x30,0 x30,0 x30,0 x30)02:55:16.82 COM4 CBUG_5TRING(0 x4880)Debugt5tnng:DEVID:ll SAddr:A6F7 PAd:4F07(0 x44,0 x45,0 x56,0 x49,0 x44,Ox3A.0 x31,0 x31,0 x20,0 x53,(M l,OxM,0 x64,0 x72,0 x3A,0 x41.0 x36,0 x46,0 x37,0 x20,0 x50,0 x41,0 x64,0 x64,0 x72,Ox3A.0 x34,0 x46,0 x30,0 x37)02:55:18.

32、62 COM4 CBUG_STR1NG(0 x4880)DebugStnng:DVID:2l SAddr:4F07 PAddr:0000 M 4,0 x45,0 xS6,0 x4%0 x44,0 x3A,0 x32,0 x31,0 x20,0 x53,0 x41,0 x64,QxM,0 x72,Ox3A,0 x34,0 x46,0 x30,0 x37,0 x20,850,0 x41,Qx64r 0 x64,0 x72,0tx3A,Qx30,0 x30,0 x30,0 x30)02:55:19.82 COW DCBLK STRING(0 x4880)DebugStrmg:DCVID:ll SA8

33、),(byte)0,/addr0 x00,0 x01,/cmd0 x00,0 x01,0 x00,0 x02,0 x00,0 x05,0 x00,0 x14,0 x00,0 x15);当 syncRequestSYS_APP_MSG 返 回 后,假如 ninfo!=null,则ninfo中保存获取到的协调器信息、,否则获取协调器信息失败,zigbee网络搜索结束。获取到协调器信息后通过以下代码Top.DrawTop(mTree);Message msg=Message,obtain();msg.what=MSG_NEW_NETWORK;msg.argl=1;mMainHandler.sendM

34、essage(msg);生成协调器节点并告知主线程在屏幕上显示出来。当找到协调器后,程序通过查找与协调器直接连接的相关节点,然后递归搜索,最终搜索完整个网络并绘制出Zigbee网络的TOP结构。具体实现代码如下private void buildNetWork(Node pa,int cli)(for(int i=0;icli.length;i+)/*get child i info*/try(Thread.currentThread().sleep(500);catch(InterruptedException e)/TODO Auto-generated catch blocke.prin

35、tStackTrace();)byte ninfo=mProx.syncRequestSYS_APP_MSG(2,new byte(byte)(clii8),(byte)clii,/addr0 x00,0 x01,/cmd0 x00,0 x01,0 x00,0 x02,0 x00,0 x05,0 x00,0 x14,0 x00,0 x15);if(ninfo=null|ninfo.length29)Log.d(TAG,*get node+clii+info fail.);continue;)int tmp,off=0;tmp=Tool.buildulnt(ninfooff,ninfooff+l

36、);/addrif(tmp!=clii)Log.d(TAG,net add is not equl.);continue;)off+=2;tmp=Tool.buildulnt(ninfooff,ninfooff+l);/cmdif(tmp!=0 x8001)Log.d(TAG,response cmd not euql.);continue;)off+=2;if(ninfooff!=0)/read statusLog.d(TAG,read status is not 0);continue;)off+=1;Node nd=new Node(clii,Node.ZB_NODE_TYPE_ENDD

37、EVICE);int childs=;while(off ninfo.length)tmp=Tool.buildulnt(ninfooff,ninfooff+l);off+=2;switch(tmp)case 0 x0001:/hard vernd.mHardVer=Tool.buildulnt(ninfooff,ninfooff+l);off+=2;break;case 0 x0002:nd.mSoftVer=Tool.buildulnt(ninfooff,ninfooff+l );off+=2;break;case 0 x0005:nd.mDevType=ninfooff;off+=1;b

38、reak;case 0 x0014:for(intj=0;j8;j+)nd.mlEEEAddrfj=ninfooff+j;)off+=8;break;case 0 x0015:int assocCnt=ninfooffj;off+=1;break;case 0 x0014:for(intj=0;j8;j+)nd.mlEEEAddrfj=ninfooff+j;)off+=8;break;case 0 x0015:int assocCnt=ninfooffj;off+=1;if(assocCnt!=0)nd.mNodeType=Node.ZB_NODE_TYPE_ROUTER;int nli=ne

39、w intassocCnt;for(int j=0;j N e w -A nd roi d P roj e c tv 出现如下对话框其中红线标示出来是要填充的:L oc a ti on:指 定 A nd roi d 用户控制程序源代码的存放位置。填写好后点击“F i ni sh”按钮。建立工程后工程结构如下图:咻1*四邑&il陶2曰 0 zbDroidAndroid 2.2srcgen Generated Jivi FilesassetsresAndroi dMani fest,xmlbuild.xmldefault,propertieslocal.properti espropard.cg3

40、)选择菜单“Project”保证Build Automatical!被选中,如下图:ClProject扇 Build AH Ctrl+BBuild ProjectBuild Jforkinj SetCleaQ.3 Build Auto&tically阜 Generate Javadoc.Eroptrtiti4)选择菜单Project-Clean”出现如下对话框点击“O k”按钮5)点 击 e c l i pse 上的运营按钮也 就可以在模拟器上运营程序了,第一次运营程序会出现如下对话框,请选择A nd roi d A ppl i c a ti on。然后点击 如下 按钮。6)假如在执行第5步时

41、,将物联网网关实验箱与p c 用 usb 连接起来了,那么程序将会自动下载到实验箱上。就可以在实验箱上运营程序了4.3 Zigbee节点控制程序设计Z i g b e e 节点控制程序运营在每个传感器节点上,根据不同的传感器类型,设计不同的传感器控制程序。所有节点控制程序都是基于Zs t ack协议栈的,并且都是在S am p leA p p 的基础上修改而来。下面对各个传感器工程进行介绍:先将一物联网光盘综合实验Zi gbee节点控制程序”复制到本地磁盘。打开工程文献“P r o j ect s z s t ackS am p l es S i m p leA p p C C 2 5 3 0

42、 D B S i m p leA p p.ew w”1)协调器节点工程S i m p 1 eC o o r di n at o r 即协调器工程,如下图WorkspaceSimpleCoofdriatorSimpfeCoofdinatorSimpleS witchSimpleLightSimpleCo2SenorSimpleT empSensorSimpleinfraredS impleDistanceS ensorS impleH umidityS ensorSimpleLight2协调器的应用功能代码实现文献是S i m p leC o o r di n at o r.c 在工程文献夹A

43、p p 目录下具体实现可参考源码。按下键盘上的F 7 即个编译协调器工程,编译好之后可将代码下载到协调器节点板。2)继电器节点工程S i m p leLi ght 即继电器节点工程,如下图Workspa c eSimpleLightSimpleCoordina tocSimpleS witc hdeLiqhtSimpleCo2 Sen$orSimple!empSensorSimplelnha redS impleDista nc eS ensocS impleH umidityS ensorSimpleLight2程序中实现了一个继电器的控制,具体实现代码可参考源文献工程目录 A p p 下

44、S i m p leLi ght.C3)气体传感器工程S i m p leC o 2 S en s o r 即气体传感器节点工程,如下图SimDleCo2 Senso(Workspa c eSimpleLightSimpleCoordina torSimpleS witc hSimpleLightSimpleTempSen$orSimplelnfra redS impleD ista nc eS en$orS impleH umidkyS en$o(SjmpleLight2气 体 传 感 器 的 控 制 代 码 请 参 考 工 程 App目录下S i m p leC o 2 S en s o

45、r.c4)温度传感器工程S i m p leT em p S en s o r 即温度传感器工程如下图SimpleT empSensorVV 5 r O R O lDSimpleTempSensor3SimpleCoordinatorSimpleSwkchSimpleLightSimpleCo2S ensorSimplelnharedS impleDistanceS ensorS impleH umidityS ensorSimpleLiqht2温 度 传 感 器 节 点 用 用 控 制 代 码 可 参 考 工 程 目 录 A p p 下S i m p leT em p S en s o r.

46、c 文献5)人体红外传感器节点工程S i m p lei n fr ar ed即人体红外传感器工程,如下图SimplelnharedWorkspace_ ESimpleinfraredSimpleCoordinatocSimpleS witchSimpleLightSimpleCo2S ensorSimpleTempSensorS impleD istanceS ensorS impleH umidityS ensorSimpleLight2人体红外传感器节点应用控制代码可参考工程目录A p p 下S i m p lei n fr ar ed,c6)超声波距离传感器节点工程S i m p le

47、D i s t an ceS en s o r 即超声波距离传感器工程,如下图W o r k s p a c eSimpleinfra red SimpleCoofdina(ofSimpleS witc hSimpleLightSimpleCo2 Sen$orS m p l e T e m p S e n s o rSimple!nha red_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _S impleD ista nc eS

48、ensorSrnpleH timidity S ensorI SimpleLight2超声波距离传感器节点实现代码可参考工程目录A p p 下S i m p leD i s t an ceS en s o r.co超声波测距驱动代码请参考y s-s r f0 5.c文献。7)湿度传感器节点工程S i m p leH u m i di t y S en s o r 即湿度传感器节点工程,如下图W o r k s p a c eS impleH timidity S en5o(SimpleCoordina tofSimpleS witc hSimpleLightSimpleC o2 SensorS

49、imple?e m p S e n s o rSimpleinfra redS impleD ista nc eS ensocS impleH umidityS ensor|S im ple Lig ht2 -I湿 度 传 感 器 应 用 控 制 代 码 可 参 考 工 程 目 录 App下S i m p leH u m i di t y S en s o r.c 文献,其湿度的测量驱动可参考温湿度传感器驱动dht ll.c文献8)开关传感器节点工程S i m p leS w i t ch即开关传感器工程,如下图Workspa c eIS impleH umidity S ensor|Simp

50、leC8 rdina t(xS i m p E S witc hSimpleLighlSimpleCo2 SensorSimpleT empSensorSimplelnha redS impleDista nc eS e n s aS impleH umidityS ensorSimpleLight2开 关 传 感 器 应 用 控 制 实 现 代 码 可 参 考 工 程 目 录 A p p 下S i m p leS w i t ch,c 文献。4.4平台控制操作4.4.1启动程序1)安装好程序后,打 开 an dr o i d应用程序面板,找到图标,点击进入程序。2)直接点击登录按钮,进入到系

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁