安徽工业大学WSN无线传感器网络实验报告汇编.docx
- 文档编号:24090694
- 上传时间:2023-05-24
- 格式:DOCX
- 页数:54
- 大小:2.92MB
安徽工业大学WSN无线传感器网络实验报告汇编.docx
《安徽工业大学WSN无线传感器网络实验报告汇编.docx》由会员分享,可在线阅读,更多相关《安徽工业大学WSN无线传感器网络实验报告汇编.docx(54页珍藏版)》请在冰豆网上搜索。
安徽工业大学WSN无线传感器网络实验报告汇编
《无线传感器网络实验报告》
指导教师:
卫琳娜
班级:
物联网131班
实验箱序号:
3,13等
组员姓名学号:
程少锋
(注:
报告中有部分实验截图)
实验日期:
2016年4月28日3,4节
实验一、软硬件平台使用
[1]感知RF2实验箱-WSN系统结构
该系统根据不同的情况可以由一台计算机,一套网关,一个或多个网络节点组成。
系统大小只受PC软件观测数量,路由深度,网络最大负载量限制。
感知RF2实验箱无线传感器实验平台内配置ZigBee2007/PRO协议栈在没有进行网络拓补修改之前支持5级路由,31101个网络节点。
传感器网络系统结构图如下图所示。
[2]感知RF2实验箱-WSN系统工作流程
基于ZigBee2007/PRO协议栈无线网络,在网络设备安装过程,架设过程中自动完成。
完成网络的架设后用户便可以由PC机发出命令读取网络中任何设备上挂接的传感器的数据,以及测试其电压。
[3]感知RF2实验箱-WSN硬件介绍
感知RF2物联网实验箱的无线传感器网络开发平台主要硬件包括:
C51RF-CC2530-WSN仿真器、ZigBee无线高频模块、节点底板、传感器模块以及其它配套线缆等。
网关节点由节点底板+ZigBee无线高频模块组成。
传感器节点由节点底板+ZigBee无线高频模块组成+传感器模块组成。
路由节点硬件组成与传感器节点相同,软件实现功能不同。
[4]实验目的:
熟悉实验平台前期架构,便于后面程序的烧写。
[5]实验步骤:
1安装必要软件(实际实验室中软件已经下载安装完毕,只要通过仿真器C51RF-3进行程序在线下载、调试、仿真即可)
1)在实验室机器E盘的《无线龙实验箱相关资料/无线传感器实验资料201604》中安装ZigBee开发集成环境IAR7.51A,详细请参考“\C51RF-CC2530-WSN使用说明书\”目录下的“IAR安装与使用”。
2)安装传感器网络PC显示软件环境,软件位于“\C51RF-CC2530-WSN开发软件
\C51RF-CC2530-WSN监控软件”目录下的“FrameworkVersion2.0.exe”
3)安装网关与计算机USB连接驱动,驱动位于“\C51RF-CC2530-WSN开发软件\”目录下的“CP2102”。
4)安装ZigBee开发辅助软件,软件位于“\C51RF-CC2530-WSN开发软件\”目录下的(程
序下载软件)“Setup_SmartRF04Progr_1.3.0.exe”与(物理地址读写工具软件)“Setup_IEEE_Address_Prog_1.0.0.exe”。
5)安装其它辅助开发软件,如位于“\C51RF-CC2530-WSN开发软件\”目录下的“串口
调试助手.exe”。
或且其它用户以为对开发有帮助的软件。
(这里串口调试助手已经在桌面创建了快捷方式)
2安装CP2102驱动
为方便无线传感网络与计算机进行通信,网关使用USB转换芯片CP2101,因此需要安装CP2102驱动。
安装网关与计算机连接驱动CP2102,在配套光盘“CP2102”目录下点击“Setup.exe”安装。
3物理地址修改/程序下载软件(在Zigbee加入网络实验中需要)
4IAR软件安装
5FrameworkVersion2.0安装
程序下载(重要)
1)按上述(硬件平台组装及设置)步骤1-3连接硬件。
2)按上述(安装必要软件)步骤安装软件。
3)把“\C51RF-CC2530-WSN演示程序\C51RF-CC2530-WSN无线传感器网络演示程序\”内文件夹“TexasInstruments”复制至IAR安装盘根目录(如C:
\)下,或者在E盘中直接打开。
4)使用IAR7.51A在如下路径打开工程文件。
“C:
\TexasInstruments\
ZStack-CC2530-2.2.0-1.3.0\Projects\zstack\Samples\SampleApp\CC2530DB”
打开工程文件
节点测试
确定各程序成功下载至各节点,并修改物理地址使其各不相同。
把下载CoordinatorEB-Pro程序的ZigBee模块安插到节点底板上当作网关使用,网关通过USB连接线把计算机与网关连接起来。
一会儿,网关节点即建立ZigBee无线传感网,液晶显示为“COORD”,等待传感节点的加入。
把下载RouterEB-Pro或EndDeviceEB-Pro程序的ZigBee模块安插到节点底板,并把1个传感器模块安插到节点底上。
【6】实验中遇到的困难和解决办法:
开始实验时程序不能运行是因为没有通过仿真器将电脑与实验箱相连接。
【7】实验总结:
做实验前要仔细观察实验指导书的步骤,实验平台前期准备必须要精准,这样可以节约后期实验时间,避免原理上的不熟悉,比如后期实验中修改物理地址等。
实验二、GPIO输入输出实验
1控制LED灯闪烁
【实验目的】
了解CC2530的GPIO结构和配置原理及如何通过程序控制CC2530的GPIO驱动外部设备如:
LED灯。
【实验设备】
实验设备
数量
备注
CC2530多传感器节点底板
1
支持CC2530工作的底板
CC2530节点模块
1
无线SOC
USB线
1
连接仿真器
C51RF-3仿真器
1
程序下载调试用
【实验内容】
本例以LED灯为外设,用CC2530控制简单外设,将I/O设置为输出,实验现象LED闪烁。
实验中操作了的寄存器有P1,P1DIR,没有设置而是取默认值的寄存器有:
P1SEL,
P1INP。
GPIO输出控制对象为CC2530模块上的红色和蓝色LED,分别接在CC2530芯片的P1.0和P1.1脚上。
输出置位为0时LED灯点亮,置位为1时LED灯熄灭。
【实验步骤】(在实验一中有详细介绍)
1.打开E盘里“\演示及开发例子程序\”内文件夹“CC2530单片机基础程序”,使用IAR7.51打开“1.1GPIO输入输出实验\CC2530-1”中工程文件“forJ1.eww”。
2.打开工程后选择Debug或Release模式。
3.编译工程并下载到目标板。
4.下载完成后点击全速运行(GO按钮,见下图)或直接按F5键查看程序运行效果。
【实验结果】
CC2530模块板载的蓝色LED灯(左边)闪烁。
【实验相关代码】
程序的初始化和处理流程:
【实验拓展研究】
利用延时子函数voidDelay(uintn)
/****************************
//延时
*****************************/
voidDelay(uintn)
{
uinttt;
for(tt=0;tt for(tt=0;tt for(tt=0;tt for(tt=0;tt for(tt=0;tt } 执行5次0到n的空循环来实现软件延时。 延时时间约为5*n/32μs。 (关联LED灭) 并且可以修改程序实现LED红灯闪烁。 2按键控制LED灯开关 【实验目的】 1.了解CC2530的GPIO结构和配置原理 2.学习配置按键的GPIO口为输入模式,并采集有效按键 3.如何通过程序控制由按键触发控制LED灯 【实验设备】 实验设备 数量 备注 CC2530多传感器节点底板 1 支持CC2530工作的底板 CC2530节点模块 1 无线SOC USB线 1 连接仿真器 C51RF-3仿真器 1 程序下载调试用 【实验内容】 1.本例中让用户掌握按键应用这一常用人机交互方法,本次使用按键LED灯的开关。 按下“SW2”键切换ZigBee模块左边LED灯开关,实验中操作了的寄存器有P0,P0DIR,没有设置而是取默认值的寄存器有: P0SEL,P0INP。 2.按键采用五向摇杆按键Joystick,这里只使用按下这个键。 无按键按下时P06的状态为上拉,高电平。 中间键按下时(Cneter),P06与GND连通,P06采集到低电平。 【实验步骤】 1.打开E盘里“\演示及开发例子程序\”内文件夹“CC2530单片机基础程序”。 使用IAR7.51打开“1.1GPIO输入输出实验\CC2530-2”中工程文件“switchLED.eww”。 2.打开工程后选择Debug或Release模式。 3.编译工程并下载到目标板。 4.运行和查看效果。 【实验现象】 按下SW2摇杆按键的中间键CC2530模块板载的红色LED灯(右边)点亮,再次按下熄灭。 【实验相关流程及代码】 按键初始化函数voidInitKey(void) /***************************************** //按键初始化 *****************************************/ voidInitKey(void) { P0SEL&=~0X40; P0INP|=0x40;//上拉(设置位置) P0DIR&=~(0x01<<(6));//按键在P06ADC采集 } 主要是配置采集输入采集的GPIOP06为输入模式。 延时子函数ucharKeyScan(void)监测P0.6(K1)上的电平变化,如有高电平变低即有按键产生,返回按键扫描结果为有按键发生。 之后对应相关的LED灯位置。 3按键控制LED灯闪烁 【实验目的】 1.了解CC2530的GPIO结构和配置原理 2.学习配置按键的GPIO口为输入模式,并采集有效按键 3.如何通过程序控制由按键触发控制LED灯闪烁 【实验设备】 实验设备 数量 备注 CC2530多传感器节点底板 1 支持CC2530工作的底板 CC2530节点模块 1 无线SOC USB线 1 连接仿真器 C51RF-3仿真器 1 程序下载调试用 【实验内容】 1.使用按键LED灯的开关。 按下“SW2”键切换ZigBee模块左边LED灯开关,实验中操作了的寄存器有P0,P0DIR,没有设置而是取默认值的寄存器有: P0SEL,P0INP。 2.按键采用五向摇杆按键Joystick,这里只使用按下这个键。 无按键按下时P06的状态为上拉,高电平。 中间键按下时(Cneter),P06与GND连通,P06采集到低电平。 3. 【实验步骤】 第一步: 打开E盘“\演示及开发例子程序\”内文件夹“CC2530单片机基础程序”。 使用IAR7.51打开“1.1GPIO输入输出实验\CC2530-3”中工程文件“switchGLINT.eww”。 第二步: 打开工程后选择Debug或Release模式。 第三步: 编译工程并下载到目标板。 第四步: 运行和查看效果。 【实验现象】 按下SW2摇杆按键的中间键CC2530模块板载的蓝色LED灯(左边)闪烁,再次按下停止。 【实验相关代码】 程序的初始化和处理流程 相应程序函数构造与实验2相似。 4.按OLED显示 【实验目的】 1.了解OLED显示屏的驱动原理,学习使用UG-9616GLBBG02显示屏 2.通过CC2530的GPIO模拟IIC总线驱动OLED显示。 【实验设备】 实验设备 数量 备注 CC2530多传感器节点底板 1 支持CC2530工作的底板 CC2530节点模块 1 无线SOC USB线 1 连接仿真器 C51RF-3仿真器 1 程序下载调试用 【实验内容】 1.CC2530通过模拟IIC通讯接口控制和驱动OLED的驱动芯片SSD1306 2. 【实验步骤】 第一步: 打开E盘“\演示及开发例子程序\”内文件夹“CC2530单片机基础程序”。 使用IAR7.51打开“1.1GPIO输入输出实验\CC2530-4”中工程文件“OledDisp.eww”。 第二步: 打开工程后选择Debug或Release模式。 第三步: 编译工程并下载到目标板。 第四步: 运行和查看效果。 【实验现象】 程序全速运行后OLED屏幕上显示“Welcome”字符。 【实验相关代码】 1.函数voidugOled9616int(void)进行控制驱动OLED有关的GPIO配置,以及配置OLED 驱动芯片的寄存器启动OLED运行,程序在“ugOled9616.c”文件中。 2.输出显示子函数voidLcdPutString16_8(u8x,u8y,u8*ptr,u8len,u8op),在OLED指定的位置。 【实验中遇到的困难和解决办法】实验4中也可以将英文字符改成汉字输出,但是程序语言中要改变字符类型等。 【实验总结】要学会举一反三,对于代码中的键值控制函数等都要学会处理分析,并修改相应代码实现其他功能。 实验三、定时器控制实验 实验日期: 2016年5月5日3,4节 5.使用定时器T1 【实验目的】 1.了解CC2530的定时器T1的配置和使用 2.如何通过程序控制CC2530的T1驱动LED灯定时点亮。 【实验设备】 实验设备 数量 备注 CC2530多传感器节点底板 1 支持CC2530工作的底板 CC2530节点模块 1 无线SOC USB线 1 连接仿真器 C51RF-3仿真器 1 程序下载调试用 【实验原理】 本例用定时器1来改变小灯的状态,T1每溢出两次,两个小灯闪烁一次闪烁后成闪烁前相反的状态。 T1的操作模式有3种: free-running模式(计数器从0x0000开始计数,当计算值达到0xFFFF时溢出,此时IRCON.T1IF和T1CTL.OVFIF被置1,如果TIMF.OVFIF和IEN1.T1EN也被置1,就会产生中断请求,计数器复位为0x0000,重新开始计数),modulo模式(计数器从0x0000开始计数,当计算值达到T1CC0时溢出,此时IRCON.T1IF和T1CTL.OVFIF被置1,如果TIMF.OVFIF和IEN1.T1EN也被置1,就会产生中断请求,计数器复位为0x0000,重新开始计数)和up-down模式(计数器从0x0000开始计数,当计算值达到T1CC0时,计数值开始递减直至0x0000,此时IRCON.T1IF和T1CTL.OVFIF被置1,如果TIMF.OVFIF和IEN1.T1EN也被置1,就会产生中断请求,计数器重新开始计数) 【实验步骤】 第一步: 打开E盘“\演示及开发例子程序\”内文件夹“CC2530单片机基础程序”。 使用IAR7.51打开“1.2定时器控制实验\CC2530-1”中工程文件“T1.eww”。 第二步: 打开工程后选择Debug或Release模式。 第三步: 编译工程并下载到目标板。 第四步: 运行和查看效果。 【实验现象】 CC2530模块板载的蓝色LED灯(左边)和红色LED(右边)交替闪烁。 【实验相关代码】 voidInitial(void) { //初始化P1 P1DIR=0x03; //P10P11为输出 RLED=1; YLED=1; //灭LED //用T1来做实验 T1CTL=0x3d; //通道0,中断有效,128分频;自动重装模式(0x0000->0xffff); } 函数功能是将P10,P11设为输出,并将定时器1设为自动重装模式,计数时钟为0.25M。 6使用定时器T2 【实验目的】 1.了解CC2530的定时器T2的配置和使用,定时器的中断使用方式 2.如何通过程序控制CC2530的T1驱动LED灯定时点亮 【实验设备】 实验设备 数量 备注 CC2530多传感器节点底板 1 支持CC2530工作的底板 CC2530节点模块 1 无线SOC USB线 1 连接仿真器 C51RF-3仿真器 1 程序下载调试用 【实验原理】 1.本例开启定时器2的中断,计数比较溢出后产生中断来改变小灯的状态,T2每溢出一次,红色小灯状态改变一次(由亮变暗或由暗变亮)。 T2的操作模式如T1不同没有T1的3种工作模式: free-running模式,modulo模式和up-down模式。 2.GPIO输出控制对象为CC2530模块上的红色和绿色LED,分别接在CC2530芯片的P1.0和P1.1脚上。 输出置位为0时LED灯点亮,置位为1时LED灯熄灭。 【实验步骤】 第一步: 打开E盘“\演示及开发例子程序\”内文件夹“CC2530单片机基础程序”。 使用IAR7.51打开“1.2定时器控制实验\CC2530-2”中工程文件“T2.eww”。 第二步: 打开工程后选择Debug或Release模式。 第三步: 编译工程并下载到目标板。 第四步: 运行和查看效果。 【实验现象】 CC2530模块板载的蓝色LED灯(左边)由定时器T2的比较溢出中断改变状态。 【实验相关代码】 1.开启溢出中断 #defineSET_TIMER2_CAP_INT()\ do{\ T2IRQM=0x04;\ EA=1;\ T2IE=1;\ T2MSEL|=0xf4; }while(0) 2.设定溢出周期 #defineSET_TIMER2_CAP_COUNTER(val)SET_WORD(T2M1,T2M0,val) 功能: 将无符号整形数val的高8位写入T2CAPLPL,低8位写入T2CAPHPH。 3.启动T2 #defineTIMER2_RUN()T2CTRL|=0X01 4.停止T2 #defineTIMER2_STOP()do{T2CTRL&=0XFE;}while(0) 实验四、中断输入和采集实验 7定时器T4中断 【实验目的】 1.了解CC2530的T4的使用 2.学习定时器T4的中断模式使用 【实验设备】 实验设备 数量 备注 CC2530多传感器节点底板 1 支持CC2530工作的底板 CC2530节点模块 1 无线SOC USB线 1 连接仿真器 C51RF-3仿真器 1 程序下载调试用 【实验原理】 1.本例用定时器4来改变小灯的状态,T4每2000次中断小灯闪烁一轮,闪烁的时间长度为1000次中断所耗时间。 注意定时器T3,T4是8Bit的定时器。 2.GPIO输出控制对象为CC2530模块上的红色和绿色LED,分别接在CC2530芯片的P1.0和P1.1脚上。 输出置位为0时LED灯点亮,置位为1时LED灯熄灭。 【实验步骤】 第一步: 打开E盘“\演示及开发例子程序\”内文件夹“CC2530单片机基础程序”。 使用IAR7.51打开“1.3中断输入和采集实验\CC2530-1”中工程文件“forj8-Tn.eww”。 第二步: 打开工程后选择Debug或Release模式。 第三步: 编译工程并下载到目标板。 第四步: 运行和查看效果。 【实验现象】 CC2530模块板载的红色LED灯(右边)在T4产生中断1000此后开始闪烁,再次中断1000次后停止闪烁,一直循环执行。 【实验相关代码】 *#pragmavector=T4_VECTOR __interruptvoidT4_ISR(void) { //IRCON=0x00; //清中断标志,硬件自动完成 if(counter<200)counter++;//10次中断LED闪烁一轮 else { counter=0;//计数清零 RLED=! RLED;//改变小灯的状态 } } 主函数功能: 这是一个中断服务程序,每200次中断改变一次红色LED的状态。 【实验中遇到的困难和解决办法】: 怎么将T4设置为不同模式。 #defineTIMER3_SET_MODE(val)\ do{\ T4CTL&=~0X03;\ (val==1)? (T4CTL|=0X01): /*DOWN*/\ (val==2)? (T4CTL|=0X02): /*Modulo*/\ (val==3)? (T4CTL|=0X03): /*UP/DOWN*/\ (T4CTL|=0X00);/*freeruning*/\ }while(0)可以根据需要设置不同模式,但前提要在程序里具有定义说明。 8.外部中断实验 【实验目的】 1.了解CC2530的中断使用 2.如何采集外部输出中断(按键触发)并控制LED灯状态 【实验设备】 实验设备 数量 备注 CC2530多传感器节点底板 1 支持CC2530工作的底板 CC2530节点模块 1 无线SOC USB线 1 连接仿真器 C51RF-3仿真器 1 程序下载调试用 【实验原理】 1.本例使用摇杆按键来翻转LED的状态,但这里按键不是做键盘用,而是产生中断触发 信号。 按下节点底板上“SW2”键,CC2530模块上1个LED灯改变当前状态。 2.按键采用五向摇杆按键Joystick,这里只使用按下这个键。 无按键按下时P06的状态为上拉,高电平。 中间键按下时(Cneter),P06与GND连通,P06采集到低电平。 【实验步骤】 第一步: 打开E盘“\演示及开发例子程序\”内文件夹“CC2530单片机基础程序”。 使用IAR7.51打开“1.3中断输入和采集实验\CC2530-2”中工程文件“for9-external.eww”。 第二步: 打开工程后选择Debug或Release模式。 第三步: 编译工程并下载到目标板。 第四步: 运行和查看效果。 【实验现象】 按下摇杆按键“SW2”的中心按键,点亮红色LED(左边),再次按下时熄灭,循环执行。 【实验相关代码】 #pragmavector=P0INT_VECTOR __interruptvoidP0_ISR(void) { if(P0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 安徽 工业大学 WSN 无线 传感器 网络 实验 报告 汇编