APP下载

基于ZigBee与GSM的无线网络数据采集系统设计

2013-03-16黄尤来陈德鹏刘建华

河南科技 2013年1期
关键词:电子秤指令框架

李 伟 黄尤来 陈德鹏 刘建华

(1.莆田学院电子信息工程学系,福建 莆田 351100 2.莆田市科学技术情报研究所,福建 莆田 351100)

引言

ZigBee是一种新兴的短距离无线通信技术,ZigBee技术正有力地推动着低速率无线个人局域网络的发展。ZigBee标准专注于低功耗,低成本,低传输速,可以应用于工业控制,家庭自动化,远程控制等领域。

GSM是当前应用最为广泛的移动电话标准。GSM网络提供语音和短信消息等服务。GSM网络已在全球范围内实现了联网,不需要重新组建专用网络,可靠性高,覆盖面广。基于GSM网络的短消息应用可以满足多种监控和控制信号的数字通信系统的要求。

1 系统总体结构设计

采用ZigBee技术构建局部网络与GSM全面网络相连接,实现电子秤数据的远程监测。系统总体框架如图1所示,其中一个ZigBee网络必须有且只有一个ZigBee网络协调器节点,该节点负责建立网络管理其他节点。

图1 系统总体框架图

2 系统硬件结构设计

为实现对电子秤数据的采集与远程监测,系统采用新型ZigBee无线通信芯片CC2530及GSM模块实现,CC2530是用于IEEE 802.15.4、ZigBee和RF4CE应用的一款片上系统解决方案,其内部所配置的增强型8051 CPU,用作控制核心,兼具控制器及通信模块用。系统硬件框图及实际模块见图2、3、4。

3 系统软件结构设计

3.1 设计中用到的API

ZigBee网络的组建采用TI公司提供的zstack协议栈进行设计。Zstack协议栈包括:ZigBee协议栈和一个为协议栈服务的微小操作系统OSAL。应用程序的设计,建立在OSAL结构下对ZigBee协议栈的API函数的调用。

本次设计主要用到的OSAL API有:

为信息分配缓存空间:uint8*osal_msg_allocate(uint16 len)

删除信息分配的缓存空间:uint8 osal_msg_deallocate(uint8 *msg_ptr)

任务发送数据:uint8 osal_msg_send(uint8 destination_task,uint8*msg_ptr)

任务接收信息:(任务间的接收和网络中的接收)uint8* osal_msg_receive(uint8 task_id)

本次设计主要用到的z-stack API有:

定义一个组:ZStatus_t aps_AddGroup(uint8 endpoint,aps_ Group_t*group);

删除一个组:uint8 aps_RemoveGroup(uint8 endpoint,uint16 groupID);

组查询:aps_Group_t*aps_FindGroup(uint8 endpoint,uint16 groupID);

无线发送数据函数:afStatus_t AF_DataRequest()

z-stack常用的几种通信方式有:单点传送(Unicast),间接传送(Indirect),广播传送(broadcast),组寻址(Group Addressing)。本设计采用组寻址的通信方式,及应用程序将数据包发送给网络上的某一组设备。地址模式需要设置为afAddr-Group并且addr.shortAddr设置为组ID。在使用组寻址通信前之前,必须在网络中定义组。

3.2 设计中用到的AT指令

AT指令是GSM模块软件设计的主要组成部分。用户通过对GSM模块发送AT指令完成对GSM模块的控制和状态查询。网络连接节点负责通过串口向GSM模块发送AT指令集进行ZigBee网络中的数据与GSM网络的链接。本次设计中用到的AT指令有:

1 查看当前网络注册状态:

AT+CREG?

返回数据+CREG:0,1表示注册成功

2 设置短信模式:

AT+CMGF=1

其中1表示text模式,只能发送数字与字母,0表示PDU模式可发送文字。

3 发送英文短信:

发:AT+CMGF=1 //设置为text模式

发:"AT+CMGS=”电话号码” " //短信接收的号码

发:data //data为发送内容,

发:0x1a //结束符

收:+CMGS:54 OK //成功响应

3.3 应用程序设计

设计三种节点的应用程序:ZigBee网络协调器,ZigBee采集节点,ZigBee网络与GSM网络连接节点。

ZigBee网络协调器:采用z-stack的网络协调器程序框架(CoordinatorEB),基本配置后,加入组1(本设计中组ID设为1)。

ZigBee采集节点:采用 z-stack的路由器程序框架(RouterEB)或者终端节点框架(EnddeviceEB)。基本配置后,加入组1。添加修改后适合CC2530的电子秤采集程序,主要应用任务:任务a负责采集电子秤相关数据并且传给任务b,任务b负责把数据传送到ZigBee网络中的组1成员。

ZigBee网络与GSM网络连接节点:采用z-stack的路由器程序框架(RouterEB)或者终端节点框架(EnddeviceEB)。基本配置后,加入组1。主要应用任务:任务A负责接收ZigBee网络中传送的数据并在其LCD上显示出各个采集节点的测量数据,并判断是否把数据传送给任务B。任务B负责链接GSM模块,实现把测量数据通过串口以AT指令发短信的形式传送给GSM网络(GSM网络内部数据传送由GSM模块完成),GSM网络使数据最终交付给手机端;完成ZigBee网络的数据采集。

4 实验结果

将本解决方案应用于对莆田市上得利电子仪器有限公司的ADS-30A型收银秤,通过本系统,所测节点数据获取见图5。

图5 终端界面与手机界面

5 结语

本文提出的设计实现了对多个电子秤节点数据的获取与远程监测,实际测量结果良好,基于本文所提出的方法,完全可以应用于其他相类型多点数据远程监测系统。

[1]李文仲,段朝玉,等.ZigBee2007/pro协议栈实验与实践[M].北京:北京航空航天大学出版社,2009.

[2]高守纬,吴灿阳,等.ZigBee技术实践教程[M].北京:北京航空航天大学出版社,2009.

[3]肖硕,荆刚,等.单片机数据通信典型应用大全[M].北京:中国铁道出版社,2011.

[4]林志雄,黄剑航.一种低转换速率下的电子天平滤波处理方案[J].计算机与数字工程,2009:37(11):40-43.

猜你喜欢

电子秤指令框架
电子秤
框架
广义框架的不相交性
ARINC661显控指令快速验证方法
关于电子秤的设计
杀毒软件中指令虚拟机的脆弱性分析
基于STM32的高精度电子秤设计
关于原点对称的不规则Gabor框架的构造
一种基于OpenStack的云应用开发框架
中断与跳转操作对指令串的影响