zigbee实验

zigbee实验
zigbee实验

无线传感网络设计

-----基于手机(联想a698t)

计算机科学与技术1205班0911120513孙斌

1.手机中所包括的终端设备及传感器:

手机操作系统为Android OS 4.0

网络连接GSM/TD-SCDMA/GPRS/EDGE

支持频段:2G:GSM 900/1800/1900 3G:TD-SCDMA 2010-2025MHz

支持WAPI兼容WIFI(802.11n)

电容触摸屏

摄像头传感器类型为CMOS

支持重力传感器

支持光线传感器

支持距离传感器

电容触摸屏

2.家庭环境智能监测系统设计

家庭环境智能监测系统是智能家居系统中至关重要的一部分,一般包括温度、湿度、光线、火灾,.有毒气体等的监测。通过获得的这些对象信息,用户可以多种方式感知家庭内部的环境信息并且对家庭进行相应的处理和控制。当采集到的光强数据低于设定值时,用户可以通过软件调节灯光的强弱;当感知到的温度高于或低于人的舒适温度时,系统自动打空调;当家庭环境的湿度过低时,管理中心控制加湿器的打开;当家庭煤气发生泄漏或发火灾时候,烟雾传感器将感知数据发送给用户,实施报警。家庭环境智能监测为用户提供了可靠、完善的居所环境信息,使得人们的生活更加舒适、高效、安全。本系统设计特点如下:

(1)提供全面的家庭环境真实信息,保证了家庭内部的安全。

(2)据弃了有线家庭环境监测系统铺设成本高,扩展性和维护性差的缺点。

(3)不受地理和空间限制,只要在网络覆盖范围内,就可以通过手机随时掌

握家庭环境的最新信息。

图1

家庭环境智能监测系统结构如图1所示,由家庭内部网络、家庭网关和外部网络三部分组成,各自功能如下:

(1)家庭内部网络采用ZigBee无线技术实现内部网络的组建。网络中主节点

举起网络后,传感器节点以关联方式加入ZigBee网络,在每个传感器节点上都搭载了温度、湿度、光强和烟雾传感器以及LED灯。传感器节点将特定环境对象的数值发送到主节点,同时传感器节点接收由主节点发来的灯光控制命令。

(2)家庭网关是沟通内部网络和外部网络的桥梁,将传感器节点数据汇总后送至外部网络,同时接收外部网络的请求命令并且转发给内部网络子节

点。本文设计的家庭网关包括ZigBee主节点和计算机两部分,二者之间采

用串通信。SgBee主节点又称为协调器节点,负责整个agBee网络的搭建和传感器子节点数据汇聚。在计算机安上装家庭环境监测管理软件,一方面作为人机交互的窗口,向用户直观的显示当前家庭各项环境信息参数,另一方面作为服务器,与网络中的Android手机客户端进行数据的传输和命令的发送。

(3)外部网络为基于3G或GPRS网络的远程家庭环境监测提供了途径。本系

统所开发的Android应用软件作为客户端可以访问设为服务器的家庭网关计机。在Eclipse平台下加载Android 发工具包,使用JAVA语言对应用软件界面及网路之间通倩进行编程。用户通过Android手机上的软件,可以实时获悉家庭环境的温度、湿度、光强和气体浓度信息,并能实现对灯光的控制。

3.光强传感器电路设计

对家庭环境中光强的实时釆集使用GM75系列光敏电阻来完成,光强感应检测电路如图1所示,光敏电阻与200k电阻串联分压,通过光敏电阻上的电压与总电压的比值来确定此时光敏电阻的阻值,得到相对光强参数。CC2530的P0 口有AD转换功能,将模拟电压信号由P0.2 口输入转换为数字信号进行处理。

图1

家庭环境智能监测系统的软件构架是:各个传感器节点按照一定的路由协

议,将采集到的家庭环境信息传送至主控节点。主节点是整个ZigBee网络的核心,是沟通传感器节点和计算机的桥梁。计算机安装了家庭环境监测系统管理软件,通过软件直观地向用户呈现环境状态信息并接收用户发出的灯光控制指令,同时计算机作为服务器连接至互联网。整个系统用于获取信息的平台基于层次化架构,系统软件框架图如图2所示,

图2

IEEE802.15.4标准为SgBee网络定义了三种网络拓扑结构:星型结构(star)、网状结构(Mesh)和树簾状结构(Cluster-Tree)。星型拓扑结构属于集中控制型网络,所有子节点必须通过中心节点进行转发。这种拓扑结构需要耗费大量的电缆,中心节点负担重,传输距离有限[?]。网状拓扑结构中所有节点都处于“平等"地位,两个节点之间可以通过多跳直接互相通信,不一定要通过协调器但是网状结构功耗很大,在硬件平台上实现成本高且较复杂。在树簇状网络结构中,协调器节点和路由器节点是全功能节点(FFD),而叶子节点即端节点是精简功能节点(RFD) t48]。网络协调器节点将自己设为树簇头,同时为该树续网络选择一个附近网络没有使用过的网络标识号。之后协调器广播信标巾贞,附近射频部件打开的设备接收到信标顿后就可以申请加入该树簇。网络协调器根据最大允许加入子节点个数来决定该设备是否可以成为新的簇成员。如果加入成功,协调器将此设备作为簇的子节点加入到子节点列表中。在这个列表中选取一个子节点,作为新簇的簇头,

