找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 181|回复: 0

基于ZigBee技术的无线气象数据采集系统的设计与实现

[复制链接]

212

主题

0

回帖

1034

积分

管理员

积分
1034
发表于 2025-8-23 06:04:21 | 显示全部楼层 |阅读模式
我国现有自动气象观测站主要通过有线方式将各种传感器的数据传输到采集器。随着各种新型观测内容增加,随之而来的是线缆的增加和故障率的提高;而且观测场大多采用地下布线,使得后期维护或维修十分不便。本文提出了一种基于ZigBee无线网络技术的气象数据采集方案,通过多ZigBee无线网络在传感器与主采集器进行通讯。这种方式不仅节约了成本,减小了线缆故障率,而且维修和维护非常方便。
ZigBee技术是随着工业自动化对于无线通信和数据传输需求而产生的,是一种新兴的近距离、低复杂度、低功耗、低速率、低成本的双向无线通信技术。该方案的设计不仅满足了气象探测的网络化、信息化要求,同时具有成本低、功耗小、使用方便、可靠性高等特点,具有很大的应用推广价值。
1方案设计
1.1ZigBee网络
在ZigBee网络中,定义了3种网络角色,分别是Co-ordinator(网络协调器节点),Router(网络路由器节点),EndDevice(网络终端节点)。ZigBee的网络结构分为星型结构、树形结构和网状结构,3种网络结构各有利弊。根据气象探测业务需求和实际环境,在基于ZigBee的自动气象站数据采集系统中使用星形网络。星形网络以协调器节点为中心,各终端节点只与协调节点进行数据传输,不作路由转发,如图1所示。这种网络拓扑结构符合自动气象观测站的主采集器与各观测要素传感器或分采集器的连接方式。
1.2系统总体方案
本文设计的基于ZigBee技术的自动气象站数据采集系统主要包括主采集模块、ZigBee模块和传感器3个模块。系统总体结构如图2所示,主采模块负责调度各终端节点进行数据采集,并将数据通过RS485接口传输至服务器端;终端节点的ZigBee模块负责采集传感器的数据,并通过ZigBee网络发送给协调器节点;协调节点的ZigBee模块负责创建、管理网络和观测数据接收。本课题使用了6种气象要素进行实验研究,选用的传感器都是目前我国气象行业使用的主流传感器。
2硬件设计
2.1微处理器CC2530
本系统设计的协调器节点和终端节点的核心部分由德州仪器公司的CC2530芯片加上一些外围电路构成。CC2530芯片集成了1个8位MCU8051、128kB可编程闪存和8kBRAM,还包含8路可配置的12位ADC、1个16位计时器、2个8位计时器、2路支持多种协议的USART、看门狗定时器、32kHz晶振的休眠模式定时器、上电复位电路、掉电检测电路,以及21个可编程I/O引脚;同时,还集成了符合IEEE802.5.4标准的2.4GHz射频(RF)无线电收发机。其具有优良的无线接收灵敏度和强大的抗干扰性。此外,CC2530芯片采用0.18μmCMOS工艺生产,工作电流非常小,具有极低的能量损耗。
2.2ZigBee模块电路设计
ZigBee模块硬件电路原理如图3所示,ZigBee模块电路主要包括电源设计、RF电路、传感器信号调理电路等。电源采用外接5V电源,通过一片HT7533电源芯片降压至3.3V为CC2530提供电源。时钟电路协调器的时钟电路由两个独立的时钟电路组成,一个为正常工作模式下使用的时钟电路,使用晶体振荡器或RC振荡器产生,其时钟频率为32MHz;接在CC2530的另一个为低功耗模式下的时钟电路,同样可由晶体振荡器或RC振荡器产生,其时钟频率为32kHz。LED电路用来指示ZigBee网络的不同工作状态。CC2530射频信号的收发采用差分方式传送,其最佳差分负载是115+j180Ω,阻抗匹配电路应根据该数值进行调整。设计采用50Ω单极子天线,由于CC2530的差分射频端口具有两个端口,而天线是单端口,因此需采用巴伦电路(平衡/非平衡转换电路)完成双端口到单端口的转换。巴伦电路由电感(L2、L3,L4)和电容(C11、C12、C15)构成。
2.3信号采集电路
本课题设计的采集系统包含了温度、湿度、风向、风速、雨量和气压等6个气象要素。温湿度传感器与一个ZigBee模块组成一个ZigBee节点,风向风速传感器组成一个节点,雨量、气压分别组成一个节点。
温度传感器采用PT100铂热电阻,并使用其四线制接法,信号通过调理放大后被微处理器CC2530的AD模块采样,最终测量出温度值;湿度传感器输出0~1V的电压信号,信号经放大3倍后被CC2530的AD采样,算出湿度值;风向输出7位格雷码,风速输出不同频率的脉冲信号;雨量信号的一个脉冲代表0.1mm的雨量值;气压传感器通过RS232协议输出气压值。由于风向、风速、雨量和气压传感器信号输出电平为5V,而CC2530采用3.3V供电,需要添加电压转换电路。使用一片74LVC42458位电平转换芯片实现风向风速信号的电平转换,而雨量信号则通过电阻分压电路实现电平转换。3软件设计
3.1Z-Stack协议栈
ZigBee模块设计基于通用性及便于开发的考虑,移植了TI公司的Z-Stack协议栈,其主要特点就是其兼容性,完全支持IEEE802.15.4/ZigBee的CC2530片上系统解决方案。Z-Stack采用操作系统的思想来构建,采用事件轮循机制,当各层初始化之后,系统进入低功耗模式,当事件发生时,唤醒系统,开始进入中断处理事件,结束后继续进入低功耗模式。如果同时有几个事件发生,判断优先级,逐次处理事件。这种软件构架可以极大地降低系统的功耗。整个Z-stack的主要工作流程,大致分为系统启动,驱动初始化,OS-AL初始化和启动,进入任务轮循等阶段,具体流程如图4所示。
3.2ZigBee网络设计
Zigebee网络具有自组织和自愈功能,在无需人工干预的情况下网络节点能够感知其他节点的加入,并确定连接关系,组成结构化网络;当增加或删除一个节点、节点位置发生变动或节点故障时,网络能够自我修复,并对网络拓扑结构进行相应的调整,保证网络的畅通。
3.2.1ZigBee网络组建
ZigBee协调器启动后将其自身初始化为一个ZigBee网络协调者,并创建一个ZigBee网络。Zig-Bee协议使用一个16位的个域网标志符(PANID)来标识一个网络。协调器在指定的信道上进行扫描,如果已经确定了网络表示PANID,那么网络层将确保给定的PANID不会与所选信道的现有网络参数产生冲突。一旦找到合适的信道和网络表示后,网络层将选择0x0000作为协调器的16位网络地址,并告知MAC层,设置为网络地址。
协调器和终端设备加入网络是通过与已经加入网络的路由器或者协调器建立连接来实现的。子设备首先向其POS范围内的协调器或路由器发送新表请求命令,POS范围内所有具有允许连接能力的路由器或协调器接收到请求后会发送各自的信标帧;子设备会加入最新接收到的信标所对应的PAN中。然后通过多次握手确认后,协调器为子设备分配一个唯一的网络地址。
3.2.2ZigBee数据传输
Z-Stack协议通过触发方式来处理事件,每当SampleApp_TaskID的OSAL事件发生时,Sam-pleApp的处理函数,SampleApp_ProcessEvent()都会在OSAL的任务处理循环中被调用。Sam-pleApp_ProcessEvent()函数的参数是一个16位的掩码(事件标志);一个或多个位都可以在任何调用该函数的时候被设置。事件处理部分源码如下所示:
…………
if(events&SYS_EVENT_MSG)
{
MSGpkt=(afIncomingMSGPacket_t*)osal_msg_receive
(SampleApp_TaskID);
while(MSGpkt)
{switch(MSGpkt->hdr.event)
{
caseCMD_SERIAL_MSG://接收到串口数据
SampleApp_SerialCMD((mtOSALSerialData_t*)
MSGpkt);
break;
caseAF_INCOMING_MSG_CMD://接收到网络消息
SampleApp_MessageMSGCB(MSGpkt);
break;
caseZDO_STATE_CHANGE://网络状态改变
SampleApp_NwkState=(devStates_t)(MSGpkt-
>hdr.status);
if((SampleApp_NwkState==DEV_ZB_COORD)
||(SampleApp_NwkState==DEV_ROUT-
ER)
||(SampleApp_NwkState==DEV_END_
DEVICE))
{
osal_start_timerEx(SampleApp_TaskID,
SAMPLEAPP_SEND_PERIODIC_
MSG_EVT,
SAMPLEAPP_SEND_PERIODIC_
MSG_TIMEOUT);
}
…………
主采模块通过串口向协调器的ZigBee模块发送采集命令,软件触发串口接收事件,并通过事件处理程序将命令通过ZigBee网络发送出去。终端节点接收到命令后采集传感器数据,并发送给协调器节点。协调器节点接收到数据,触发网络消息事件,根据网络地址解析数据,并通过串口回传给主采模块。网络状态改变事件是指当网络中节点创建网络或节点加入、退出网络时触发的事件。事件被触发后,首先判断本节点的类型,根据不同的类型执行相应的时间处理程序,完成相应的功能如创建网络、更新路由等。
4结语
将本系统与新型国家气象观测系统作了对比观测,并对观测数据进行了对比分析。由于气压传感器直接以字符形式输出气压值,消除了因采集电路的误差对数据准确性造成的影响,因此采用气压数据进行对比更能说明采集系统的稳定性和数据准确性。图5为2014年1月气压观测数据对比结果,两套采集系统的气压观测数据保持一致,说明本系统能稳定、可靠地收集并上传传感器的观测数据。
基于ZigBee的自动气象站数据采集系统具有组网速度快、节点灵活、无需布线、工作稳定等优点。系统硬件采用TI公司的CC2530解决方案,软件采用Z-Stack协议栈,实现了协调器节点、终端节点的电路设计和ZigBee网络的设计,实现了基于ZigBee技术的无线气象数据的采集,具有较好的应用前景。

参考文献:
[1]龚贤创,杨维发,杨代才,等.基于ZigBee技术的无线气象数据采集系统的设计与实现[J].气象科技,2015,43(04):607-611.
声明:本文所用图片、文字均为转载,如有涉及作品版权问题,请第一时间告知,我们将根据您提供的证明材料确认并立即删除内容。本文内容系作者个人观点,不代表物联网123观点或立场。
特别提醒:物联网专业交流群欢迎物联网行业相关的人群加入,同时群内欢迎各路社牛、大咖、前辈加入,群内除了不能发敏感内容、色情内容,以及不太建议多次发送推广内容,其他内容皆可畅聊~——交流QQ群724511126,进群的朋友请备注:姓名-单位-研究方向(无备注请恕不通过),由编辑审核后邀请入群!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|物联网论坛|物联网BB|物联网之家|农业物联网|气象物联网|冷链运输物联网

GMT+8, 2026-4-3 06:43 , Processed in 0.046875 second(s), 20 queries .

Powered by Discuz! X3.5

Copyright © 2001-2026 Tencent Cloud.

快速回复 返回顶部 返回列表