关于NBIoT和GPRS的应用总结

2024-06-16

关于NBIoT和GPRS的应用总结(共1篇)

1.关于NBIoT和GPRS的应用总结 篇一

为适应防汛和水利调度的现代化、信息化要求,水文监测系统的建设进入了网络化阶段。在许多重点水域(重点河流、湖泊、水库、水利工程等),往往需要监测多个水文数据才能满足实际需求,包括流速、水位、水质、流量、含沙量、降水量等,例如,在水库的大坝前,需要测量水位和坝体压力、防渗、位移等参数。这就为多个测点组成测量网络提出了应用需求。另外,多点数据的测量往往会集中在一定距离范围内,如大坝上下、河流交汇处、汛情多发地段、引水隧洞等。这就为组建Zig Bee网络(近距离无线网络)在通讯距离上提供了可行性。

利用Zig Bee技术,将各个水文测量设备进行组合构成测量网络,实现Zig Bee无线组网,再通过Zig Bee网络协调节点以GPRS方式与监控中心通讯,从而构建一个基于Zig Bee和GPRS的无线水文监测系统。将Zig Bee和GPRS相结合,应用于水文监测系统有着非常重要的意义。

1 水文监测系统的组成和特点

1.1 监测系统组成

监测系统的结构如图1所示。系统由以下三部分组成:

(1)Zig Bee无线传感器网络。主要由分布在监测区域的各种水位计、雨量计和压力计等传感器与Zig Bee无线模块组成Zig Bee终端节点,并以星型或网型拓扑结构构成监测网络。监测区域内也按照距离的需要分布Zig Bee网络协调器节点,所有的水文数据都可以通过这一网络上传到协调器节点。

(2)GPRS网络。Zig Bee网络采集到的水文数据通过GPRS网络经Internet上传到数据接收中心,实现数据的远距离传输。

(3)监测中心。监测中心上位机服务器用一个GPRS模块通过RS-232与计算机连接,通过上位机软件处理和存贮采集到的水文数据并进行分析汇总。

1.2 监测系统特点

该监测系统有如下特点:

(1)Zig Bee网络面向的是短距离通信,而GPRS网络面向的是远距离通信,两者能够优势互补,能够实现大距离范围内的水文监测,如一个流域或一个地区。

(2)Zig Bee使用免费通信频段,单个节点成本低,一个Zig Bee网络内只有网络协调器与GPRS连接,节省了GPRS的硬件成本,降低了整个系统的成本。

(3)Zig Bee的功耗较低,传感器节点大部分时间都处于休眠状态,只有在数据传输时才唤醒。可由电池供电,这能够让各水文传感器节点在野外无交流供电状况下工作。系统的网络协调器需要监听整个网络状态,并与GPRS进行交互,需要一直处于唤醒状态,同时,GPRS的功耗较大,这使得协调器的功耗较大,需要外部交流供电。

(4)由于Zig Bee组网简单,信息传输可靠,能实现传感器节点相互通讯,系统能在很短的时间内完成一次辖区范围内各监测站的扫描,缩短水文数据收集所需的时间,提高信息收集和传递的可靠性,提高防汛信息处理能力。系统每隔一段时间就对水文信息进行一次收集,可及时准确地掌握水文情况。

2 系统硬件方案

在整个系统中,网络协调器负责Zig Bee和GPRS网络的数据交互,同时负责Zig Bee网络的组建、节点的加入和删除等网络维护工作,需要有较强的数据处理能力。主控处理器采用32位ARM7微控制器LPC2210,射频芯片采用MC13192,两者通过SPI接口相连接。为简化系统设计,GPRS模块选用Simcom公司内置TCP/IP协议的SIM100,与LPC2210通过RS-232接口连接,直接使用AT命令即可实现Internet连接。

在2.4G频段中,Zig Bee的速率为250 kbps,而SIM100模块的实际速率远低于250 kbps,所以,整个系统中最有可能的速率瓶颈存在于GPRS上行通道,考虑到Zig Bee网络在一定时间范围内的数据容量不大,系统外接8MB的SDRAM存储器,作为数据缓存,有效地缓解数据传输瓶颈,为其他应用程序和u C/OS-II操作系统提供运行空间。同时外接2MB的NOR FLASH存储器,容纳网络内所有节点的设备信息、数据包转发表、设备关联表等。

