无线传感网络期末大作业.doc_第1页
无线传感网络期末大作业.doc_第2页
无线传感网络期末大作业.doc_第3页
无线传感网络期末大作业.doc_第4页
无线传感网络期末大作业.doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

基于ZigBee的点对点通信实验一: ZigBee的简介 Zigbee是IEEE 802.15.4协议的代名词。根据这个协议规定的技术是一种短距离、低功耗的无线通信技术。这一名称来源于蜜蜂的八字舞,由于蜜蜂(bee)是靠飞翔和“嗡嗡”(zig)地抖动翅膀的“舞蹈”来与同伴传递花粉所在方位信息,也就是说蜜蜂依靠这样的方式构成了群体中的通信网络。其特点是近距离、低复杂度、自组织、低功耗、低数据速率、低成本。主要适合用于自动控制和远程控制领域,可以嵌入各种设备。简而言之,ZigBee就是一种便宜的,低功耗的近距离无线组网通讯技术。无线传感网络的无线通信技术可以采用ZigBee技术、蓝牙、Wi-Fi和红外等技术。ZigBee技术是一种短距离、低复杂度、低功耗、低数据速率、低成本的双向无线通信技术或无线网络技术,是一组基于IEEE802.15.4无线标准研制开发的组网、安全和应用软件方面的通信技术。1、CC2530简介 CC2530是用于IEEE802.15.4、ZigBee和RF4CE应用的一个真正的方案。它能以非常低的总的材料成本建立强大的网络节点。CC2530结合了领先的RF收发功能的优良性能,业界标准的增强型8051CPU,系统内可编程内存,8-KB RAM 和许多其他KB的内存。CC2530有不同的运行模式,使得它尤其适应超低功耗要求的系统。系统模式之间的转换时间短进一步确保了低能源消耗。2、 网络结构及协议解 2.1 Basic RF 简介 Basic RF 由 TI 公司提供,它包含了 IEEE 802.15.4 标准的数据包的收发。这个协议只是用来演示无线设备是如何进行数据传输的,不包含完整功能的协议。但是它采用了与 802.15.4 MAC 兼容的数据包结构及 ACK 包结构,其功能限制如下: 1. 不提供“多跳”、“设备扫描”及 Beacon。 2. 不提供不同种的网络设备,如协调器、路由器等。所有节点同级,只实现点对点传输。 3. 传输时会等待信道空闲,但不按 802.15.4 CSMA-CA 要求进行两次 CCA 检测。 4. 不重传数据。 简言之,Basic RF 不适合直接用于产品的开发,但可用来进行无线设备数据传输的入门学习。2.2 Basic RF 工作原理 1.2.1 启动 1. 创建一个 basicRfCfg_t 的数据结构,并初始化其中的成员 2. 调用 basicRfInit()函数进行协议的初始化 1.2.2 数据发送: 1. 创建一个 buffer,把 payload 放入其中 2. 调用 basicRfSendPacket()函数发送 1.2.3 数据接收: 1. 上层通过 basicR fPacketIsReady()函数来检查是否收到一个新的数据包 2. 调用 basicRfRec eive()函数,把收到的数据复制到 buffer 中。二、基于 Basic RF 的无线LED灯的控制实验 1、 实验目的: 在两个电池板(Q2530SB)上进行CC2530 无线通讯的控制; 2、 实验设备: (1)RF2530N射频模块 2 块 ;(2)Q2530SB 底板 2 块; (3) USB 连接线 一根 ;(4) SmartRF04EB 仿真器 一个 。 3、 程序功能: 一个Q2530SB(简称Q1 )上的按键作为控制开关,无线控制另一个Q2530SB(简 称Q2)上的LED 灯开启或者关闭; 4、实验过程: 将Q2530RF 模块插在电池板上,连上仿真器,将发送、接收程序分别下进Q1、 Q2两个模块;拔掉仿真器,给 Q1、Q2供电,可以看到 Q1、Q2上的D1灯熄灭,表 明上电后程序开始运行;此时按下 Q1(发射板)上的 S2 按键,发现 Q2(接收板) 上的D1灯灭,表明 Q1发送的数据被Q2接收;再次按下 Q1上的S2 按键,Q2上的 D1灯又重新点亮;如此反复; 5、程序演示将程序编译、下载至开发板后,按 Reset 键后,若Q2板开始显示如下此时,按下“S1”键,发送控制信号,将打开Q2板上的 LED1。若开始LED1亮的,将关闭“电灯”板上的 LED1;如此,再按按S1,Q2板不断点亮、熄灭。6、程序简介(1) 程序框架void main(void)uint8 appMode = NONE; basicRfConfig.panId = PAN_ID; /配置basicRFbasicRfConfig.channel = RF_CHANNEL; basicRfConfig.ackRequest = TRUE;#ifdef SECURITY_CCM basicRfConfig.securityKey = key;#endif halBoardInit(); /初始化外围设备 if(halRfInit()=FAILED) HAL_ASSERT(FALSE); halLedSet(1); /appSwitch(); /按键 appLight(); /点亮灯 (2)2.4.2 设备寻址: 本例程实现的是两个点间的通信,各自的地址只因设置为“开关”或者“灯”而不同,不存在地址安排等一系列复杂的网络问题。此平台采用的是典型的“死循环”结构,其中有一个循环等待用户按“S1”键,进行功能设置,设置完之后按功能不同分别进入“开关”和“灯”的死循环。如下代 static void appSwitch() /开关 / 初始化BasicRF basicRfConfig.myAddr = SWITCH_ADDR; basicRfReceiveOff();/主函数死循环 while (TRUE) if(halButtonPushed()=HAL_BUTTON_1) basicRfSendPacket(LIGHT_ADDR, pTxData, APP_PAYLOAD_LENGTH); halIntOff(); halMcuSetLowPowerMode(HAL_MCU_LPM_3); halIntOn(); static void appLight() /灯 / 初始化 BasicRF basicRfConfig.myAddr = LIGHT_ADDR; basicRfReceiveOn();/主函数死循环 while (TRUE) while(!basicRfPacketIsReady(); if(basicRfReceive(pRxData, APP_PAYLO

温馨提示

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

评论

0/150

提交评论