新簇头后可以关联更多的子节点进一步阔大网络的覆盖范围。三种拓扑结构的示意图如图3所示:

图3

通过比较三种网络拓扑的特点和实现可能性,本系统采用树族状网络来组建ZigBee网络。根据树簇状拓扑的应用特点,本系统设计了一种基于层次结构的短地址分配算法,每一个节点分配一个唯一编号的16位短地址,地址中包含了固定的路由信息,根据短地址可以进行有效的数据传输和节点管理工作,具体的短地址分配示意图如图4所示。

图4

依照短地址分配示意图,本系统进行了短地址分配路由拓扑算法的程序设计。网络协调器的短地址为0x0000,定义其节点深度为0,为第一层。它的下一层节点的深度为1,最多包含15个子节点,它们的短地址分配从0x1000 直到Oxffif。对每一个第二层子节点又可以进行拓展,任意子节点拥有的子节点数目最多为15个,例如短地址为(klOOO的子节点的下一层子节点标号从0x1100到OxlfOO。这样分层计算下去可以得出网络的最大深度为4层,深度为4的节点即为终端节点不能再有子节点。整个ZigBee网络所能容纳最多的节点数量N为54241个(15°+151+152+153+154),足够满足家庭环境监测系统的需求以及其他无线传感器系统中对节点数量的要求。这个短地址分配算法无需建立额外的路由查询表来转发数据,数据的多跳完全通过短地址分配来实现。例如:地址为0x4221的节点需要发送数据给网络协调器,它首先屏蔽最后一位得到其上一层父节点的短地址0x4220,然后把数据转发给其父节点。短地址为0x4420的节点自动屏蔽倒数第二位,把数据再转发给它上一层短地址为0x4400的节点。依次类推,直到把数据发送给网络协调器0?。000。同样,如果系统控制指令从网络协调器传送某个终端节点,短地址每次只需要从高到低增加一位即可。短地址分配路由协议算法程序如下所示:

SHORT_ADDR get_a_short_address(void) {

SHORT-ADDR allocated_addr;

if (shoit_address_last=OxOOOO) {//给第一个子节点分配短地址

if ((macjpib_data.macShortAddress.Val&OxfOOO) = 0x0000) {

short—address—last = 0x1000;

address 一allocated—base = 0x1000;

}else if((mac_pib_data.macShortAddress.Val&OxOfOO)=OxOOOO) {

short_address_last=macjpib_data.macShortAddress.Val|0x0100;

address一allocated—base = 0x0100;

}else if((macjpib_data.macShortAddress.Val&OxOOfO)= 0x0000) {

short_address_last=mac_j)ib_data.macShortAddress.Val|OxOO 10; address_allocated_base = 0x0010;

}else if((mac_pib_data.macShortAddress.Val&OxOOOf)= 0x0000) {

short_address_last==mac__pib_data,macShortAddress.Val|OxOOO 1 ; address—allocated—base = 0x0001;

}else

allocated_addr = default一short_addr; //则分配默认短地址。

}else{//给第二个歳者以后的子令点分is短地址

short—address—last += address_allocated_base;}

allocated—addr.Val = short_address_last;

return allocated_addr;

}

4.ZigBee 的组网

ZigBee无线传感器网络组网过程包括两个步骤:主节点举起网络和子节点申请加入网络,单个节点运行流程如图5所示。

父节点*子节点建立关联的过程如图6所示:

图6

4协调器节点建立ZigBee无线传感网络

在任意节点激活后,首先必须获取地理意义上周围环境的网络信息,通过

调用MLME-SCAN原语:(1)测量给定信道上的能量;(2)搜索通信覆盖范围

内所有传输信标顿的协调器;(3)搜索已经建立关联的协调器。节点首先进行

被动方式信道扫描(scanType=0x02),搜索节点通信半径内的网络信息,这些网

络信息以信标顿的形式在网络中广播,节点通过被动扫描监听并收集这些信标

顿,根据收到的信标顿节点可以修改自己的网络参数并申请加入现有网络。该

节点在收到周围协调器广播的信标倾后,MAC层以信道扫描确认原语的形式向

上层报告周围节点信息,确认原语包含的周围协调器的数目(resultListSize)和每

一个协调器的详细信息(panDsecriptorList)。根据这些信息,节点向周围网络发

