第五次无线传感器网络实验.doc_第1页
第五次无线传感器网络实验.doc_第2页
第五次无线传感器网络实验.doc_第3页
第五次无线传感器网络实验.doc_第4页
第五次无线传感器网络实验.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

南昌航空大学实验报告二O 一六 年 五 月 3 日课程名称: 无线传感器网络 实验名称: 点对点通信实验 班级: 姓名: 指导教师评定: 签名: 1、 实验目的1.了解CC2530无线通信的基本原理和用法;2. 掌握实验编译、下载和测试的方法;3. 分析CC2530 BasicRF工程的文件组织和源代码,为学习Z-Stack协议栈奠定基础。2、 实验内容1. 将一个CC2530节点(称为1号节点)编程为受控节点,将另一个CC2530节点(称为2号节点)编程为控制节点;2. 将2号节点的USB232通信接口通过USB线连接PC;在串口调试助手输入命令,以无线通信的方式控制1号节点上的LED。3、 基础知识1. 工程文件介绍CC2530 BasicRF有三个文件夹,本实验所使用的eww文件(workspace)是经过删减的,删掉了4个不使用的工程,仅保留了light_switch工程,并且此工程内部的LCD、button等硬件不具备的资源或不使用的资源相关的.h和.c文件进行了删减。docs文件夹:打开文件夹里面仅有一个名为CC2530_Software_Examples的PDF文档,文档的主要内容是介绍BasicRF的特点、结构及使用,里面Basic RF包含三个实验例程:无线点灯、传输质量检测、谱分析应用。Ide文件夹:有三个文件夹,及一个cc2530_sw_examples.eww工程,在IAR环境中打开,在workspace看到。IdeSettings文件夹:主要保存有读者自己的IAR环境里面的设置。Idesrf05_CC2530文件夹:仅有一个iar文件夹,进入之后有工程light_switch.eww,还有temp文件夹存放临时文件,settings文件夹存放工程的一些设置文件。Source文件夹:打开文件夹里面有apps文件夹和components文件夹Sourceapps文件夹:存放BasicRF实验的应用实现的源代码Sourcecomponents文件夹:包含着BasicRF的应用程序使用不同组件的源代码。打开实验工程:打开文件夹WSN CC2530 BasicRFide路径里的cc2530_sw_examples.eww,并点击application的light_switch.c。2、Basic RF layer介绍及其工作过程关键字:CCM Counter with CBCMAC (mode of operation)HAL Hardware Abstraction Layer (硬件抽象层)PAN Personal Area Network (个人局域网)RF Radio Frequency (射频)RSSI Received Signal Strength Indicator(接收信号强度指示)在介绍Basic RF之前,来看看这个实验例程设计的大体结构,如图所示Basic RF例程的软件设计框图就如一座建筑物,Hardware layer放在最底,肯定是你实现数据传输的基础了。Hardware Abstraction layer它提供了一种接口来访问TIMER,GPIO,UART,ADC等。这些接口都通过相应的函数进行实现。Basic RF layer为双向无线传输提供一种简单的协议图4 Basic RF例程的软件设计框图Application layer是用户应用层,它相当于用户使用Basic RF层和HAL的接口,也就是说我们通过在Application layer就可以使用到封装好的Basic RF和HAL的函数。本例程的要求就是读者理解掌握Basic RFBasic RF layer简介:Basic RF由TI公司提供,它包含了IEEE 802.15.4标准的数据包的收发功能但并没有使用到协议栈,它仅仅是是让两个结点进行简单的通信,也就是说Basic RF仅仅是包含着IEEE 802.15.4标准的一小部分而已。其主要特点有:1、不会自动加入协议、也不会自动扫描其他节点也没有组网指示灯(LED3)。2、没有协议栈里面所说的协调器、路由器或者终端的区分,节点的地位都是相等的。3、没有自动重发的功能。Basic RF layer为双向无线通信提供了一个简单的协议,通过这个协议能够进行数据的发送和接收。Basic RF还提供了安全通信所使用的CCM-64身份验证和数据加密,它的安全性读者可以通过在工程文件里面定义SECURITY_CCM在Project-Option里面就可以选择,本次实验并不是什么高度机密,所以在SECURITY_CCM前面带X了。Basic RF的工作过程:启动、发射、接收启动1、确保外围器件没有问题2、创建一个basicRfCfg_t的数据结构,并初始化其中的成员,在basic_rf.h代码中可以找到typedef struct uint16 myAddr; /16位的短地址(就是节点的地址)uint16 panId; /节点的PAN IDuint8 channel; /RF通道(必须在11-26之间)uint8 ackRequest; /目标确认就置true#ifdef SECURITY_CCM /是否加密,预定义取消了加密uint8* securityKey;uint8* securityNonce;#endif basicRfCfg_t;3.调用basicRfInit()函数进行协议的初始化,在basic_rf.c代码中可以找到uint8 basicRfInit(basicRfCfg_t* pRfConfig)函数功能:对Basic RF的数据结构初始化,设置模块的传输通道,短地址,PAD ID。发送1. 创建一个buffer,把payload放入其中。Payload最大为103个字节2. 调用basicRfSendPacket()函数发送,并查看其返回值在basic_rf.c中可以找到uint8 basicRfSendPacket(uint16 destAddr, uint8* pPayload, uint8 length)destAddr目的短地址pPayload指向发送缓冲区的指针length发送数据长度函数功能:给目的短地址发送指定长度的数据,发送成功刚返回SUCCESS,失败则返回FAILED接收1. 上层通过basicRfPacketIsReady()函数来检查是否收到一个新数据包在basic_rf.c中可以找到uint8 basicRfPacketIsReady(void)函数功能:检查模块是否已经可以接收下一个数据,如果准备好刚返回TRUE2. 调用basicRfReceive()函数,把收到的数据复制到buffer中。代码可以在basic_rf.c中可以找到uint8 basicRfReceive(uint8* pRxData, uint8 len, int16* pRssi)函数功能:接收来自Basic RF层的数据包,并为所接收的数据和RSSI值配缓冲区。3.light_switch.c代码详解:void main(void)/ Config basicRFbasicRfConfig.panId = PAN_ID;/上面讲的Basic RF的启动中的basicRfConfig.channel = RF_CHANNEL; /初始化basicRfCfg_tbasicRfConfig.ackRequest = TRUE;结构体的成员。halBoardInit();if(halRfInit()=FAILED)HAL_ASSERT(FALSE);halLedClear(1); / 关LED1/*选择性下载程序,发送模块和接收模块*/appSwitch(); /节点为按键S1 P0_0appLight(); /节点为指示灯LED1 P1_0/ Role is undefined. This code should not be reached HAL_ASSERT(FALSE);halLedSet(x)置1是使灯点亮,halLedClear(x)是使灯熄灭。第1213行:选择其中的一行,并把另外一行屏蔽掉;一个是实现发射通过USB232接收的PC信息的功能,另一个是接收控制信息并改变LED状态的功能。分别为Basic RF发射和接收。不同模块在烧写程序时选择不同功能。注意: 程序会在appSwitch(); 或者appLight();里面循环或者等待,不会执行到第15行。4、 实验过程第一步:打开.WSN CC2530 BasicRFidesrf05_cc2530iar文件夹下面的工程,在light_switch.c里面找到main函数,找到下面内容,把appLight(); 注释掉,下载到发射模块。/*Select one and shield to another*/appSwitch(); /作为控制节点(2号节点,需连接PC),请务必注释掉下行/ appLight(); /作为受控节点(1号节点,观察其LED),请务必注释掉上行第二步:找到相同位置,这次把appSwitch();注释掉,下载到接收模块。/*Select one and shield to another*by boo*/appSwitch(); /作为控制节点(2号节点,需连接PC),请务必注释掉下行appLight(); /作为受控节点(1号节点,观察其LED),请务必

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论