《无线传感器网络》实验指导书.doc

上传人:文库蛋蛋多 文档编号:2390341 上传时间:2023-02-17 格式:DOC 页数:56 大小:2.83MB
返回 下载 相关 举报
《无线传感器网络》实验指导书.doc_第1页
第1页 / 共56页
《无线传感器网络》实验指导书.doc_第2页
第2页 / 共56页
《无线传感器网络》实验指导书.doc_第3页
第3页 / 共56页
《无线传感器网络》实验指导书.doc_第4页
第4页 / 共56页
《无线传感器网络》实验指导书.doc_第5页
第5页 / 共56页
点击查看更多>>
资源描述

《《无线传感器网络》实验指导书.doc》由会员分享,可在线阅读,更多相关《《无线传感器网络》实验指导书.doc(56页珍藏版)》请在三一办公上搜索。

1、 无线传感器网络 实 验 指 导 书 编 写适用专业:_通信工程_ 闽江学院_计算机科学 系2010年9月前 言 无线传感器网络系统地介绍无线传感网络的相关技术,包括物理层无线通信,MAC层能量管理、网络层路由算法、数据融合、安全协议、网络管理、应用等。通过本课程的学习,让学生树立无线传感器网络的系统概念,使学生能够从系统的角度,认识整个无线传感器网络的全局观念。并结合不同领域的实际应用,学会设计出相应的无线传感器网络模型,锻炼学生学以致用的能力。通过跟踪本学科的最新发展,来启发培养学生能具备适应未来一些新的交叉学科发展的综合创新能力。 为了使学生更好地理解和深刻地把握这些知识,增强学生的实践

2、动手能力,本实验部分主要培养学生对无线传感器网络的感性认识,通过实验,加强对理论知识的理解,为将来从事无线传感器网络及物联网行业的研发及相关工作打下必要的基础。 本实验指导书针对通信工程专业而编写。目 录1、实验一:LED组件实验12、实验二:TinyOS串口组件通信实验53、实验三:ATOS射频模块功耗模式实验114、实验四:点对点通信实验195、实验五:信号强度(RSSI)实验326、实验六:发射功率设置实验407、实验报告基本内容要求53实验一:LED组件实验实验学时:2实验类型:验证实验要求:必修一、实验目的(1) 学会LED 灯的使用方法。二、实验内容(1) 熟悉ATOS实验仪,熟悉

3、开发板的硬件环境。(2) 安装必要的开发软件,熟悉开发软件环境。(3) 通过LED 灯的使用方法实验平台开发流程。三、实验原理、方法和手段教师演示,学生自主验证操作。四、实验组织运行要求采用集中授课形式。五、实验条件(1)每2位同学为1组,每组一台PC机、一台ATOS实验仪。(2)配套的软硬件设备:下载仿真器线、编译环境、配套软件工具等。六、实验步骤(一)熟悉ATOS开发环境硬件平台。 (略)(二)LED 灯的使用目前节点上有红、蓝、黄3 个LED 灯,其中,红灯时工作指示灯,蓝灯和黄灯主要用于程序调试,如当节点发送数据成功后,蓝灯闪烁,当节点有路由时,黄灯亮。现在对LED 灯的操作有三种:点

4、亮、关闭、闪烁(由亮变暗或者由暗变亮),相对应的命令分别为:LED_BLUE_ON 、LED_BLUE_OFF、LED_BLUE_TOGGLE、LED_YELLOW_ON、 LED_YELLOW_OFF、 LED_YELLOW_TOGGLE。这些命令都是宏定义,详见文件/opt/atos/tos/lib/antc3/common/antled.h 实验流程: 节点启动后,黄灯和蓝灯轮流点亮,点亮和变暗的间隔用for 循环延时实现。 程序清单1.1 1.1代码LedM.nc /* LED 示例程序的实现模块,简单的点亮2 个LED 灯 */ module LedM uses interface