水文传感器节点主要需要考虑价格和低功耗两个方面。传感器节点选用MC13192+MC9S08GT60方案。

3 系统软件设计

在此,只介绍网络协调器的软件设计部分。首先搭建软件开发平台,使用ADS1.2集成开发环境进行开发调试。为增加系统的可靠性和实时性,系统采用μC/OS-II嵌入式实时操作系统。

3.1 Zig Bee协议的实现

首先需要将Zig Bee协议栈移植到LPC2210上,并进行底层的驱动设计,完成Zig Bee的PHY/MAC层开发。将Zig Bee协议栈移植到一个硬件平台,只需要修改MAC、PHY与硬件相关的层,MAC、PHY的硬件驱动程序完成后会向上提供程序接口,这样NWK、APL、APS等层就可以屏蔽硬件差异直接运行。然后就可以利用MAC层提供的服务,方便地进行无线网络的搜索、接入、退出及数据的传递等任务,完成应用程序的开发。

SMAC是在802.15.4协议基础上,针对传感器网络的节省能量需求而提出的精简MAC层协议,协议的代码是用ANSI C编写的,具有较强的可移植性。其构成框图如图2所示。

移植的主要工作是完成MC13192的硬件驱动和MC13192的中断服务程序。

系统中,MC13192作为SPI从设备,每个SPI周期传输8位数据,每次完整的SPI操作至少要完成3个字节的数据传输。MC13192总是在时钟上升沿采样数据,在时钟的下降沿传输数据。首先将所要访问的寄存器地址(0x00-0x3f)写入SPI的数据寄存器,该字节的bit0-bit6为地址,bit6置0,bit7为读写判别位,读操作置1,写操作置0,当CE变低电平后,地址经过MOSI口发送到MC13192,紧接着先读取或写入该地址对应寄存器的高8位,再操作低8位,最后将CE置高,完成一次读或写操作。SPI接口的读写函数代码如下:

MC13192的所有操作都是通过中断完成的。当发生中断时,中断服务程序首先读取MC13192的中断状态寄存器,根据其状态转入相应的处理程序,同时完成状态机的转换。图3为MC13192发送数据的流程图。

数据接收过程与发送类似,只是数据接收要单独处理接收出错的情况,当中断类型是接收错误中断的时候,可以重新将MC13192进入接收状态,丢弃错误的帧。

3.2 GPRS网络连接的实现

GPRS网络通信的步骤如下:

(1)LPC2210将Zig Bee网络的数据经过加密、封装处理后,以数据流形式通过RS-232送到SIM100模块上;

(2)SIM100模块将数据依次经过TCP、IP和PPPd等协议封装后,以数据包的形式发送到GPRS无线基站;

(3)数据由GPRS无线基站发送到服务支持节点(SGSN),然后与网关支持节点(GGSN)进行通信,GGSN将数据进行处理后发送到Internet上;

(4)由于GPRS网络工作方式是以IP地址寻址为基础的,数据被转发到具有固定IP地址的监控中心服务器上,建立通过移动通信网关的无线通信链路,实现基于TCP/IP的数据传输。

从应用层面上看,由于SIM100内置TCP/IP协议集,不需要在LPC2210中处理TCP/IP协议,只需要利用AT指令实现GPRS网络的连接、数据的发送和接收等。

GPRS模块在上电或复位后,首先要对GPRS模块进行初始化设置,如工作模式、通信波特率、接入网关、使用的协议类型等。然后,就可以发送拨号命令进行GPRS网络连接了。建立连接后,通过PPP协议协商,得到系统本地IP,当PPP协商成功后,GPRS登录网络成功,系统通过加载数据传输协议(TCP、UDP)实现与监控中心计算机的SOCKET连接。GPRS模块初始化如下:

(1)使用“AT+IPR=115 200”命令,把通信波特率设为115 200 bps。

(2)通过“AT+CGDCONT=1”、“IP”、“CMNET”命令,设置GPRS接入网关为移动接入点。

