无线传感器网络实验教程---Zigbee基础实验
ZigBee网络基础试验报告
ZigBee网络基础试验报告ZigBee网络基础试验报告本报告通过Sample App这个例子实现数据在ZigBee网络中的简单传输。
要求掌握网络组建及协议分析仪的使用方法。
1 设备的分类ZigBee网络只支持两种设备:1)全功能设备(FFD Full Function Device)2)精简功能设备(也叫半功能设备Reduced Function Device)两者的比较:其中FFD设备能够提供MAC层的所有服务,可充当任何ZigBee 节点,不仅可以接收发送数据,还具有路由功能,因此可以接收子节点;而RFD只能提供部分的MAC层服务,只能充当子节点,只负责将采集到的数据发送给协调器和路由器节点,本身并不具有路由功能,因此不能接收子节点信息,RFD之间的通信只能通过FFD来完成。
ZigBee标准在此基础上定义了三种节点:ZigBee协调器(Coordinator)、ZigBee路由器(Routers)、ZigBee终端(End Device)2 所使用的设备所用的ZigBee设备都具有连接网络和断块网路的功能。
ZigBee协调器和路由器都具有以下附加功能:1)允许设备以如下方式连接网路:①MAC(Medium Access Control)层的连接命令。
②应用层的连接请求2)允许设备以如下方式断开网络;①MAC层的断开命令②应用层的断开命令③对逻辑网络地址的分配④维护邻居设备3 组建网络组建一个网状的ZigBee网络包括两个步骤:网络的初始化和节点加入网络;而节点加入网络又有两个步骤:通过协调器加入网络和通过已有节点入网。
1)网络的初始化ZigBee网络的建立是由协调器(Coordinator)发起的,任何一个节点想建立一个网络必须满足两个条件:①节点是FFD节点,具有协调器功能;②节点还没有和其他网络连接(一个网络中只许有一个协调器)网络初始化过程:图1:网络初始化流程网络初始化流程如下:1)确定网络协调器。
实验过程_物联网无线传感器网络技术与应用(ZigBee版)_[共3页]
f8wConfig.cfg:该文件包含信道选择、网络ID 号等有关的链接命令,如我们的信道默认为-DDEFAULT_CHANLIST=0x00000800 // 11 - 0x0B ;建立网络ID 的默认ID 为-DZDAPP_CONFIG_PAN_ID=0xFFFF。
所以,当要建立不同的网络信道及网络ID 时就可以在这里修改。
f8wCoord.cfg:配置无线网络中的协调器设备类型及CPU 的运行频率,如下面的代码就定义了该设备具有协调器和路由器的功能,其代码具体如下。
/* Coordinator Settings */-DZDO_COORDINATOR // Coordinator Functions-DRTR_NWK // Router Functions注意:协调器是建立网络的设备,在网络建立好以后,其实它在上位机与终端节点之间也是起到路由的作用。
f8wEndev.cfg:配置无线网络中的终端节点CPU 的运行频率及MAC 的设定。
f8wRouter.cfg:配置无线网络中的路由设备的CPU 的运行频率、MAC 的设定及路由的设定等。
三、实验过程打开SampleApp.c 文件,可发现已经存在代码如下。
afAddrType_t SampleApp_Periodic_DstAddr;afAddrType_t SampleApp_Flash_DstAddr;我们按照格式来添加自己的广播地址结构代码如下。
afAddrType_t Broadcast_DstAddr;在SampleApp.c 文件中找到SampleApp_Init(uint8 task_id) 函数进行广播参数初始化,代码如下。
// 广播通信定义Broadcast_DstAddr.addrMode = (afAddrMode_t)AddrBroadcast;Broadcast_DstAddr.endPoint = SAMPLEAPP_ENDPOINT;Broadcast_DstAddr.addr.shortAddr = 0xFFFF;代码添加如图6.8所示。
无线传感网——zigbee基础实验-点对点通信
⽆线传感⽹——zigbee基础实验-点对点通信 //头⽂件1 #include <iocc2530.h>23 #include "hal_mcu.h"4 #include "hal_assert.h"5 #include "hal_board.h"6 #include "hal_rf.h"78 #include <stdio.h>9 #include "basic_rf.h"1011#define NODE_TYPE 012#define RF_CHANNEL 251314#define PAN_ID 0x200715#define SEND_ADDR 0x253016#define RECV_ADDR 0x25201718static basicRfCfg_t basicRfConfig;先将NODE_TYPE改为1(发送),然后可找⼀个标识为Status的盒⼦编译烧写此程序(断电)再将NODE_TYPE改为0(接收),然后可找⼀个标识为Data的盒⼦编译烧写此程序RF数据发送函数void rfSendData(void){uint8 pTxData[] = {"你好,我是发送端CC2530过来的数据!\r\n\r\n"};uint8 ret;printf("send node start up...\r\n");basicRfReceiveOff();while(TRUE){ret = basicRfSendPacket(RECV_ADDR, pTxData, sizeof pTxData);if (ret == SUCCESS){hal_led_on(1);halMcuWaitMs(100);hal_led_off(1);halMcuWaitMs(900);}else{hal_led_on(1);halMcuWaitMs(1000);hal_led_off(1);}}} RF数据接收函数 1void rfRecvData(void)2 {3 uint8 pRxData[128];4int rlen;567 printf("recv node start up...\r\n");89 basicRfReceiveOn();1011while(TRUE)12 {13while(!basicRfPacketIsReady());14 rlen = basicRfReceive(pRxData, sizeof pRxData, NULL);15if(rlen > 0)16 {17 printf((char *)pRxData);18 }19 }20 }主函数void main(){halMcuInit(); //MCU初始化hal_led_init(); //LED初始化hal_uart_init(); //Uart初始化if(FAILED == halRfInit()) //CC2530-RF 初始化{HAL_ASSERT(FALSE);}basicRfConfig.panId = PAN_ID;basicRfConfig.channel = RF_CHANNEL;basicRfConfig.ackRequest = TRUE;#if NODE_TYPEbasicRfConfig.myAddr = SEND_ADDR; //(0x2530)#elsebasicRfConfig.myAddr = RECV_ADDR; //(0x2520)#endifif(basicRfInit(&basicRfConfig)==FAILED){HAL_ASSERT(FALSE);}#if NODE_TYPErfSendData();#elserfRecvData();#endif}再将刚才烧写好的发送盒⼦拼接到接收盒⼦上开串⼝调试器后(两根线都连接收盒)进⾏跟踪结果如下:(接收盒⼦不断有数据过来)"你好,我是发送端CC2530过来的数据!"。
ZigBee无线传感器网络设计实战第二章
实训 2-1 通用数字接口控制
4个GND引脚(GND为接地引脚)。 2个射频天线输入输出引脚(RF_N和RF_P)。 2个32 MHz外部晶振引脚(XOSC_Q1和XOSC_Q2)。 1个数字输入复位引脚(RESET_N)。 1个模拟I/O参考电流的外部精密偏置电阻引脚(RBIAS1)。
实训 2-1 通用数字接口控制
CC2530实物及引脚图
实训 2-1 通用数字接口控制 其中包括: 21个I/O引脚(P0_0~P0_7、P1_0~P1_7、P2_0~P2_4)。 6个2 V~3.6 V模拟电源引脚(AVDD1~AVDD6)。 2个2 V~3.6 V数字电源引脚(DVDD1~DVDD2)。 1个1.8 V内部数字电源引脚(DCOUPL)。
实训 2-1 通用数字接口控制
在任何时候,要改变一个端口引脚的方 向,使用寄存器PxDIR来设置每个端口 引脚为输入或输出即可。只要设置 PxDIR中的指定位为1,其对应的引脚口 就被设置为输出了。
实训 2-1 通用数字接口控制
当读取端口寄存器P0、P1和P2的值时,不管引脚配置 如何,输入引脚上的逻辑值都被返回。这在执行读—修 改—写指令期间不适用。读—修改—写指令为:ANL, ORL,XRL,JBC,CPL,INC,DEC,DJNZ,MOV, CLR和SETB。在一个端口寄存器上操作,以下是正确 的:当目标是端口寄存器P0、P1或P2中一个独立的位 时,寄存器的值(不是引脚上的值)被读取、修改并写 回端口寄存器。
实训 2-1 通用数字接口控制 I/O端口的寄存器如下:
实训 2-1 通用数字接口控制
用作输入时,通用I/O端口引脚可以设置为上拉、 下拉或三态操作模式。作为缺省的情况,复位之 后,所有的端口均设置为带上拉的输入。要取消 输入的上拉或下拉功能,就要将PxINP中的对应 位设置为1。I/O端口引脚P1.0和P1.1没有上拉/下 拉功能。
实验1 ZigBee基础实验
温州大学物理与电子信息工程学院
物联网技术实验报告
实验名称:实验一:ZigBee基础实验
班级:姓名:学号:
实验地点:日期:
【实验目的】
1、掌握CC2530 数字 I/O 接口;
2、掌握CC2530通过控制 GPIO 驱动 LED的方法;
3、掌握CC2530定时器的配置、中断的产生和中断服务程序的用法。
【实验仪器】
1、G7实验箱一台、PC机
2、IAR开发套件
3、USB-Mini线一根、CC DEBUGGER烧录器一个
【实验内容】
(1)编程实现:使用CC2530定时器将绿红蓝三个 LED 灯轮流点亮与关闭(先蓝灯亮1s后关闭,再红灯亮1s后关闭,再蓝灯……)。
(2)电路原理图:
(3)代码以图片形式粘贴在下面:
(4)实验报告以“学号+姓名”命名,交给班长统一发送到cljin@。
【实验总结与分析】
【实验成绩】
教师:金才垄 2018 年月日。
ZigBee实验(精)
实验准备
通过上下按钮选择菜单“ZigBee配置演示”,然 后按确认键进入其界面,然后选择“设定模块 PAN ID”。如图所示:
实验准备
实验准备
按照如上所述步骤,将所有需要加入网络的 ZigBee模块都设定为同一个PAN ID。 设定完毕后,将协调器正确插入主板上。将路由 器或终端插入节点上。
Router(路由器)
负责转发资料包,寻找最适合的路由路径,当有节点加入 时,可为节点分配地址,Router 通常定义为具有电源供 电的设备,不能进入低功耗状态。每个Zigbee 网络可能 需要多个Router,每个Router 可以收发数据也可以转发 数据,当一个网络全部由Coordinator(1 个)及Router( 多个)构成时,这个网络才是真正的MESH 网络(网状网 ),每个节点发送的数据全部是自动路由到达目标节点。
ZigBee实验
物联网教学实验 深圳市讯方通信技术有限公司 2011-06
ZigBee无线传感器网络构架
ZigBee无线传感器网络
ZigBee无线传感器网络由:PC机部分、 网关部分、路由节点部分、传感器节点部分 四部分组成,用户可以很方便的实现传感器 网络无线化,网络化,规模化的演示,教学 ,观测和再次开发。
实验准备
实验准备
实验演示
返回主菜单,通过上下按钮选择菜单“多点温度 采集演示”,如图所示:
实验演示
开启一个ZigBee节点,节点自动接入网络,如图 所示:
ZigBee无线传感器网络构架
Zigbee 网络的节点形态
Zigbee 网络具有三种网络形态节点: Coordinator(中心协调器) Router(路由器) End Device(终端节点)
【优质】zigbee实验指导书-实用word文档 (19页)
本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!== 本文为word格式,下载后可方便编辑和修改! ==zigbee实验指导书篇一:zigbee实验无线传感网络设计-----基于手机(联想a698t)计算机科学与技术1205班0911120513孙斌1.手机中所包括的终端设备及传感器:手机操作系统为Android OS 4.0网络连接 GSM/TD-SCDMA/GPRS/EDGE支持频段:2G:GSM 900/1800/19003G:TD-SCDMA 201X-2025MHz支持WAPI兼容WIFI(802.11n) 电容触摸屏摄像头传感器类型为CMOS支持重力传感器支持光线传感器支持距离传感器电容触摸屏2.家庭环境智能监测系统设计家庭环境智能监测系统是智能家居系统中至关重要的一部分,一般包括温度、湿度、光线、火灾,.有毒气体等的监测。
通过获得的这些对象信息,用户可以多种方式感知家庭内部的环境信息并且对家庭进行相应的处理和控制。
当采集到的光强数据低于设定值时,用户可以通过软件调节灯光的强弱;当感知到的温度高于或低于人的舒适温度时,系统自动打空调;当家庭环境的湿度过低时,管理中心控制加湿器的打开;当家庭煤气发生泄漏或发火灾时候,烟雾传感器将感知数据发送给用户,实施报警。
家庭环境智能监测为用户提供了可靠、完善的居所环境信息,使得人们的生活更加舒适、高效、安全。
本系统设计特点如下:(1)提供全面的家庭环境真实信息,保证了家庭内部的安全。
(2)据弃了有线家庭环境监测系统铺设成本高,扩展性和维护性差的缺点。
(3)不受地理和空间限制,只要在网络覆盖范围内,就可以通过手机随时掌握家庭环境的最新信息。
图1家庭环境智能监测系统结构如图1所示,由家庭内部网络、家庭网关和外部网络三部分组成,各自功能如下:(1)家庭内部网络采用ZigBee无线技术实现内部网络的组建。
网络中主节点举起网络后,传感器节点以关联方式加入ZigBee网络,在每个传感器节点上都搭载了温度、湿度、光强和烟雾传感器以及LED灯。
ZigBee网络设置基础实验
一、实验目的1、学习和掌握IAR软件的安装。
2、学习和掌握ZigBee协议栈在IAR软件开发环境中的应用。
二、实验设备(1)硬件设备● PC机一台;● CC2530-DEBUG仿真器一台;● ZigBee通信模块(插接在传感器模块的ZigBee通信模块);● ZigBee协调器(插接在嵌入式网关或PC机上的ZigBee通信模块)。
(2)软件工具● IAR Embedded Workbench Evaluation for 8051 8.10版;● PL2303-USB转串口驱动程序;●串口调试软件4.5。
三、实验原理及关键知识点3.1 ZigBee网络设备ZigBee网络有三种逻辑设备类型,即协调器(Coordinator)、路由器(Router)和终端设备(End-device)。
一般情况下一个ZigBee网络由一个协调器节点、若干个路由器节点和若干个终端节点组成(星形网络拓扑结构除外)。
(1)协调器(Coordinator)协调器的作用是创建和维护ZigBee网络,也是形成网络的第一个设备。
ZigBee网络中的协调器与路由器和终端的硬件电路并无区别,只是其软件设置有所不同。
协调器的设置内容包含网络拓扑结构、信道和网络标识(即网络号PAN ID),也可使用默认值而省略设置,然后开始启动这个网络(各个节点上电即为启动)。
一旦启动网络,在与协调器的有效通信距离范围内且设置为相同网络标识和信道的路由器和终端就会自动加入这个网路。
注意:协调器的主要作用是建立和设置网络。
网络一旦建立完成,该协调器的作用就与路由器节点相同,甚可以退出着这个网络(仅限于树形和网形网络)。
(2)路由器(Router)路由器是在网络中起支持关联设备的作用,实现其它节点的消息转发功能。
ZigBee的树形网络和网形网络可有多个ZigBee路由器,ZigBee的星形网络不支持路由器。
路由器功能如下:i) 使其子树中的设备(路由器或终端)加入这个网络;ii) 路由;iii)辅助其子树终端的通信。
ZigBee无线传感器网络设计实战第一章
实训 1-1 安装IAR软件和硬件驱动
从技术架构上看,物联网可以分 为3层,即感知层、网络层和应用 层,如右图所示。
物联网架构示意图
实训 1-1 安装IAR软件和硬件驱动
感知层:位于最底层,相 当于人体的皮肤和五官。 它利用RFID、摄像头、 传感器、GPS、二维码等 随时随地识别和获取物体 的信息。
实训 1-1 安装IAR软件和硬件驱动 如今,物联网与各个行业不断融合,行业应用稳步发展,并蕴含巨大空间,如下图所示。
物联网应用示意图
实训 1-1 安装IAR软件和硬件驱动
从市场应用来看,占据中国物联网市场主要份 额的领域为智能工业、智能物流、智能交通、 智能电网、智能医疗、智能农业、智能环保和 智能家居。其中,智能工业占比最大。
成本低
时延短
可靠性高
安全性高
有效范围小
网络容量大
工作频段灵活
数据传输速率低:
实训 1-1 安装IAR软件和硬件驱动
在家庭/商业自动化、智慧能源、健康医疗 及零售等领域,ZigBee也被证明是可靠的 无线网络解决方案,如右图所示。
网络层:位于中间层,相 当于人体的神经中枢和大 脑。它通过移动通信网络 与互联网的融合,将物体 的信息实时准确地传递出 去。
应用层:位于最顶层,相 当于人的社会分工。它与 行业需求相结合,对感知 层得到的信息进行处理, 实现智能化识别、定位、 跟踪、监控和管理等实际 应用。
实训 1-1 安装IAR软件和硬件驱动
感知层是物联网发展和应用的基础,解决的是人类世界和物理世界的数据获取问题。它实际上包含了 数据采集和数据短距离传输两个过程。
即首先通过传感器、摄像头等设备采集外部 物理世界的数据,然后通过ZigBee、蓝牙、 Wi-Fi、工业现场总线等短距离无线或有线 通信技术进行协同工作,或者传递数据到网 关设备。
ZigBee无线网络实验实训手册V2.0
无线传感网络实验实训手册0、实验准备0.1、硬件认知节点ZigBee模块采用TI最新一代ZIGBEE芯片CC2530支持基于IEEE802.15.4的ZIGBEE2007/PRO协议采用WXL标准的20芯双排直插模式接入网关主板和感知节点CC2530特点:低功耗④主动模式RX(CPU 空闲):24 mA ④主动模式TX 在1dBm(CPU 空闲):29mA ④供电模式1(4 µs 唤醒):0.2 mA ④供电模式2(睡眠定时器运行):1 µA ④供电模式3(外部中断):0.4 µA④宽电源电压范围(2 V 3.6 V)微控制器④优良的性能和具有代码预取功能的低功④耗8051 微控制器内核④32-、64-或128-KB 的系统内可编程闪存④8-KB RAM,具备在各种供电方式下的数④据保持能力④支持硬件调试 外设④强大的5 通道DMA④IEEE 802.5.4 MAC 定时器,通用定时器(一个16 位定时器,一个8 位定时器)④IR 发生电路④具有捕获功能的32-kHz 睡眠定时器④硬件支持CSMA/CA④支持精确的数字化RSSI/LQI④电池监视器和温度传感器④具有8 路输入和可配置分辨率的12 位ADC④AES 安全协处理器④ 2 个支持多种串行通信协议的强大USART④21 个通用I/O 引脚( 19× 4 mA,2×20 mA)④看门狗定时器节点底板④支持4节电池供电④96*16液晶显示④1个多功能按键④一个miniUSB串口,可通过伸缩USB线缆供电④标准WXL20针高频模块接口以及标准的传感器模块接口。
图表 1传感器/控制扩展模块图表 2LED*4图表 3继电器图表 4RFID图表 5振动传感器图表 6人体红外传感器图表 7温度光敏传感器图表 8温湿度传感器图表 9C51RF-3仿真器USB接口:通过USB接口把C51RF-3仿真器与计算机有机的连接起来。
ZigBee无线传感器网络设计实战第五章
XXGC
终端节点
协调器
无线数据传输原理图
实训 5-1 无线数据发送和接收 知识链接
1 设备类型
在ZigBee无线网络中,存在3种逻辑设备类型, 即:协调器(Coordinator)、路由器(Router) 和终端节点(End-device)。 ZigBee网络通常由一个协调器以及多个路由器和 多个终端设备组成,绿色节点为协调器,蓝色节 点为路由器,橙色节点为终端设备,如右图所示。
afAddrType_t *dstAddr:该参数包含了目 的节点的网络地址以及发送数据的格式。 endPointDesc_t *srcEP:该参数的作用就 是指定端口号。 uint16 cID:这个参数描述的是命令号。 uint16 len:该参数标识了发送数据的长度。 uint8 *buf:该参数是指向发送数据缓存区的 指针。
/* Coordinator Settings */ -DZDO_COORDINATOR -DRTR_NWK
//开启协调器功能 //开启路由器功能
不同的是,如果路由器和终端节点的 ZDAPP_CONFIG_PAN_ID值设置为非0xFFFF 值,则会以ZDAPP_CONFIG_PAN_ID值作为 PANID。
实训 5-1 无线数据发送和接收
如果协调器的PANID的设置值为小于等于 0x3FFF的有效值,协调器就会以这个特定的 PANID值建立网络。但是,如果在默认的信道 上已经有了该PANID值的网络存在,则协调器 会继续搜寻其他的PANID,直到找到网络不冲 突为止。
ZigBee网络示意图
实训 5-1 无线数据发送和接收
协调器是整个网络的核心,它最主要的作用是启 动网络,其方法是选择一个相对空闲的信道,形 成一个PANID(网络编号)。它也会协助建立 网络中的安全层及处理应用层的绑定。当整个网 络启动和配置完成之后,它的功能就退化为一个 普通路由器。
ZigBee无线传感器网络的研究与实验
ZigBee无线传感器网络的研究与实验引言有人将ZigBee翻译成「紫蜂」,为无线个人局域网络(Wireless Personal Area Networks, WPAN)的标准之一,已于2005年6月27日公布。
除了逻辑链路控制(Logic Link Control, LLC)层、媒介存取控制层(MAC),与物理层使用2003年10月公布的IEEE 802.15.4标准外,ZigBee标准协议制定了应用层与网络层,及MAC、应用层与网络层的安全加密服务标准。
以传感器和自组织网络为代表的无线应用并不需要较高的传输带宽,但却需要较低的传输延时和极低的功率消耗,使用户能拥有较长的电池寿命和较多的器件阵列。
目前迫切需要一种符合传感器和低端的、面向控制的、应用简单的专用标准,而Zigbee的出现正好解决了这一问题。
Zigbee有着高通信效率、低复杂度、低功耗、低速率、低成本、高安全性以及全数字化等诸多优点。
这些优点使得Zigbee和无线传感器网络完美地结合在一起。
目前,基于Zigbee技术的无线传感器网络的研究和开发已得到越来越多的关注。
1Zigbee协议术语配置文件(profile):Zigbee协议的配置文件是对逻辑组件及其相关接口的描述,是面向某个应用类别的公约、准则.通常没有程序代码与配置文件相关联.属性(attribute):设备之间通信的每一种数据像开关的状态或温度计值等皆可称为属性.每个属性可得到唯一的ID值.簇(cluster):多个属性的汇集形成了簇,每个簇也拥有一个唯一的ID。
虽然个体之间传输的通常是属性信息,但所谓的逻辑组件的接口指的却是簇一级的操作,而非属性一级.终端(endpoint):每个支持一个或多个簇的代码功能块称为终端。
不同的设备通过它们的终端及所支持的簇来进行通信。
配置文件定义了属性ID与簇ID,使之看起来就像设备的某种特性.以家庭智能控制系统为例,灯配置文件设定了远程控制设备的簇OnOffDRC 含有一种属性OnOff,且该属性为无符号8位值,值0XFF意味着"开",0X00为关,0XF0则为无效。
Zigbee无线传感器网络组网实验
3 hj z u n myC mma dC l g ,hj z u n 50 4 .S iah a gAr i o n l e S iah a g0 0 8 ) o e i
Ab ta t i b e o p we wie e s n t r s a t e fte t ln o S s r c :Z g e lw o r r l s e wo k , s h it s p a e f r W N i e it g, a e p i a t n in t n xsi n r ad te t o o i c e sn l b p o l. Th s a e i to u e t e r c s a d t e r lt d ag r h o f r n n t r . n ra igy y e pe i p p r n r d c s h p o e s n h ea e l o i ms f o mi g e wo k t S b e unl u s q e ty,t r u h t e d v l p n o l r v d d b ih o h p,a c r i g t h r t c l n o e a ou g e , h o g h e eo me tt o o i e y M c r c i p c o d n o t e p o o o d c d b t a Zi b e
器 网络 能协作 地感 知 、 采集 和处 理 网络 覆 盖 的 地理 区域 中
c o d n t r i p o o e . Th e u t n ia e t a f e n r d i g t e Z g e n o t e wiee s s n o e wo k,i c n o r ia o s r p s d e r s l i d c t h ta t ri t o cn h i b e i t h r ls e s rn t r s t a f l l t e f n t n o S we l n e h e u r m e to r n miso n o rf rW S uf l h u ci f i o W N l a d me tt e r q ie n fta s s i n a d p we o N.
无线传感器网络实验报告
无线传感器网络实验报告集团文件版本号:(M928-T898-M248-WU2669-I2896-DQ586-M1988)无线传感器网络实验报告专业计算机科学与技术班级 13级计科1班学号姓名目录实验一 CC2530 I/O基础实验实验二 CC2530按键中断实验三 CC2530定时器的使用实验四串行通信接口发送与接收实验五 Zigbee点到点无线通信实验六 Zigbee串口实验实验七无线温度检测实验实验八 Zigbee组网实验实验一 CC2530 I/O基础实验一、实验目的1.掌握IAR编译软件界面的功能;2.掌握配置通用IO寄存器的方法;3.掌握如何编写代码及程序下载。
二、实验内容1.使用CC2530的IO来控制LED灯循环闪烁;2.判断按键是否被按下,如果按下,改变LED灯的状态,原先亮的灯灭,原先灭的亮,如此循环下去。
三、相关知识点cc2530有21个可编程的I/O引脚,P0、P1口是完全的8位口,P2口只有5个可使用的位。
通过软件设定一组SFR寄存器的位和字节,可使这些引脚作为通常的I/O口或作为连接ADC、计时器或USART部件的外围设备I/O口使用。
2.I/O口特性:(1)可设置为通常的I/O口,也可设置为外围I/O口使用;(2)在输入时有上拉和下拉能力;(3)全部21个数字I/O口引脚都具有影响外部的中断事件也能被用来唤醒休眠模式。
3.I/O端口的寄存器如下:P0:端口0 P1:端口1 P2:端口2 PERCFG:外设控制寄存器 APCFG:模拟外设I/O配置P0SEL:端口0功能选择寄存器 P1SEL:端口1功能选择寄存器P2SEL:端口2功能选择寄存器 P0DIR:端口0方向寄存器P1DIR:端口1方向寄存器 P2DIR:端口2方向寄存器P0INP:端口0输入模式寄存器 P1INP:端口1输入模式寄存器P2INP:端口2输入模式寄存器 P0IFG:端口0中断状态标志寄存器P1IFG:端口1中断状态标志寄存器P2IFG:端口2中断状态标志寄存器 PICTL:中断边缘寄存器P0IEN:端口0中断掩码寄存器 P1IEN:端口1中断掩码寄存器P2IEN:端口2中断掩码寄存器 PMUX:掉信号Mux寄存器OBSSEL0:观察输出控制寄存器0 OBSSEL1:观察输出控制寄存器1 OBSSEL2:观察输出控制寄存器2 OBSSEL3:观察输出控制寄存器3 OBSSEL4:观察输出控制寄存器4 OBSSEL5:观察输出控制寄存器5四、实验步骤1.启动IAR;2.新建一个IAR工作区,或者打开一个IAR工作区;3.连接CC Debugger调试器和ZigBee模块、连接CC Debugger到计算机,安装驱动;4.设置项目参数;5.编写、编译、下载程序。
DIY ZIGBEE入门:无线传感器网络
二、快速实现升级,准备好我们的ZIGBEE无线传感器网络系统在2009年第9期《无线电》杂志,我们使用的是无线龙科技公司生产的DIYRF-2510系统,我们需用购买升级包装:DIYRF-2480-C或者DIYRF-2480-L ;不同的升级包装包括不同的网络处理器模块,分别采用TI CC2480或者无线龙科技LC2480 网络处理器,但是软件兼容,模块插座也兼容,当然,采用不同网络处理器的升级套件价格也有很大差别,和TI CC2480不同,深圳无线龙科技公司设计的LC2480网络处理器采用了标准TI CC2430芯片,内置了无线龙开发的兼容软件,图二是无线龙LC2480网络处理器模块原理示意图图2 无线龙LC2480网络处理器模块原理示意图我们将DIYRF-2510无线网关上的模块,拔出放到安全的地方,然后插入DIYRF-2480升级套装中的一个无线网络处理器模块,就方便的完成了无线网关的ZIGBEE升级,然后,我们再在DIYRF-2510套件的无线节点底板上,分别插上剩下的两个无线龙科技公司生产的2480无线网络处理器模块,就全部快速完成了DIYRF-2510向DIY2480的硬件升级,也就是完成了DIY ZIGBEE无线传感器网络的硬件准备工作,DIYRF升级套件售价非常低廉,用户只需要300元人民币(全套系统DIYRF2510+ZIGBEE2480升级套装,仅仅需要700元人民币),就可以在DIYRF-2510基础上,升级为完整的ZIGBEE无线网络DIY平台。
通过, 可以非常容易在无线龙科技公司网上商城完成现货购买;升级后的DIY-2480 ZIGBEE DIY系统如图3所示图3 升级后的DIY-2480 ZIGBEE DIY系统由于我们原来的DIYRF-2510无线节点底板的CC2510无线单片机中,内置的是简单网络表演软件代码(HEX).在我们实现对ZIGBEE网络处理器控制的时候,我们需用使用新的代码,所以,对两个节点板,我们必需从新下载代码;将节点板分别连接到网关板,如图4连接,使用CC2510仿真器下载软件到节点板CC2510中去:图4 连接到PC,下载ZIGBEE网络处理器控制表演软件到两个节点板完成两个模块下载ZIGBEE控制表演软件后,我们可以装上电池,将USB电缆连接到通讯口(不是仿真器),开始我们在在ZIGBEE无线网络世界的翱翔…..三、开始你第一个ZIGBEE实验首先,将网关(注意检查是否插上了2480网络处理器模块)连接到电脑的USB接口,另外两个无线节点板插上2480网络处理器模块,(注意检查是否下载了正确的ZIGBEE2480表演代码),ZIGBEE网络系统结构如图5所示;图5 DIYRF-2480基本ZIGBEE网络结构在开始我们的实验前,我们必需先了解一下ZigBee网络技术的一些基础知识。
实验六 ZigBee 网络传送传感器数据实验
实验六ZigBee 网络传送传感器数据实验实验目的:㈠熟悉传感网实验箱主板ARM 程序烧写和ZigBee 无线模块上ARM 程序烧写㈡掌握ZigBee 传送传感器数据的方法㈢学会利用编程实现网络传输数据的方法实验设备与软件环境:㈠普通PC 机,Windiws7 操作系统。
已安装好本课程实验所用的软件和驱动程序㈡中软吉大公司出品的传感网实验箱实验步骤:㈠烧写主板的ARM 程序(同实验四)(1)打开传感网实验箱,将ARM 仿真器的JTAG 口连接到主板左上方的STM32_JTAG 口上,具体连接方法同实验三。
(2)将仿真器的另一端通过USB 线接到计算机的USB 插口。
注意:插入后,操作系统会自动安装驱动程序。
记住,每次使用同一个USB 口。
(3)给实验箱侧面的电源口接入220V~电源线,打开开关;打开主板上的电源开关,(4)找到“传感网资料光盘\程序源码\ZigBee 实验\主板ARM 程序”中的工程文件uCOSDemo.uvproj”(5)双击该文件名,打开Keil 软件,如图6.2 所示。
图 6.2 Keil 软件的界面(6)单击工具栏的Load 按钮,把演示程序下载(烧写)到主板的ARM 中。
当下方的“Build Output”栏中,显示如图6.3 所示信息时,表示烧写成功。
此时,主板的液晶屏显示“初始化完成”。
图6.3主板ARM程序下载(烧写)㈡烧写 ZigBee 无线模块的 ARM 程序(1)将ARM 仿真器的JTAG 口连接至ZigBee 无线模块的JTAG 口。
仿真器的另一端同样通过USB 线连接计算机的USB 口(可在上一步时不要拔出)。
(2)给ZigBee 无线模块背面的电池槽安装 3 节 5 号电池。
打开ZigBee 无线模块的电源开关。
(3)按照上述的方法,打开“传感网资料光盘\程序源码\ZigBee 实验\实验 6 采集传感器数据实验\ARM 小板程序”中的工程文件“sensor.uvproj”,烧写到3个ZigBee图6.4工程文件sensor.uvproj”图6.5Kel1软件界面图 6.6 ZigBee 无线模块ARM 程序的下载(烧写)(4)烧写成功后,ZigBee 无线模块的LED1 常亮。
无线传感网——zigbee基础实验-按键控制灯光开关
{
if(SW1 == 0)
//发现有SW1按键信号
{
Delay(100);
//延时片刻,去抖动处理
if(SW1 == 0)
//确认为SW1按键信号
{
while(SW1 == 0); //等待按键松开
D3 = ~D3;
//切换D3灯的开关状态
}
}
if(SW2 == 0) {
Delay(100); if(SW2 == 0) { while(SW2 == 0); D4 = ~D4; } } } /*=========================主函数============================*/ void main() { Init_Port(); //端口初始化 while(1 }
P1SEL &= ~0x04; P1DIR &= ~0x04; P1INP &= ~0x04; P2INP &= ~0x40;
//P1_2作为通用I/O端口 //P1_2端口输入 //P1_2设置为上拉/下拉模式 //P1_2设置为上拉
P0SEL &= ~0x02; P0DIR &= ~0x02; P0INP &= ~0x02; P2INP &= ~0x20;
博客园 用户登录 代码改变世界 密码登录 短信登录 忘记登录用户名 忘记密码 记住我 登录 第三方登录/注册 没有账户, 立即注册
无线传感网 ——zigbee基础实验 -按键控制灯光开关
#include "ioCC2530.h" #define D3 P1_0 #define D4 P1_1 #define D5 P1_3 #define D6 P1_4 #define SW1 P1_2 #define SW2 P0_1 /*=======================简单的延时函数========================*/ void Delay(unsigned int t) {
Zigbee无线传感器网络组网实验
本实验是基于 TSZ-008 系列开发套件对 Zigbee 无线 传感器网络路由的建立与确认等操作进行的 。 2 .1 Zigbee 无线传感器节点硬件设计
要创建 WSN 节点 , 应具备以下的组件 :一片带 SPITM 接口的 PIC18F 单片机 ;一个带有所需外部元件的 RF 收 发器芯片 CC 2420 ;一根天线 , 可以是 PC B 上的引线形成的 天线或单极天线 。
第 30 卷
电 子 测 量 技 术
实体将审查返回的个域网描述符表 , 并找出 ID 表中编号 最低的通道 。
若找到了合适的通道 , 网络层管理实体将为新的网络 选择一个个域网的 ID 标识符 。 ID 值被选定后如果与现有 个域网的 ID 值没有冲突 , 则该值将成为新网络的 ID 。否 则 , 设备将随机选择一个个域网标识符 , 以保证其个域网 ID 既非广播个域网标识符(0xffff), 且在可选通道的网络 中是独一无二 的 。 一旦网络 管理实 体确定了 个域网 ID 值 , 它将 选定 一个值 为 0x0000 的 16 位网 络地 址 , 并置 M AC 子层的 M AC 地址 PIB 属性为选定的网络地址 。然 后 ,网络层管理实体向 M AC 子层发布开始请求原语 , 开始 对新个域网进行操作 。
控制器通 过 SPI 总线与 RF 收 发器芯片 CC2420 相 连 。控制器充当 SPI 主器件而 CC2420 充当从器件 。 控制 器实现了 IEEE 802 .15 .4 M AC 层和 Zigbee 协议层 。它还 包含了特定的应用逻辑 , 并使用 SPI 总线与 RF 收发器交 互 。M icrochip 协议栈提供了完全集成的驱动程序 , 免除 了主应用程序管理 RF 收发器功能的任务 。如果需要 , 可 以将某些非 SPI 控制信号重新分配到其他端口引脚以适 合应用的硬件 。在这种情况下 , 必须修改物理层接口定义 来包括正确的引脚分配 。
西安交通大学无线传感器网络实验报告
西安交通大学无线传感器网络实验报告姓名:日期:实验一 ZigBee网络设备类型设置基础实验及协调器、路由器和终端的设置一、实验目的1、学习和掌握IAR软件的安装。
2、学习和掌握ZigBee协议栈在IAR软件开发环境中的应用。
3、学习和掌握协调器、路由器和终端的实质。
二、实验设备(1)硬件设备PC机一台;CC2530-DEBUG仿真器一台;ZigBee通信模块(插接在传感器模块的ZigBee通信模块);ZigBee协调器(插接在嵌入式网关或PC机上的ZigBee通信模块)。
(2)软件工具IAR Embedded Workbench Evaluation for 8051 版;PL2303-USB转串口驱动程序;串口调试软件。
三、实验内容及结果(1)仿真器的连接在设置ZigBee的设备前应将仿真器与被设置的设备及PC机正确连接。
仿真器有两个接口,其中一个是USB接口,另一个是仿真接口。
仿真器配有一条USB连线和一条仿真器连线,USB连线的一端插在仿真器上的USB接口上,另一端插在计算机的任一USB口上,该仿真器由计算机的USB口供电。
仿真器连线的一端插入仿真器的仿真接口,另一端插入需要使用的ZigBee通信模块的仿真器接口上,本实验箱的协调器的仿真接口在自身的电路板上,实验箱内的其它应用电路的ZigBee通信模块的仿真器接口在应用电路的电路板上,如传感器右侧的仿真接口即为插接在该传感器上的通信模块的仿真接口。
(2)协调器的设置将仿真器的仿真线的一端插入仿真器,另一端插入协调器模块的仿真口;将仿真器USB 连线的一端插入仿真器,另一端插入电脑的USB口;将协调器插接在计算机的任意一个USB 口上,协调器模块由计算机的USB口供电,协调器模块的电源指示灯亮。
具体步骤如下:1)协调器模块的连接;2)打开 IAR Embdded Workbench 软件;3)打开工程文件;4)选择协调器设备模块;5)设置协调器模块的预编译选项;6)设置协调器预编译文件;7)、添加协调器预编译文件的路径(识别设备类型的关键部分);8)设置协调器连接库文件路径;9)协调器编译下载并使用串口调试程序测试结果。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Copyright:柯宗武
一、 ZigBee基础-网络地址分配
ZigBee 使用分布式寻址方案来分配网络地址。这 个方案保证在整个网络中所有分配的地址是唯一 的。 在每个路由加入网络之前,寻址方案需要知道和 配置一些参数。这些参数是 MAX_DEPTH , MAX_ROUTERS 和 MAX_CHILDREN 。这些参 数是栈配置的一部分, ZigBee2007 协议栈已经 规定了这些参数的值:
MAX_DEPTH = 5 MAX_ROUTERS = 6 MAX_CHILDREN = 20 。
Copyright:柯宗武
一、 ZigBee基础-网络地址分配
MAX_DEPTH 决定了网络的最大深度。协调器 (Coordinator) 位于深度 0 ,它的子节点位于深度 1 ,他的子节点的的子节点位于深度 2 ,以此类 推。 MAX_CHILDREN 决定了一个路由 (Router) 或者 一个协调器节点可以处理的子节点的最大个数。 MAX_ROUTER 决定了一个路由 (Router) 或者一 个协调器 (Coordinator) 节点可以处理的具有路由 功能的子节点的最大个数。这个参数是 MAX_CHILDREN 的一个子集 终端节点使用 (MAX_CHILDREN – Copyright:柯宗武 MAX_ROUTER) 剩下的地址空间。
无线传感器网络实验教程 Zigbee基础实验
主讲教师:柯宗武 2012年12月
本章内容
ZigBee基础 Z-Stack使用入门 SampleApp工程简介
Copyright:柯宗武
必看参考资料
Z-Stack Developer's Guide zigbee_api
Copyright:柯宗武
一、 ZigBee基础- PAN ID
为了识别不同网络而派生的标志。每一个网络 拥有唯一的网络号;在同一通道上允许存在多 个网络但必需通过网络号进行区分。
Copyright:柯宗武
一、 ZigBee基础- ZigBee频率,通道
网络通道范围
(0-26) 0x0B-0x1A 868MHZ( 1) 902-928MHZ(10) 2405MHZ – 2480MHZ(16)
ZigBee协调器设备(CORDINATER)
•CPU 与射频可以被关断
Copyright:柯宗武
一、 ZigBee基础-地址类型
ZigBee 设备有两种类型的地址
64 位 IEEE 地址 , 即 MAC 地址 16 位网络地址
64 位地址使全球唯一的地址 , 设备将在它的 生命周期中一直拥有它 。 它通常由制造商或 者被安装时设置。这些地址由 IEEE 来维护和 分配。 16 为网络地址是当设备加入网络后分配的。 它在网络中是唯一的,用来在网络中鉴别设备 和发送数据。
Copyright:柯宗武
一、 ZigBee基础- ZigBee物理地址
物理地址( MAC 地址)
按照国际标准每一个ZigBee设备必需有全球唯一的 64 位 IEEE 地址(物理地址),由于这些地址都获 得ZigBee联盟认证,因此通过每一个物理地址可以 追朔到相应的生产厂商。
Copyright:柯宗武
Copyright:柯宗武
Copyright:柯宗武
void OS_Start( void ) { uint8 idx = 0; uint16 events; halIntState_t intState; for(;;) // Forever Loop { idx = 0; OS_Scan(); //这里可以增加扫描事件 do { if (TaskEvents[idx]) // Task is highest priority that is ready. { break; } }while (++idx < TaskCont);//等待任务就绪 if (idx < TaskCont) { HAL_ENTER_CRITICAL_SECTION(intState);//设置临界代码段开始,不允许中断 events = TaskEvents[idx]; TaskEvents[idx] = 0; //清除事件 HAL_EXIT_CRITICAL_SECTION(intState);//设置临界代码段开始结束 events = (TasksFn[idx])( idx, events );//调函数处理任务返回当前任务事件 HAL_ENTER_CRITICAL_SECTION(intState); TaskEvents[idx] |= events; HAL_EXIT_CRITICAL_SECTION(intState); }}}
Copyright:柯宗武
OSAL的任务调度
OSAL是协议栈的核心,ZStack的任何一个子系统都作 为OSAL的一个任务。
任务调度函数按照优先级检 测各个任务是否就绪。如果 存在就绪的任务则调用 tasksArr[]中相对应的任务处 理函数去处理该事件,直到 执行完所有就绪的任务。如 果任务列表中没有就绪的任 务,则可以使处理器进入睡 眠状态实现低功耗。
一、 ZigBee基础- ZigBee网络地址
网络地址
在一个新设备加入网络之后协调器会主动为它分配 一个网络地址,以方便在网络中的身分确认 理论地址范围:0-65535 如:0xFFFF是广播地址(所有设备),0xFFFE是 广播到FFD设备(全功能设备:路由器)
某些专用的地址不会分配给设备
Copyright:柯宗武
Z-Stack软件层次
整个Z-Stack的主要工 作流程,大致分为系统 启动,驱动初始化, OSAL初始化和启动, 进入任务轮循几个阶段。
Copyright:柯宗武
TI-ZigBee Device 软件结构
Endpoint 是应用对象的地 硬件抽象层( HAL)提供 址,类似于进程编号(网 各种硬件模块的驱动,包 操作系统抽象层OSAL 实 络中的端口号) 括定时器 Timer,通用I/O 现了一个易用的操作系统 口平台,通过时间片轮转函 GPIO,通用异步收发器 UART ,模数转换ADC 的 数实现任务调度,提供多 应用程序接口 API,提供各 任务处理机制。用户可以 种服务的扩展集。 调用 OSAL 提供的相关API 进行多任务编程,将自己 的应用程序作为一个独立 的任务来实现。
Copyright:柯宗武
一、 ZigBee基础- ZigBee设备种类
•协调器(全功能设备FFD) •协调器负责启动整个网络 。 协调器选择一个信道和 ZigBee 路由器设备( ROUTER) •路由器(全功能设备FFD) 一个网络 ID( 也称之为 PAN ID ,即 Personal Area • 没有自己的 PAN ,也不自动启动一个 PAN •终端节点设备(精简功能 ZigBee 终端设备( END DEVICE ) ;主要功 Network ID) ,随后启动整个网络。 能是扫描加入一个已经形成的网络 设备RFD ) •不能做的事 •允许其他设备加入它,加入该网络 •当本机已经加入PAN时,允许其它设备加入它, •上述的三种设备根据功能完 •终端设备在睡眠时,为终端节点作缓冲器 •存放路由信息,路由列表。 整性可分为全功能 •路由信息(FFD)和半 功能(RFD) 设备。其中全功 •提供绑定和地址列表服务 •占有或者形成网络 • 动态路由维护 能设备可作为协调器、路由 •路由信息 •允许其它设备加入自己 器和终端设备,而半功能设 •为正在休眠的设备充当数据缓冲器 备只能用于终端设备。一个 •维护动态路由 •扫描并发现一个 PAN 并加入它 • 支持加密信息传送 全功能设备可与多个 RFD设 •可以有 I 设备通信, / O能力 备或多个其它 FFD •向父节点申请并收到信息,该功能可以关闭 •允许对一些 IO进行控制 而一个半功能设备只能与一 •管理安全 • 射频收发器一直被开启 可移动 个FFD• 通信。
频率
Copyright:柯宗武
二、Z-Stack
Z-Stack是TI公司开发的ZigBee协议栈 获取官方提供的Z-stack协议栈
/tool/z-stack swrc126.zip (22MB) - contains ZStack-CC25302.5.1-a.exe
Copyright:柯宗武
OSAL轮询操作系统
OSAL(Operating System Abstraction Layer) 操作系统抽象层
定义了其它模块中的事件的处理机制。它将每一模 块内的所有事件放在一个任务中进行处理,任务间 的通信通过传递系统消息来完成,这使得协议栈中 的事件处理更类似于一个操作系统; 同时它还定义了堆内存管理、NV(non-volatile,非 易失)存储系统的管理、电源管理、时钟管理等。
Copyright:柯宗武
ZStack协议栈构架
Profile:设备规范目录,包括AF层处理函数文件; Security:安全层目录,安全层处理函数,比如加密函数 等; Services:地址处理函数目录,包括着地址模式的定义及 地址处理函数文档; Tools:工程配置目录,包括协议栈等配置文档; ZDO :zigbee设备对象层目录,包括层处理函数文档; ZMac:MAC层目录,包括MAC层参数配置及MAC层LIB 库函数回调处理函数 ZMain:主函数目录,包括入口函数及硬件配置文件; Output:输出文件目录,这是EW8051IDE自动生成的;