5、Boot; implementation /* LED 灯演示 */ task void DemoLed() /* 目前节点上提供两个LED 灯 LED_BLUE - 蓝灯 LED_YELLOW - 黄灯 */ int i,j; while(1) for(i=0;i1000;i+) for(j=0;j500;j+); LED_BLUE_OFF; /* 熄灭蓝色LED 灯 */ LED_YELLOW_ON; /* 点亮黄色LED 灯 */ for(i=0;i1000;i+) for(j=0;j MainC.Boot; Makefile 文件 COMPONENT=Led # PFLAGS += -

6、DUSE_MODULE_LED # include $(MAKERULES) 实验演示 LED 蓝灯和黄灯依次点亮、熄灭。七、思考题1)灯为什么会出现依次点亮、熄灭的现象?八、实验报告要求及格式见本手册末尾说明。九、其它说明 实验二:TinyOS串口组件通信实验实验学时:2实验类型:验证实验要求:必修一、实验目的(1) 本实验通过一个简单的例子来说明串口通信模块的使用方法。二、实验内容(1) 串口发送与接收。三、实验原理、方法和手段教师演示,学生自主验证操作。四、实验组织运行要求采用集中授课形式。五、实验条件(1)每2位同学为1组,每组一台PC机、一台ATOS实验仪。(2)配套的软硬件设备:下

7、载仿真器线、编译环境、配套软件工具等。六、实验步骤ANTc3 平台提供了串口通信模块组件PlatformSerialC,该组件提供了三个接 口:StdControl、UartStream 以及CC2430UartControl,其中,StdControl 用于控制串口通信模块的开关,UartStream 提供了串口收发功能;CC2430UartControl接口用于设置串口通信得到波特率。 实验流程: 该实验实现了两种功能:一种是当不定义SERIALIO_RECEIVE 宏时,节点启动后,显示菜单,选择菜单键1则蓝灯闪烁,选择菜单键2黄灯闪烁,选择其它键则输入错误,重新回显菜单;当有宏定义SE

8、RIALIO_RECEIVE 时,节点启动后,等待输入10 个字节的字符,然后显示出来。 程序清单 代码 SerialIoM.ncSerialIo.ncMakefile文件实验演示 (1) 在文件 SerialIoM.nc 文件中不定义宏 SERIALIO_RECEIVE,用 make antc3 install 命令将程序烧入节点,用串口线将节点和电脑串口连接,使用串口调试工具调试,节点启动后首先会显示菜单:Demo of Serio I/O 1 Toggle BLUE LED 2 Toggle YELLOW LED 然后,用键盘输入1,则显示You choose to toggle BLU

9、E LED,输入2,则显 示You choose to toggle YELLOW LED, 输入其它,显示Error Key,接着显示菜单。 (2)在文件SerialIoM.nc文件中定义宏 SERIALIO_RECEIVE, 使用命令make antc3 install 命令将程序烧入节点,用串口线将节点和电脑串口连接,使用串口调试工具调试,节点启动会显示菜单: DEMO of serial I/O, input 用键盘输入10 个字符后,串口会回显到串口上。 实验效果如下图所示:没有SERIALIO_RECEIVE 宏定义 定义宏SERIAL_RECEIVE 注意: (1)文件Seria

10、lIoM.nc 中开始会设置波特率,文件中的波特率必须要与串口调试助手中的波特率一致。 (2)串口接收模式下,输入的字符数必须满10个后,串口才会回显。详见程序。七、思考题八、实验报告要求及格式见本手册末尾说明。九、其它说明实验三:ATOS射频模块功耗模式实验实验学时:2实验类型:验证实验要求:必修一、实验目的(1) 本实验演示CC2430 各种功耗模式之间的切换。二、实验内容(1) 在各个功耗模式之间进行切换并进行比较。三、实验原理、方法和手段教师演示,学生自主验证操作。四、实验组织运行要求采用集中授课形式。五、实验条件(1)每2位同学为1组,每组一台PC机、一台ATOS实验仪。(2)配套的

11、软硬件设备:下载仿真器线、编译环境、配套软件工具等。六、实验步骤CC2430 芯片有4 种功耗模式:PM0、PM1、PM2 和PM3。PM0 为全功能模式,32MHz和16MHz振荡器中至少有一个在工作,32KHz低频RC 或晶体振荡器中也至少有一个在工作;从PM0 到PM3 功耗逐级降低,PM3 是功耗最低的模式,详见表 3.1所示。 与功耗模式相关的寄存器有PCON 和SLEEP,详见表3.2和表3.3. 表3.1 几种功耗模式比较表3.2 PCON 电源模式控制器表3.3 SLEEP功耗控制器表3.4 CLKCON 时钟控制器功耗模式的设置包括2步:(1)设置SLEEP.MODE (2)

12、设置PCON.IDLE = 1 实验流程: 节点启动后依次进入PM1、PM2 后退出。 程序清单1.9 代码 PowerModeM.ncPowerModeC.ncMakefile 文件实验演示 : 使用命令make antc3 install 将程序下载到节点,节点启动后,显示菜单 (1)显示“节点当前处于PowerMode 0,3秒后进入PowerMode 1”; (2)3秒后显示“PowerMode 1”; (3)3秒后显示“节点退出PowerMode 1,3秒后进入Powermode 2”; (4)3秒后显示“PowerMode 2” (5)3秒后显示“节点退出PowerMode 2,结

13、束”。 实验效果如下图所示:七、思考题八、实验报告要求及格式见本手册末尾说明。九、其它说明实验四:点对点通信实验实验学时:2实验类型:验证实验要求:必修一、实验目的(1) 了解节点点对点通信过程。(2) 学会活动消息(ActiveMessage )模型的使用。二、实验内容(1) 学会节点点对点通信过程。(2) 学会活动消息(ActiveMessage )模型的使用。三、实验原理、方法和手段方法和手段:教师演示,学生自主验证操作。实验原理:点对点通信是无线传感器网络组网的基础,该实验只用两个节点通信,所以 网络协议栈中不包含路由协议。本实验使用TinyOS 中的活动消息(ActiveMessag

14、e )模型实现点对点通信,活动模型组件ActiveMessageC 包含了网络协议中路由层以下的部分。在ANTc3平台下,ActiveMessageC 包含的主要功能有:CSMA/CA、链路层重发、重复包判断等机制。其中,CSMA/CA 机制使节点在发送数据之前,首先去侦听信道状况,只有在信道空闲的情况下才发送数据,从而避免了数据碰撞保证了节点间数据稳定传输;链路层重发机制是当节点数据发送失败时,链路层会重发,直到发送成功或重发次数到达设定的阈值为止,提高了数据成功到达率;重复包判断机制是节点根据发送数据包的源节点地址及数据包中的 dsn域判断该包是不是重复包,如果是重复包,则不处理,防止节点

15、收到同一个数据包的多个拷贝。 ActiveMessageC 向上层提供的接口有AMSend、Receive、AMPacket、Packet、Snoop 等。AMSend 接口实现数据的发送,Receive 接口实现数据的接收,Snoop是接收发往其它节点的数据,AMPacket 接口用于设置和提取数据包的源节点地址、目的地址等信息,Packet接口主要是得到数据包的有效数据长度(payload length )、最大有数据长度、有效数据的起始地址等。AMSend、Receive、Snoop 都是参数化接口,参数为一个8 位的id 号,类似于TCP/IP 协议中的端口号。两个节点通信时,发送节点

16、使用的 AMSend 接口的参数 id必须与接收节点的Receive 接口的参数id 一致。 在TinyOS 操作系统下,所有的数据包都封装到一个叫message_t 的结构体中。message_t 结构体包含四个部分:header、data、footer、metadata 四个部分。其中header 中包含了数据包长度、fcf、dsn、源地址、目的地址等信息;metadata 包含了rssi 等信息,详见cc2420.h、Message.h、platform_message.h 。其中,metadata 部分不需要通过射频发送出去,只是在发送前和接收后提取或写入相应的域。四、实验组织运行要求

17、采用集中授课形式。五、实验条件(1)每2位同学为1组,每组一台PC机、一台ATOS实验仪。(2)配套的软硬件设备:下载仿真器线、编译环境、配套软件工具等。六、实验步骤实验流程: 本实验演示两个节点之间如何进行通信,基本流程为: 发送节点: 节点启动 - 开启射频收发器、串口通信模块, 显示菜单,等待串口输入目的节点号- 目的地址输入完毕,显示菜单,等待输入要发送的数据 发送的数据输入完毕,开始发送,同时蓝灯闪。 接收节点: 节点启动 -开启射频收发器、串口通信模块,显示菜单、等待接收数据 收到数据后通过打印显示收到的数据,同时黄灯闪。 一般应用程序包含三个文件,一个模块组件(后缀为.nc),描

18、述所要实现的具体功能;一个配置组件(后缀为.nc),描述组件之间的连接关系;一个Makefile 文件,定义一些编译规则。实验的这三个文件见程序清单或文件夹/opt/atos/apps/DemosV2/RFDemos/1_P2P 。 程序清单 代码P2PM.nc代码 P2PC.ncMakefile 文件实验演示: 编制完上述程序后,使用make antc3 install NID=XX GRP=XX 命令将程序下载到节点中,其中NID 指定了节点的序列号,GRP 制定节点通信的组号,相互通信之间的节点组号必须一致,而节点号不能重复,节点和网络中的节点号一一对应。下面我们假设烧录程序的两个节点号

19、分别为2和3,则实验效果如下:发送节点(3 号节点)接收节点(2 号节点)七、思考题八、实验报告要求及格式见本手册末尾说明。九、其它说明实验五:信号强度(RSSI)实验实验学时:2实验类型:验证实验要求:必修一、实验目的(1) 学会RSSI 值的获取方法。(2) 更加熟练地使用ANTc3 平台下的底层协议栈。二、实验内容(1) RSSI 值的获取。(2) 学习使用ANTc3 平台下的底层协议栈。三、实验原理、方法和手段方法和手段:教师演示,学生自主验证操作。实验原理:RSSI指接收信号的强度,在无线定位、无线测距方面有广泛的应用。本实验通过点对点或者一点对多点通信测定 RSSI的值。RSSI

20、即Received Signal Strength Indication,CC2430 芯片中有专门读取RSSI值的寄存器,当数据包接收后,CC2430芯片中的协处理器将该数据包的RSSI值写入寄存器。如图5.1所示。RSSI值和接收信号功率的换算关系如下: P = RSSI_VAL + RSSI_OFFSET dBm 其中,RSSI_OFFSET 是经验值,一般取-45,在收发节点距离固定的情况下, RSSI 值随发射功率线性增长,如图5.2 所示。 图5.1 RSSI 的产生过程 图5.2 RSSI 随发射功率的变化曲线四、实验组织运行要求采用集中授课形式。五、实验条件(1)每2位同学为1

21、组,每组一台PC机、一台ATOS实验仪。(2)配套的软硬件设备:下载仿真器线、编译环境、配套软件工具等。六、实验步骤实验流程: 节点1 为接收节点,其它节点为发送节点,节点启动后,开启射频,射频开启完毕后,其它发送节点启动定时器,每2 秒向节点1 发一次数据,节点1 接收到数据后,通过串口打印显示接收信号的RSSI 值。 程序清单2.2 代码RSSISample.nc代码RSSISampleC.ncMakefile 文件实验演示:上次程序编写完成后,使用命令make antc3 install NID=01 GRP=XX 烧录接收节点,发送节点选择其它节点号,本实验使用2 号节点发送,实验效果

22、如下: 接收节点效果图发送节点效果图七、思考题八、实验报告要求及格式见本手册末尾说明。九、其它说明实验六:发射功率设置实验实验学时:2实验类型:验证实验要求:必修一、实验目的(1) 了解CC2430 芯片的8个输出功率等级。 (2) 掌握节点输出功率的设置方法。二、实验内容(1) 实现CC2430 芯片的8个输出功率等级。(2) 掌握节点输出功率的设置方法。三、实验原理、方法和手段方法和手段:教师演示,学生自主验证操作。实验原理:ANTc3 平台下节点输出功率的设置有多种方法,可以在Makefile 中通过宏定义设置;也可以通过该实验中接口的方式设置。这两种方法都是全局性的设置,即发射功率一旦

23、设置完成,该节点所有的数据包发射功率相同。此外,还可以针对每个发送的数据包设置不同的发射功率。四、实验组织运行要求采用集中授课形式。五、实验条件(1)每2位同学为1组,每组一台PC机、一台ATOS实验仪。(2)配套的软硬件设备:下载仿真器线、编译环境、配套软件工具等。六、实验步骤下面的代码使用全局发射功率组件进行功率设置。程序清单 代码SetTransmitPowerM.nc代码 SetTransmitPowerC.ncMakefile 文件七、思考题八、实验报告要求及格式见本手册末尾说明。九、其它说明学生实验报告基本内容要求学生实验报告应事先准备好,用来做预习报告、实验记录和实验报告。1、实

24、验预习 在实验前每位同学都需要对本次实验进行认真的预习,并写好预习报告,在预习报告中要写出实验目的、要求,需要用到的仪器设备、物品资料以及简要的实验步骤,形成一个操作提纲。对实验中的安全注意事项及可能出现的现象等做到心中有数,但这些不要求写在预习报告中。 设计性实验要求进入实验室前写出实验方案,并经指导教师审阅后实施。2、实验记录 学生开始实验时,应该将记录本放在近旁,将实验中所做的每一步操作、观察到的现象和所测得的数据及相关条件如实地记录下来。 实验记录中应有指导教师的签名。3、实验报告 主要内容包括对实验数据、实验中的特殊现象、实验操作的成败、实验的关键点等内容进行整理、解释、分析总结,回答思考题,提出实验结论或提出自己的看法等。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号