送关联请求,被动扫描持续时间必须大于信标周期,这样若节点没有接收到信

标顿,则证明该节点周围没有ZigBee网络,那么此节点将被作为新的协调器建

立起一个新的ZigBee无线传感器网络;若扫描时间小于信标周期,则有可能搜

索不到周围网络的信标中贞。

当产生了新的协调器,此节点将会对每个信道上的能量信息进行能量检测?(scanType=OxOO),能量检测的主要目的是为一^□t"新建的ZigBee网络选工作信道。ZigBee无线传感器网络釆用2.4565GHz频段的物理层,所以待扫描信道参数 scanChannels 的 11-26 位有效,其余比特为 0,故 scanChannels 为

0x7FFF800。扫描持续时间为scanDuration(单位Symbols),计算公式为: ScanDuration = aBaseSuperframeDuration * (2'^'^'"^'"'''''"" + ])其中aBaseSuperFrameDuration为MAC PES中的一个常量,表7F超巾贞最小的基

本时长,其值为16个Symbols。通过两次不同类型的信道扫描后,主节点获得了周围协调器的网络信息和各个信道的能量,主节点对这些信息进行分析并确定网络初始化的参数。网络初始化包括两个方面内容:(1)确定初始化参数;(2)选定参数配置到节点中。节点需要初始化的参数主要有:(1)操作信道(LogicalChaimel);

(2)网络标识号PANID; (3)节点自身短地址macShortAddress。信道的选择釆用最低能量准则,因为信道能量最低表明该信道最有可能没有被其他PAN网络占用。节点在收到MLME-SCAN.confirm原语后,对EnergyDetectList字段中每个字节的内容进行比较,选取能量最低的信道作为操作信道。PANID号的选择原则是不能与现有的ID号冲突,根据节点搜索到的信标顿中CordPANId字段来确定当前网络的PANID号。协调器节点的短地址默认为0x0000。在确定网络的初始化参数之后,

建立一个包含MAC PIB的结构体变量,直接修改结构体成员变量来设置MAC PIB,通过MAC层的MLME-SAP接口的始原语MLME-START配置信标中贞

中的参数,新的信标顿参数通过此原语配置到节点周期发送的信标顿中。在本

系统中PAMD设为0x1122。

在ZigBee网络协调器建立好之后,主节点和未加入网络的节点之间就可以进行关联操作,网络关联通过MLME-ASSOCIATE原语来完成。网络关联的建

立包括了两个方面:(1)子节点提出关联申请;(2)父节点对关联申请的响应。

子节点是发起关联请求的一方,通过被动扫描方式获取周围节点信标巾贞的内容,

并请求加入该网络,关联请求包括两个过程:(1)根据PANDescripterList字段

描述内容和自身需求,选择一个父节点;(2)向选定的父节点发送关联请求。只有在结构体PAN_DESCRIPTOR中关联允许标志位blsAssociationPermitted为“1”时,节点才接受关联申请。连接质量linkQuality是选择父节点的重要参数,因此选择连接质量最好的链路协调器作为父节点。子节点的关联请求函数和关联确认原语分别为:mlmeAssociateRequest和mlmeAssociateConfirm。父节点在发出信标顿后,射频单元始终处于接收状态,等待周围节点的加入,当父节点收到一个关联请求命令顿后,它的MAC层将用关联指示原语MLME-ASSOCIATE.indication向上层报告收到的关联请求。在接收关联请求后,父节点首先判断短地址空间是否已满,若还有剩余短地址则根据短地址分配算法给子节点分配短地址,父节点通过关联响应原语MLME-ASSOCIATE.response告诉子节点本次关联结果。

5.家庭环境监测系统通信格式

家庭环境监测通信格式中约定计算机管理系统软件称为上位机,传感器节

点与主节点统称为下位机。通信采用一问一答的主从模式,上位机提出“问题”, 下位机回答“问题”,不问不答。所有的通信都由上位机发起,下位做出响应,

这样的设计解决了下位机发送数据产生冲突的问题。协议釆用异步串口通讯方

式,通讯波特率为38400bps,8位数据位,1位停止位,无校验位。下位机解析上位机发来命令字的流程如图7所示。

图7

上位机是整个系统的发起环节,由它发起命令来控制下位机。上位机命令

格式如表1所示。数据均为十六进制单字节,巾贞头默认为OXEF,校验和=命令+数据高位+数据低位,校验和舍弃高字节,只取低字节校验和。

流程图:

在程序设计中,首先需要配置10方向为输入,使用第二引脚功能;接着在CC2530内部ADC配置中首先将标志位ADCIF清零,然后配置ADC控制寄存器ADCCON3=Ox81(参考电压为AVDD5,采样率64, 8位分辨率,釆样通道l)o转换始后CC2530会自动将ADCIF位自动拉高,当转换结束后ADCIF置低,采样值放在ADCH中。

相关主题
相关文档
最新文档