(3)使用“AT+CGACT=1,1”命令激活GPRS功能。如果返回OK,则表示GPRS连接成功;如果返回ERROR,则意味着连接GPRS失败。

(4)通过TCP的连接命令AT+CIPSTART=“TCP”,“192.68.90.9”,“2020”与监控中心建立TCP连接。“2020”为接入端口号。

3.3 Zig Bee和GPRS网络数据转换设计

网络协调器的主要任务是负责Zig Bee网络和GPRS网络的双向数据转换,实际上是一个基于Zig Bee与GPRS协议的转换网关。它有两种工作方式:(1)按事先设定好的时间间隔,经Zig Bee网络周期性采集各点水文数据,由GPRS模块实时地传送到监控中心,称之为数据的上行通道;(2)GPRS模块实时响应监控中心的控制命令,按照监控中心发来的命令进行特定的水文数据采集任务,称之为数据的下行通道。

基于分析,在μC/OS-II操作系统程序框架结构的基础上,建立两个任务Task_Zig Bee、Task_GPRS,一个UART接收中断服务程序。为避免数据阻塞,系统创建两个消息队列:Zig Bee_GPRSQueue=OSQCreate(&Msg Queue A[0],QUEUE_SIZE);

GPRS_Zig Bee Queue=OSQCreate(&Msg Queue B[0],QUEUE_SIZE)。

当有Zig Bee上行数据时,Task_Zig Bee接收底层SPI接口发来的数据,并经Zig Bee协议进行数据解包,然后将数据发送到缓存区Zig Bee_Gprs_buf进行缓存,同时调用OSQPost(Zig Bee_GPRSQueue,(v o i d*)&Z i g B e e_G p r s_b u f[0])向消息队列Zig Bee_GPRSQueue发消息,该函数唤醒Task_GPRS,该任务调用OSQPend(Zig Bee_GPRSQueue,(v o i d*)&Z i g B e e_G p r s_b u f[0])等待消息队列Zig Bee_GPRSQueue中的消息,有消息时,不断读取消息队列中的数据,通过RS-232接口发送到SIM100中。

当有GPRS下行数据时,SIM100模块接收到来自GPRS网络的数据后,产生串口中断,在UA RT接收中断服务程序中调用OSQ Post(GPRS_Zig Bee Queue,(void*)&Gprs_Zig Bee_buf[0])向消息队列GPRS_Zig Bee Queue发消息,该函数唤醒Task_Zig Bee,Task_Zig Bee任务调用OSQPend(GPRS_Zig Bee Queue,(void*)&Gprs_Zig Bee_buf[0])等待消息队列GPRS_Zig Bee Queue中的消息,有消息时,不断读取消息队列中的数据,通过Zig Bee协议进行数据封装,由SPI接口经Zig Bee网络发送出去。

任务的转换流程如图4所示:

4 结语

基于IEEE 802.15.4的Zig Bee技术是扩充现有网络应用的一种良好手段,具有广阔的应用场合和发展前景。Zig Bee协议栈还在不断升级,如何根据不同的需求设计高性能的Zig Bee网络,如何将Zig Bee网络与其他网络进行可靠连接,是一项很有意义的课题。本文充分利用了Zig Bee和GPRS技术的优势,达到了功能互补,该方案可应用在河道水文、湖泊水库和沿海潮汛潮位等监测项目上。因此,本系统的设计有广泛的应用前景。

参考文献

[1]蒋建辉,王宜怀.IEEE802.15.4在MC13192上的实现[J].现代电子技术,2006,(11).

[2]朱小杰、孙长燕、孙肖子.飞思卡尔ZigBee射频芯片MC13192的原理与应用[J].电子世界,2005,(10).

[3]施承、宋铁成,叶芝惠,等.基于ZigBee协议的无线传感器网络节点的研制[J].广东通信技术,2006,(1).

[4]Freescale,MC13192Data sheet,Rev2.9,2005.

[5]Freescale,SMACRM,Rev.1.2,2005.

上一篇:梦想是人生的翅膀发言稿下一篇:回忆初中生活九年级作文