基于zigbee协议的无线测温系统的设计与实现(编辑修改稿)内容摘要:

句柄封装类和很多 Windows 的内建 控件 和组件的封装类。 MFC 实际上是微软提供的,用于在 C++环境下编写应用程序的一个框架和 引擎。 MFC 是一个功能丰 富的 界面 开发系统 , 用于系统化开发测温系统的终端显示功能以及中继传输的功能。 博 创 杯 全 国 大 学 生 嵌 入 式 设 计 大 赛 9 第 3章 功能与指标 系统功能 无线测温系统采用无线温度传感技术实现了对分布式区域,以及范围较大,(以及人员无法接近的其它危险、恶劣环境 )的温度进行实时在线监测。 无线测 温系统前端采用无线温度传感器,可快捷方便地安装在所被测量的区域,准确地跟踪发热接点的温度变化。 无线测温系统的采集终端可准确地并及时的显示温度的变化,为控制提供可靠的数据依据。 当被测点温度超过预先设定的门限值时,将发出报警信号及时提醒有关人员采取措施。 系统通过人机界面将地理分布图、接点温度运行参数、预告警信息、历史参数等通过图形、曲线、等形式直观显示,为决策层提供最直接可靠的数据依据,尽可能消除不可控因素。 本系统可以在分布式区域,比如大棚等范围较大区域的实时温度测量。 还可以在特殊的地方进行采集,这样能减少人 员的浪费。 还可以进行实时的采集,鉴于目前基于 abdroid 平台手机的流行,本作品开发了 abdroid 手机客户端,通过上位机服务器将采集到的数据发到手机上,进行实时的监控,不管用户在哪里只要通过手机就可以知道温度的变化,可以很好的释放人力,节约成本。 此系统的精确度比较高,可以进行严格的监控,当温度超过设定的数值,会进行报警提示。 技术指标 本系统的技术指标如下 :  测量温度范围: 25 ℃ ~ +125 ℃  测量精度:177。 ℃  温度反应时间:小于 10S  采集器使用寿命:大于 5 年  监控区域: 0~ 100 米 (可扩展 ) 博 创 杯 全 国 大 学 生 嵌 入 式 设 计 大 赛 10 第 4章 实现原理 ZigBee协议栈结构 ZigBee 协议栈定义了四层,分别是物理层、媒体访问控制层、网络层、应用层。 物理层和媒体访问控制层由 定义,上层的网络层和应用层由 Zigbee 联盟定义。 应用层分别包括 ZDO( Zigbee 设备对象), APS(应用支持子层)和 AF(应用框架)组成。 Zigbee 协议栈每一层负责完成所规定的任务,并且向上层提供服务,各层之间的接口通过所定义的逻辑链路来提供服务。 ZigBee 协议栈结构 如 图 41 ZigBee 协议栈结构图 所示。 图 41 ZigBee 协议栈结构图 1. 物理层 物理层由半双工的无线收发器及其接口组成,主要作用是激活和关闭射频收 博 创 杯 全 国 大 学 生 嵌 入 式 设 计 大 赛 11 发器;检测信道的能量;显示收到数据包的链路质量;空闲信道评估;选择信道频率;数据的接受和发送。 2. 媒体访问控制层 媒体访问控制( MAC)层建立了一条节点和与其相邻的节点之间可靠的数据传输链路,共享传输媒体,提高通信效率。 在协调器的 MAC 层,可以产生网络信标,同步网络信标;支持 ZigBee 设备的关联和取消关联;支持设 备加密;在信道访问方面,采用 CSMA/CA 信道退避算法,减少了碰撞概率;确保时隙分配( GTS);支持信标使能和非信标使能两种数据传输模式,为两个对等的 MAC 实体提供可靠连接。 3. 网络层 基于底层的可靠通信,提供路由、路由发现、多跳、转发的功能。 ZigBee网络可以组成星型、簇树型或 MESH 型网络。 对于终端节点而言,网络层的功能只是加入和离开网络;对于路由器而言,网络层的功能是信息的转发,路由发现,建立和维护路由表和邻居表,以及构造到某节点的路由任务;而协调器网络层的任务主要包括启动和维护网络正常工作,为 新加入的节点分配网络地址。 4. 应用层 应用层包括三部分:应用支持子层( APS)、 ZigBee 设备对象( ZDO)和应用框架( AF)。 应用支持子层的任务是提取网络层的信息并将信息发送到运行在节点上的不同应用端点。 应用支持子层维护了一个绑定表,可以定义、增加或移除组信息;完成 64 位长地址( IEEE 地址)与 16 位短地址(网络地址)一对一映射;实现传输数据的分割与重组;应用支持子层连接网络层和应用层,是它们之间的接口。 这个接口由两个服务实体提供: APS 数据实体( APSDE)和 APS 管理实体( APSME)。 APS 数 据实体为网络中的节点提供数据传输服务,它会拆分和重组大于最大荷载量的数据包。 APS 管理实体提供安全服务,节点绑定,建立和移除组地址,负责 64 位 IEEE 地址与 16 位网络地址的地址映射 [4]。 ZigBee 设备对象负责设备的所有管理工作,包括设定该设备在网络中的角色(协调器、路由器或终端设备),发现网络中的设备,确定这些设备能提供的功能,发起或响应绑定请求,完成设备之间建立安全的关联等。 用户在开发ZigBee 产品时,需要在 ZigBee 协议栈的 AF 上附加应用端点,调用 ZDO 功能以发现网络上的其他设备和服务,管理绑 定、安全和其他网络设置。 ZDO 是一个特 博 创 杯 全 国 大 学 生 嵌 入 式 设 计 大 赛 12 殊的应用对象,它驻留在每一个 ZigBee 节点上,其端点编号固定为 0。 AF 应用框架是应用层与 APS 层的接口。 它负责发送和接收数据,并为接收到的数据寻找相应的目的端点。 Zigbee网络拓扑结构 Zigbee 的拓扑结构 42 所示 ,可以 分 为以下三种:星型、簇树型和 MESH型。 星型拓扑网络结构网络由协调器组建和维护,其他的设备都是终端设备,都直接与协调器一对一通信。 在簇树型和 MESH 型拓扑网路结构中,协调器负责组建网络并决定一些关键的网络参数,如网络 ID,网络使用的信道等。 网 络中主要通过路由器来拓展网络覆盖范围。 树型网络中,路由器发送数据是通过层次的路由方法。 树型网络可以使用网络信标通信,路由器和终端节点以跟踪信标的方式与协调器通信;也可以使用非信标方式通信,终端节点定时轮询路由器或协调器来提取自己的信息。 MESH 型网络可以进行点对点对等交流,但是不能使用信标。 Zigbee 设备都有一个 64 位的 IEEE 地址, IEEE 地址是唯一的绝对地址,设备可以用这个地址在 PAN 中进行通信,但在设备加入网络后,协调器后会为它分配一个 16 位的网络地址,网络地址只在该网络内是唯一的,是相对地址,设备也可以用这个网络地址在 PAN 内进行通信。 从物理功能上分,设备的类型可以分为 2 种。 一种是具有全功能设备( Full FunctionDevice, FFD),另一种是精简功能设备( Reduced Function Device,RFD)。 在 PAN( PersonalArea Network)中,全功能设备可以作为 PAN 的协调器,路由器或作为一个终端设备。 一个全功能设备可以同时和多个精简功能设备或全功能设备通信;对于一个精简功能设备来说,它只能和一个全功能进行通信 [5]。 图 42 星型和簇树型网络拓扑结构 博 创 杯 全 国 大 学 生 嵌 入 式 设 计 大 赛 13 IT ZStack协议栈介绍 TI 公司的协议栈 ZStack 符合 ZigBee2020 规范,功能强大,协议栈底层已实现,对于简单的应用,开发者只需要在应用层开发即可。 ZStack 还可通过ZigBee 网络无线下载节点更新程序,具备定位感知功能等等。 以下是 ZStack 的功能。 1. 网络寻址 ZStack 使用一种分布式的地址分配方式来分配网络地址,这种方式确保所有的网络地址在网络中是唯一的。 网络地址是由设备的父节点分配的。 通过在ZStack 中网络层中相关位置的三个参数,包括最大深度( MAX_DEPTH)、最大子 节点数( MAX_CHILDREN)和最大路由器数量( MAX_ROUTERS)按照以下地址分配算法可得到相应的网络地址 [6]。 第 n 个终端设备的网络地址为: 其中: 表示第 n 个终端设备的父设备网络地址; n 的取值范围:  mm1 n C R ; ; ; 如果 =1: =1+ ; 如果 = ; MAX_DEPTH 指网络的层数。 协调器在第 0 层的深度,它的子节点在第一层,以下就是第二层,以此类推。 这个参数限定了网络结构的最大深度。 MAX_CHILDREN 决定了协调器或者路由器可以有几个孩子节点。 孩子节点可以是路由器或者是终端设备。 MAX_ROUTERS 数决定了协调器或者路由器下面可 以 有 几 个 路 由 器 子 节 点。 终 端 设 备 的 个 数=MAX_CHILDRENMAX_ROUTERS。 在 ZStack 中网络结构和网络深度可在 博 创 杯 全 国 大 学 生 嵌 入 式 设 计 大 赛 14 文件中设置,默认设置为 HOME_CONTROLS。 具 体设置如下: if(STACK_PROFILE_ID==HOME_CONTROLS) byte CskipRtrs[MAX_NODE_DEPTH+1]={6,6,6,6,6,0}。 byte CskipChldrn[MAX_NODE_DEPTH+1]={20,20,20,20,20,0}。 elif(STACK_PROFILE_ID==GENERIC_STAR) byte CskipRtrs[MAX_NODE_DEPTH+1]={5,5,5,5,5,0}。 byte CskipChldrn[MAX_NODE_DEPTH+1]={5,5,5,5,5,0}。 elif(STACK_PROFILE_ID==NETWORK_SPECIFIC) byte CskipRtrs[MAX_NODE_DEPTH+1]={5,5,5,5,5,0}。 byte CskipChldrn[MAX_NODE_DEPTH+1]={5,5,5,5,5,0}。 endif//STACK_PROFILE_ID 目的地址模式有如下几种值: AddrNotPresent(地址未知模式), Addr16Bit(短地址模式), AddrBroadcast(广播模式)。 这些地址模式都是必要的,因为在ZigBee 中,数据包可以是点对点发送( unicast),多点发送( multicast),也可以是广播式发送 (broadcast)。 接下来对各种传输模式进行简要的介绍 [7]。 1) 一对一模式 一对一模式是在已知目的地址的情况下使用这种方式。 在发送数据的时候会包含目的地址信息。 在 ZStack 中的寻址方式可以这样来设置: =Addr16Bit。 //以网络地址为目的地址进行寻址 =10。 //目的节点的端口号为 10 =0x796f; //目的节点的网络地址 2) 广播模式 广播模式是将数据发送给网络中所有的节点。 在程序中地址模式设定AddrBroadcast。 在 ZStack 中的寻址方式可以这样来设置: =AddrBroadcast。 //以广播的方式进行寻址 =10。 //目的节点的端口号为 10 =0xffff; //目的节点的网络中所有的节点 =0xfffd; //目的节点为网络中非睡眠节点 3) 间接接模式 当地址模式设置为 AddrNotPresent,说明发送的信息都是发给协调器的,在 博 创 杯 全 国 大 学 生 嵌 入 式 设 计 大 赛 15 协调器的绑定表中查找相应目的地址进行一对一的数据发送。 =(afAddrMode_t)AddrNotPresent。 =10。 =0。 //协调器的网络地址固定为 0x0000; 2. 绑定 绑定是指一个节点与另外一个或几个节点间建立地址映射的一种寻址方式。 在节点建立绑定之后,发送数据的时候并不需要知道目的地址是什么,应用支持子层会根据绑定 ID 查询它的绑定表来决定目的地址,然后把信息发送给目的节点。 在 ZStack 中,绑定是通过如下函数实现的: =Addr16Bit。 //首先设置寻址模式为网络地址寻址 =0x0000。 //目的地址为协调器的网络地址 ZDP_EndDeviceBindReq()。 //发起绑定请求 3. 路由协议 ZigBee 的路由协议是基于 Ad Hoc 按需距离矢量路由协议 AODV(Ad hoc On demandDistance Vector),支持在环境中移动、连接失败和包丢失的环境应用,它极大的增强了无线传。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。