新闻中心

EEPW首页>手机与无线通信>设计应用> 基于ZigBee无线传感器网络的智能仓储节点设计

基于ZigBee无线传感器网络的智能仓储节点设计

作者: 时间:2012-04-28 来源:网络 收藏

主要任务有八个,其中macEventloop负责MAC层事件处理;nwk event loop负责层路由处理;Hal ProcessEvent完成硬件管理的任务;MT ProcessEvent模块主要用于调试工具;应用支持子层处理函数APS event loop一般用户不要修改;ZDApp event loop为应用层处理函数,可根据需要修改;SennorApp ProcessEvent和SerialApp ProcessEvent为用户应用层处理函数,前者主要用于终端和路由设备的温度、湿度等数据采集及发送模块,后者主要用于协调器与主机间串口通信模块。
3.1 协调器软件
协调器需要在应用层添加SerialApp ProcessEven处理函数,协调器工作的主程序如图2所示,协调器上电后,由启动代码来初始化硬件系统和软件架构需要的各个模块,然后协调器会在默认的信道上建立一个网络,并指定网络标号PANID,协调器建网成功后进入监控模式,当有路由或者终端申请加入时,对其分配16位短地址;当有数据请求时协调器会接收数据并将数据发送给PC机。

本文引用地址://m.amcfsurvey.com/article/155067.htm

c.JPG


本文中协调器采用的ZStack 2.4.0版本协议,协调器组网要进行如下步骤:1)首先从NV中读出设备的逻辑类型并将设备逻辑类型改写为ZG_DEVICETYPE_COORDINATOR,设置设备的启动方式为ZCD_STARTOPT_AUTO_START;2)设备、任务初始化后,进入事件处理函数处理ZB_ENT RY_EVENT事件,执行zb_StartRequest(),该函数的功能是启动协议栈,建立网络;3)设备启动完成后进去回调函数zb_StartConfir m,如果设备成功启动,修改设备状态为APP START,如果设备启动失败,设置定时器,重新执行zb_StartRequest()。在与PC机通信时为了数据能够及时收发,降低能耗,需要在程序中增加采用中断方式的UARTO处理函数,再通过串口写函数HaUARTWrite()在上位机上显示接收到的信息。
3.2 终端软件
终端节点需要在应用层添加SennorApp ProcessEvent处理函数,使节点具有数据采集和数据传输的功能,节点工作流程如图3所示。终端节点需上电后立即搜寻并请求加入网络,直接在ZB_ENTRY_EVENT事件的处理中执行zb_StartRequest(),新插入的节点必须通过已存在网络中的全功能设备(包括路由器和协调器)才能成功进入网络,在通信范围内的全功能设备会响应请求加入网络的数据包,然后为该节点分配一个唯一的网络地址。然后进入“睡眠-唤醒采集数据-睡眠”低功耗工作模式,其中通过编写void myApp_Measure()函数来采集并发送数据。

4 节点的能耗分析
能耗是网络的重要指标,决定网络的使用寿命。为了降低整个网络的综合能耗,本中终端设备节点采用“睡眠-唤醒采集数据-睡眠”低功耗工作模式。
下面对网络节点的电池寿命进行了评估。测试中节点使用两节1.5V的南孚电池供电。如果使节点每15min进行一次数据采集的话,那么一次工作循环的能耗应为节点采集一次数据发送的能量(35.58mAh)加上睡眠时的能耗(360 μAh),试验中3V电池电压下工作,电量大约是2200mAh,经实际测试节点上CC2530模块最低电压供电量为2.0V,模块中湿度传感器的最低工作电压为2.4V,因此节点的最低供电电压应为2.4V。根据文献中介绍的能耗估算方法可知:电池能提供约为440mAh的电量使得节点有效工作,经计算得一个传感器节点可以有效工作44519次,工作时间约为1.27年。

5 结论
CC2530的技术的系统可以对目标区域内温度、湿度等环境参数进行远程采集与管理,开发成本低,能量消耗低,并且安装维护比较简单,只需一次安装就可以长期使用,具备了传统管理无法比拟的优势,较好地解决了传统管理中设备复杂、效率低下等问题。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