GPRS无线通信模块(精选9篇)
GPRS无线通信模块 篇1
0 引言
随着GSM短信业务的普及, 以及各种工业GSM模块的推出, 利用GSM模块实现基于短信的数据传输成为重要的远程数据传输解决方案。
1 硬件设计
无线通信不仅要实现内容的输入, 同时还要实现这些数据的网络传输。系统的主体部分是一个构成计算机系统的最小系统, 包括CPU、RAM、ROM等。S3C2440芯片是Samsung公司推出的一款16/32位微处理器, 主要面向手持设备和低成本、低功耗、体积小的一般应用, GPRS模块采用Wavecom公司生产的Q2403 GPRS/GSM模块。总体的硬件结构如图1所示。
2 软件设计
基于GSM短信的嵌入式软件具体实现步骤: (1) 编写串口驱动程序, 并完成串口设备的初始化和通信操作; (2) 根据短信协议编码数据, 使用AT指令通过GSM模块收发短信。
2.1 串口通讯程序的实现
S3C2440属于片上系统, 处理器上具备串口、显示等外围接口电路, 在本系统中使用S3C2440的UART端口, 将GPRS模块的RS232的RXD, TXD与之相连接。需要在内核中添加相应的串口驱动。串口驱动完成基本的底层操作, 为上层的通讯程序提供接口函数。
2.1.1 串口的初始化
嵌入式Linux是通过设备文件访问串口的, 在访问串口时, 需要打开相应的串口设备文件。
初始化程序需在使用前调用, 通过对相关的参数进行设置, 包括波特率、数据位、停止位、奇偶校验位等。通过结构体termios进行设置以设置串口。结构的定义如下:
将串口的波特率设置为115200bps, 其模式设置为8位数据为, 1位停止位, 无奇偶校验位。
2.1.2 串口的读写
在进行串口通信前需要完成串口的初始化工作, 然后通过Linux下的write和read函数分别进行对串口的读和写操作。其函数原型如下:
2.2 应用程序设计
应用层的的设计和实现是本系统的重点, 涉及了短信协议的传输层中各个功能的具体分析和实现。
2.2.1 AT指令集
GSM AT指令集是欧洲通信标准化委员会ETSI制定的一套用于控制移动电话等设备的命令集规范。使用该命令集可以通过移动设备完成对短消息的发送和接收。通过GSM AT指令发送短消息的网络结构如图2所示。
其中终端设备 (TE) 通过AT指令和终端适配器 (TA) 交互, TE负责人机接口, 在TE基础上可以完成复杂的业务流程, 最后通过移动设备 (ME) 完成于移动通信网络的信息交互。
驱动GSM模块完成相应操作, 需通过串口发送标准AT指令实现。下面列出一些常用的AT指令和解释:
AT+CMGF:选择信息格式, 可以为TEXT或PDU模式
AT+CNMI:设置如何从网络接收端信息
AT+CMGS:发送短信息
AT+CMGR:读取短信息
AT+CMGD:删除短信息
短消息的发送和接收有3种模式:BLOCK、PDU和TEXT模式。
2.2.2 短消息的接收流程
收短信的流程为:首先通过向串口发送“AT”, 测试GSM模块的当前状态。当模块返回“OK”说明模块正常, 确认之后即可开始进行短信的收发操作。短信收发流程如图3和图4所示。
2.2.3 删除短消息
通过发送AT+CMGR=
2.2.4 设置短信通知指令
通过发送AT+CMMI设置完成后, 当有短消息到来时, GSM模块将向串口发送实例消息, 告知系统有新短息。
3 结束语
以GSM网络作为远程数据传输的平台是一种廉价、稳定、高效的解决方案, 采用该系统所提出的方法可以简单快捷地构建出基于GSM短信的嵌入式应用系统, 在对移动、分散、覆盖面广、动态的监测领域具有广泛的应用价值。
摘要:通过选用Wavecom公司生产的Q2403 GPRS/GSM模块, 实现了具有短信收发功能GSM modem原型, 利用此原型可以轻松实现PC和应用系统间的远程数据传输。
关键词:GPRS,串口,短信息,AT指令
参考文献
[1]李琨.朱绣鑫.赵连莹.Wavecom通信模块Q2406B的外围电路和控制软件设计[J].电子测量技术, 2006 (4) .
[2]杨磊.田作华.朱俊.GSM短消息在粮仓监控系统中的应用[J].微型电脑应用, 2006 (3) .
[3]韩冰.李芬华.GPRS技术在数据采集与监控系统中的应用[J].电子技术, 2003 (8) .
[4]Samsung Electronics S3C2410X32-Bit RISC Microprocessor User's Manual[Z], 2003.
GPRS无线通信模块 篇2
GPRS技术现在已经非常成熟,具有覆盖范围广、接入速度快、使用成本低和永远在线等特点[3]。因此,采用GPRS方式是一种可行的单片机无线上网方案。
2 设计方案
2.1硬件部分的设计方案
硬件部分包括单片机(W77E58)、GPRS模块(MC39i)、SIM卡插座、电源系统、外部数据存储器[2]和接口电路等,如图1。
2.1.1 单片机W77E58
单片机采用具有51单片机内核的增强型单片机W77E58。该芯片运行速度快,时钟频率是普通单片机的3倍。具有32K FLASH程序存储器,256字节内部RAM和1024字节片上SRAM,同时支持双串口。是一款非常适合开发嵌入式TCP/IP协议栈的单片机。它控制GPRS模块接收和发送数据,并且通过RS232接口与数据采集终端进行数据交换。从而实现了串口和GPRS网络之间数据的透明传输。
2.1.2 GPRS模块MC39i
MC39i采用工业级设计,性能稳定,价格便宜,性价比极高。在执行GPRS上网的PPP协议之前,首先要通过AT指令对MC39i进行设置:
(1)波特率:使用AT+IPR=57600命令,设置波特率为57600bps,然后用AT&W保存设置。
(2)PDP上下文: AT+CGD CONT=1,“IP”,“CMNET”。
(3)拨号:格式为“ATD *99***1#”,如果拨号成功,会收到PPP报文,此时就可以进行PPP协商了。如果返回NO CARRIER则意味着拨号失败,应检查SIM卡是否开通GPRS业务,天线是否安装正确等问题。
2.2 软件部分的设计方案
软件部分包括网络协议、GPRS模块驱动程序以及串口透传程序。软件中所有代码都用C语言编写[1],在Keil环境中编译。
2.2.1 网络协议
为了使资源相对较少的单片机能够接入互联网,我们对复杂的网络协议栈进行了简化,主要包括链路层、网络层、传输层和应用层。
(1)链路层PPP协议。PPP协议是一种被广泛使用的链路层协议,由链路控制协议LCP和网络控制协议NCP组成。通过PPP协议,通信双方可以协商数据报大小、认证方式、链路质量等。
(2)网络层IP协议。IP协议是协议栈的核心部分,所有上层数据报文,包括TCP、DNS报文都是以IP报封装传输的。
(3)传输层TCP协议。TCP是一种面向连接的数据传输服务,通过复杂的机制保证了传输的可靠性,并且连接建立和断开有严格的步骤,报文在传输过程中有超时重传机制。
(4)应用层DNS协议。DNS协议应用于域名解析,当服务器端采用动态IP的接入方式时,通过DNS协议可以解析出服务器当前的IP地址。
2.2.2 GPRS模块的驱动程序
单片机通过串口和GPRS模块交换数据,所以首先要编写串口驱动程序,包括串口初始化(Init_Comm)、写串口数据(PrintChar)等函数。读串口数据是通过中断来完成的。由于篇幅所限,只给出串口初始化的代码:
void Init_Comm (void)
{
TMOD=TMOD&0x0F;
TMOD=TMOD|0x20; //定时器1采用方式2,用于产生串口1的波特率
TL1=0xFD,TH1=0xFD; //32MHz-
57600bps
WDCON=0x80; //SMOD1=1SCON1=0x50;// 串口1采用方式1
TR1=1; //启动定时器1*/
}
在这些串口函数的基础上编写GPRS模块的驱动函数。单片机通过AT命令进行拨号后,GPRS模块就转入在线模式,此时通过PPP协议取得一个IP地址,就可以连接到互联网了。
2.2.3 透明传输驱动程序
当单片机通过GPRS模块连接到互联网以后,就可以通过TCP协议与远程服务器进行数据通信了。此时用户通过串口向单片机发送的数据都透明地传送给了远程服务器,同样服务器发过来的数据也通过串口传给用户。由于接收缓冲区空间有限,为了实现大数据量的透明传输,采用了特殊的双指针方法,一个读指针,一个写指针,采用循环读写的方式,如果读写到缓冲区末尾,则返回缓冲区头。当接收到数据后,写指针就把数据写入缓冲区。而读指针不断地扫描缓冲区,一旦发现新数据,就马上读走,腾出空间接收新数据。只要读写指针不重合,就说明缓冲区没有被填满。如此循环往复,就可以利用有限的数据缓冲区实现大量数据透传。
3 结论
本文讨论了一种以8位高速单片机为核心处理器,嵌入了TCP/IP协议栈的GPRS无线数据终端。具有电路简单,成本低廉等优点。终端通过RS232接口与外部控制系统相连,采用透明传输的方式,无需任何协议即可与用户设备相互通信,具有很强的通用性。软件全部采用C51语言编写,稍加改动即可应用到其它控制系统上,可移植性强。
参考文献
[1]马忠梅,等.单片机的C语言应用程序设计.北京航空航天大学出版社,1999,1.
[2]何力民.单片机应用技术选编(二). 北京航空航天大学出版社,1994,5.
[3]钟章队,等.GPRS通用分组无线业务.北京人民邮电出版社,2001,12.
——————————
GPRS无线通信模块 篇3
物联网技术被称为继互联网技术之后的新一代信息技术浪潮,在工农业生产中发挥着越来越重要的作用。比如肉鸽养殖业。鸽肉细嫩味美,蛋白质及能量均居肉食品之首,因此颇受人们的青睐。肉鸽养殖也成为家禽养殖户一个重要的养殖业发展方向。然而,肉鸽养殖场的鸽子数以万计,如果采用人工饲养和管理会耗费大量的人力物力,采用物联网技术对肉鸽养殖进行管理,是提高肉鸽养殖的信息化和自动化的重要手段,是提高肉鸽养殖经济效益的重要途径。在肉鸽养殖过程中,利用传感器实现鸽子笼里面的温度、湿度、氨气浓度等环境条件的实时采集,利用RFID技术采集每对鸽子下蛋的信息和肉鸽生长情况,再通过GPRS技术将鸽子的这些信息无线传输到电脑终端,这样的话,工作人员在远离鸽场的地方利用一台电脑就可以实现对鸽场数据收集分析,进行信息化管理。
物联网技术的核心是无线通讯技术,GPRS是物联网无线通讯技术中重要的一种,是一种新的移动数据通信业务,它在移动用户和数据网络之间提供一种连接,给移动用户提供高速数据通信。GPRS采用分组交换技术,使每个用户可同时占用多个无线信道,同一无线信道又可以由多个用户共享,资源被有效地利用。由于GPRS网络支持TCP/IP协议,这使得无线数据传输变得更加轻松,利用GPRS作为通信手段进行数据传输具有技术新、效果好、可平滑技术升级等特点。
当采用GPRS模块发送数据时,在常用GPRS模块手册的AT指令说明中,数据传送是采用TCP协议来完成FTP传输,但涉及访问并与Web服务器通信时,却没有发现有关这方面的技术资料与具体实现方式的文献报道。
本文介绍一种GPRS模块与Web服务器的远程无线通信方式,以示例代码的方式解释说明了三种与Web服务器建立连接与通信的方式。这些方法简单易用,非常适合应用于自动信息采集,远程监控等需要使用HTTP传输应用的物联网领域。这一技术对推动物联网技术在肉鸽养殖等家禽养殖业中的广泛应用具有重要意义。
1 硬件系统组成
1.1 硬件原理
整个无线通信系统由Web服务器和数据发送终端两部分组成。Web服务器是一个具有公网IP地址的主机,主要是对接受到的数据分析、测试和处理以显示通信结果。
数据发送终端主要由微处理器ATmega328P和GPRS模块SIM800L组成,数据通信方式的测试由串口调试助手输入,并显示服务器返回的信息。系统原理框图如图1所示。
微处理器负责控制整个数据发送终端,并对接收到的串口调试信息加以处理,然后再通过GPRS模块把该信息发送到Web服务器,同时它还负责处理由GPRS模块接收的来自中心服务器返回的响应及有关信息。
(1)ATmega328P微处理器
ATmega328P采用高性能、低功耗的8位AVR微处理器。它采用先进的RISC结构,内含131条指令与32个8位通用工作寄存器,能够工作在全静态工作模式。同时含有非易失性程序和数据存储器,具有32K字节的系统可编程Flash与独立锁定位的可选Boot代码区,能够同时进行读写操作。
本文设计的无线通信测试就是利ATmega328P
对串口发送的数据或状态信息进行转换和处理,同时控制其存储及传输。ATmega328P通过USART的串行接口与GPRS模块的串行接口相连,作为发送AT指令和数据的传输通道。
(2)GPRS模块SIM800L
系统中GPRS模块采用SIM800L无线数据收发模块,完成SIM800L模块可支持4频GSM/GPRS,工作的频段为:GSM850、EGSM900、DCS1800和PCS1900 MHz。模块的尺寸只有15.8*17.8*2.4 mm,几乎可以满足所有用户应用中的对空间尺寸的要求。模块和用户的物理接口为88个的LGA焊盘,提供了模块的所有硬件接口。
SIM800L具有良好的GPRS数据特性,GPRS数据下行传输最大可达85.6kbps,最大上行数据传输可达85.6kbps。该模块支持通常用于PPP连接的PAP协议,并且内嵌TCP/IP协议,能够通过与服务器建立TCP连接将数据发送到任意一个具有公网IP地址的主机上,从而实现信息数据的无线传输与通信。
1.2 原理框图
2 软件系统设计
整个软件系统包括GPRS模块使用AT指令与Web服务器通信的实现方式软件设计和服务器端的测试软件设计组成。
2.1 与服务器通信方式设计
初始化模块GPRS功能:
(1)打开数据:AT+SAPBR=1,1
(2)查看本机IP,用于确认模块已接入互联网:AT+SAPBR=2,1
(3)关闭数据:AT+SAPBR=0,1
(1)HTTP协议下GET方式实现
发送HTTP请求:
(1)AT+HTTPINIT(初始化HTTP)
(2)AT+HTTPPARA="CID","1"(设置承载上下文标识,和上面一致,实际可不发送)
(3)AT+HTTPPARA="URL","http://服务器IP或域名/io/"(首次连接时发送,用来避开运营商在首次连网时对目标地址的重定向,导致数据无法到达指定服务器上)
(4)AT+HTTPACTION=0(首次连接时发送)。
之后通信,先重复(1)、(2),再发送
(5)AT+HTTPPARA="URL","http://服务器IP或域名/io/?get=hello_world_http!"(hello_world_http!为实际要发送的数据)
(6)AT+HTTPACTION=0(发出http请求:0=get,1=post)
(7)AT+HTTPREAD(读取服务器返回内容)
(9)AT+HTTPTERM(关闭HTTP连接)
注:GET方式只能发送无空格字符串
(2)TCP协议下GET方式实现
发送TCP请求:
(1)AT+CIPSTART="TCP","服务器IP或域名",80(连接到服务器)
(2)AT+CIPSEND
(3)GET/io/?get=hello_world_get!HTTP/1.1(hello_world_get为实际要发送的数据)
(4)HOST:rnrn
(5)Ctrl+Z(0x1a,表示发出字符串)
(6)AT+CIPCLOSE(关闭TCP连接)
(3)TCP协议下POST方式实现
发送TCP请求:
(1)AT+CIPSTART="TCP","服务器IP或域名",80(连接到服务器)
(2)AT+CIPSEND(将数据发送到服务器)
(3)POST/io/HTTP/1.1rn
(4)HOST:rn
(5)Content-Type:application/x-www-form-urlencodedrn(定义传输数据类型)
(6)Content-Length:22rnrn(需计算,其值要与后面要发送数据的总长度严格相等)
(7)post=hello world post!rn(hello world post!为实际要发送的数据)
(8)Ctrl+Z(0x1a,表示发出字符串)
(9)AT+CIPCLOSE(关闭TCP连接)
2.2 服务器端软件设计
为进行通信测试,服务器端也需要一个简洁的测试程序用于处理模块所发数据,以验证模块能将数据准确地送达指定的服务器节点中。
这里使用PHP语言进行编写,并采用轻量的Sqlite3数据库存放所有正确接收到的数据,以便于测试时进行调取。假设程序脚本index.php和view.php存放于服务器的二级目录/io下,模块所发送的数据可直接由index.php处理,然后保存于sqlite3格式的数据文件中。之后用浏览器访问io目录中的view.php即可查看数据接收情况。
(1)Index.php内容:
(2)View.php内容:
3 结束语
本研究基于GPRS网络和Web服务器的数据传输通信方案,介绍了三种使用AT指令与Web服务器建立连接与通信的方式——HTTP协议下GET方式、TCP协议下GET方式、TCP协议下POST方式,实现了远程无线数据传输,由Web服务器接收解析后显示在Web网页中。
有了本文的三种方式,后期就可以对接收到的数据进行基于Web服务器的远程管理与分析,这使得本研究具有广阔的应用空间,对提高物联网领域GPRS的应用推广有很大的帮助。
摘要:随着物联网技术不断发展和应用推广,越来越多地需要将数据使用TCP协议传输到Web服务器端并使用HTTP协议应用于网页端。本研究介绍了GPRS模块与Web服务器的远程无线通信方式,并以示例的方式解释说明了三种使用AT指令与Web服务器建立连接与通信的方式。这些方法简单易用,非常适合应用于使用HTTP传输的物联网领域。经实际测试运行,研究取得了较好的效果。
关键词:物联网,GPRS,AT指令,Web服务器,TCP协议
参考文献
[1]摩托罗拉工程学院.GPRS网络技术[M].北京电子工业出版社,2005.
[2]马洪伟,盛翊智.GPRS技术在无线传输数据中的应用[J].微机发展,2005.
[3]虞明雷,姜媛媛.基于GPRS的无线数据传输系统[J].机电工程,2007.
[4]郝记生,张曦煌.基于GPRS网络的无线数据传输系统[J].计算机工程与设计,2008.
[5]郑灵翔.嵌入式系统设计与应用开发[M].北京:北京航空航天大学出版社,2006.
[6]徐爱钧.IAR EWARM V5嵌入式系统应用编程与开发[M].北京航空航天大学出版社,2009.
GPRS无线通信模块 篇4
关键词:GPRS网络;水网监控
中图法分类号:TP309文献标识码:A 文章编号:1009-3044(2007)16-31015-01
A Water Resource Supervise System Based On GPRS
Zhu Xiao-rong1,Fang Chen2
(1.Taizhou Water Conservancy Office, Taizhou 318000;2.SouthEast University, Nanjing 210096 )
Abstract:An automatic water conservancy supervise system based on GPRS has ability to receive data from remote area . Data counted by measure-meter can be sent to supervise center by wireless GPRS module . There is a server in the supervise center. The server can display and analyze the data from the meters. This system builds a bridge between remote meters and supervise center . This article describe the form of the remote meter-supervise system and put forward a way to realize the system.
Abstract:GPRS;water resource supervise
1 引言
随着城市的扩大、工业、农业、日常用水量的不断增加,对水网数据进行采集、传输、分析、存档显得越来越重要,可以为水网的调度提供参考。相对于监控结点的急剧增长,传统的人工抄表速度慢,实时性差,不能满足现代化的水网管理要求。水网的监控结点分布广泛,使用有线的数据总线形式的监控方式已经不能满足现实要求。近来GPRS网络已经随无线通讯事业的迅猛发展覆盖了大小城市,GPRS(General Packet Radio Service)是一种基于无线数据分组交换的网络。因此,GPRS特别适用于间断的、突发性的或频繁的、少量的数据传输。GPRS网络通过移动的服务器和Internet连在一起,这样我们的数据就可以通过从“无”到“有”的隐形连接到达服务器。通过GPRS模块可以使仪表和GPRS网络结合到一起,这就使远程实时监控成为了可能。GPRS模块可以将现场检测数据直接传输到中心服务器,再利用ifix制作的界面处理并显示这些数据,并为监控中心的服务器设计一个方便、美观、且功能强大的界面。这就构成了一个基于GPRS网络和中心服务器的水网智能监测系统。
2 方案
2.1 概述
GPRS目的是为GSM 用户提供分组形式的数据业务。GPRS用于无线数据传输具有多方面的优势,一是接入范围广,可充分利用全国范围的移动网络,方便、快速、低成本地为用户数据终端提供远程接入网络的部署;二是传输速率高,数据传输速度可达57.6kbps,最高可达到171kbps,是常用有线56k Modem 理想速率的两倍,下一代GPRS 业务的速度甚至可以达384kbps,完全可以满足更多的应用需求;三是接入时间短,GPRS 接入等待时间短,可快速建立连接,平均耗时为两秒;四是提供实时在线功能,现在用GPRS MODEM上网,用户将始终处于连线和在线状态,这将使访问服务变得非常简单、快速;五是按流量计费,用户只有在发送或接收数据期间才占用资源。基于以上优点,将GPRS网络用于传输水网的监测数据十分适合。
水网监测系统可分为三大部分:前端采集、数据传输、数据处理。前端数据采集主要由流量计完成。数据传输部分由无线数据传输终端和Internet构成。数据处理部分由组态软件完成。以取水口实时监控系统为例,取水口广泛分布在浙江各个城市周边的水库,各个取水口距离远,需要对这些取水口的流量进行实时的监控,传统的人工抄表、总线抄表的方法已不能满足要求,而基于GPRS无线网络的水网监测系统,可以满足上述要求。
如图(1),取水口的主管道上安装电磁流量计,用于采集主管道的瞬时流量、总流量信息。电磁流量计通过485接口与GPRS模块连接。GPRS模块每隔3秒,从电磁流量计读一次瞬时流量和总流量值,并定期将数据发送到省级和市级的水网监测中心。
图1 取水口无线监测系统示意图
2.2 无线数据传输终端的硬件设计
基于GPRS无线网络的水网监测系统的关键点在于无线数据传输终端的设计,本无线数据传输终端的硬件平台基于SEP3203微控制器。SEP3203是由江苏东大集成电路系统工程技术有限公司设计的16/32 位RISC 微控制器,面向低成本手持设备和其它通用嵌入式设备应用。存储设备由一片8MB的SDRAM和一片2MB的FLASH组成。电源系统为5~48V宽压输入电源系统,其中标准电压为12V输入。12V电压经过LM2576芯片降压到5V,5V电压通过一组二极管降到4.2V(GPRS模块的工作电压),同时又通过一个LM317芯片将5V电压降到3V(微控制器的工作电压),3V电压通过一个二极管得到2.5V电压(微控制器内核电压)。两个RS232接口分别连接工业现场的RS485接口和GPRS无线模块。无线数据传输终端的硬件结构可以参照图(2)。
2.3 无线数据传输终端的软件设计
图2 DTU硬件架构示意图
无线数据传输终端的软件设计包括驱动程序的编写、网络协议栈的使用和基于嵌入式操作系统的应用程序的编写,其中网络协议栈的使用是难点。
利用GPRS网络构建数据的远程无线传输通道需要有协议栈的支持,GPRS终端与中国移动公司服务器建立数据连接,必须利用PPP协议(Point-to-Point Protocol)与移动服务器建立点对点的数据连接。 PPP是为在同等单元之间传输数据包这样的简单链路设计的链路层协议。这种链路提供全双工操作,并按照顺序传递数据包。设计目的主要是用来通过拨号或专线方式建立点对点连接发送数据。
PPP协议中提供了一整套方案来解决链路建立、维护、拆除、上层协议协商、认证等问题,其包含3大部分:链路控制协议LCP(Link Control Protocol);认证协议,最常用的包括口令验证协议PAP(Password Authentication Protocol)和挑战握手验证协议CHAP(Challenge-Handshake Authentication Protocol);网络控制协议NCP(Network Control Protocol)。在GPRS终端设备与移动服务器建立连接的过程中,LCP负责创建,维护或终止与服务器的物理连接;CHAP负责处理服务器的口令验证;NCP负责从服务器获得一个IP地址,和两个DNS域名服务器地址。 GPRS终端设备与移动服务器的PPP协商的成功,标志着网络数据连路层的建立,此后将移动的服务器设为网关,可利用TCP/IP协议访问Internet或其他GPRS终端。这样GPRS终端之间、GPRS终端和Internet之间的数据通道得以建立,数据即可在此通道上按需流动。
2.4 基于ifix构件服务器界面
ifix组态软件内嵌VBA,可以直接装载VB的控件,所以对于熟识VB的开发人员,很容易上手。除了VB常用的控件外,ifix还有很多自带的控件,比如图表控件等,这使得建立方便、美观、稳定、且功能强大的交互界面轻松实现。服务器端软件结构见图(3)。
图3 服务器端软件结构图
3 功效
基于GPRS无线网络的水网监测系统,属于远程仪表监测方案,相同的原理,用在城市公用事业则有助于气网和水网的分析,偷水、漏水的调查;在其他工业控制领域也有广泛应用。总之,基于无线网络的水网监测系统可以避免烦琐的人工操作,使控制中心可以方便的取得、分析、处理监测现场的数据。
参考文献:
[1]Xavier Lagrange,Philippe Godlewski,Sami Tabbane.GSM网络与GPRS[M],电子工业出版社:顾肇基译.2002
[2]杜春雷.ARM体系结构与编程[M].清华大学出版社,2003
[3]东芯IV SEP3203F50用户手册.南京博芯电子技术有限公司
[4]JENAN J.LABROSSE.uc/os-II——源码公开的实时嵌入式操作系统[M].中国电力出版社,2001
基于GPRS的远程数据采集模块 篇5
数据采集与工业生产和国民生活息息相关,大到电力部门各变电站的远程监控、矿业生产单位的安全生产,小到社区居民的电表、水表抄表系统,因此数据采集与通信系统直接关系到人们生活质量的提高。传统的电表、水表的数据采集多采取人工抄表的方式,不仅浪费了大量的人力物力,抄表精度也不高;当前的卡式预付费表由于要将付费额与消费量存入IC卡中,作为电表、水表与监控中心的通信媒介,安全性有待提高[1];工业生产中多采用Internet网络通信或是RS 485总线来实现各监测点与监控中心的数据通信,对于采集点分布集中时尚可实现,但是像电力系统变电站等多分布在郊区且节点多的系统来说不仅通信线路的铺设是一笔巨大的费用,受自然环境的影响也特别大,可靠性得不到保障。
GPRS无线上网技术的快速发展给数据采集技术的发展带来了新的活力。GPRS(General Packet Radio Service)是当前GSM网络通信向3G标准的过渡阶段,即2.5G标准。GPRS在现有的GSM网络的基础上引入分组交换的功能,支持TCP/IP协议,可以与Internet直接相通,因此已在消费电子中得到了广泛的应用。GPRS理论最高通信速率可达到171.2 Kb/s,且国内外各大通信公司均推出了各自的GPRS通信模块,稳定性好,完全能够满足各种数据采集系统的需要,因此,GPRS无线通信技术的应用必将给数据采集系统的发展带来巨大的变化[2]。
1 GPRS通信原理及数据采集模块的整体结构
1.1 GPRS无线通信原理
基于GPRS的无线网络通信系统结构如图1所示,主要由三部分构成:位于数据采集现场的GPRS数据采集模块、网络运营商提供GPRS网络与远程服务器。
数据采集模块位于各个数据采集现场,由于移动公司的通信范围已覆盖我国的绝大部分地区,各数据采集模块可分散地安装在各种复杂的地理环境中而不必考虑线路铺设等复杂的问题。GPRS网络是现场数据采集系统与远程监控中心数据交换的桥梁。数据采集模块与测量仪表进行数据通信,将测量仪表产生的检测数据通过移动基站实时发送到GPRS网络服务商所提供的GGSN(Gateway GPRS Support Node)服务器,GGSN分配给GPRS数据采集终端相应的IP地址,从而实现了数据采集终端与Internet的连接,再通过Internet网络将采集的数据发送到位于监控中心的数据采集服务器。GPRS模块可以是始终在线的,因此位于监控中心的工作人员可以实时了解到终端设备的工作情况并做出相应的工作指示。
1.2 数据采集模块的结构
数据采集模块负责检测仪器与远程监测终端的无线数据传输,如图2所示,模块以Winbond的高性能单片机W77E58为控制核心,通过将串口采集到的数据经初步处理后传送给GPRS模块实现无线网络通信。
W77E58是Winbond公司推出的一款快速8051兼容微控制器,它的内核经过重新设计,整体运行速度要比标准的8051快2.5倍。W77E58具有1 KB的片上外部数据存储器和32 KB的FLASH EPROM,省去了外扩SRAM所需的I/O引脚,从而用来扩展键盘与液晶显示屏。
W77E58较为突出的特性是它具有两个增强型全双工串行口,在数据采集模块中可将一个串口采用RS 232协议与GPRS模块进行数据通信,另外一个串口则采用RS 485协议接收检测仪器发送的数据。RS 485是在工业检测现场应用非常广泛的现场总线,总线上一台主机可以与多达32台从机进行通信。在实际应用中可将一台GPRS数据采集模块与多台检测设备通过RS 485总线相连,提高通信模块的利用率,这在电表、水表等低成本的检测仪表无线通信应用中十分重要。
GPRS无线通信模块负责整个系统的数据收发,GPRS无线网络通信需要TCP/IP/PPP协议支持,当前常见的GPRS模块可分为自带TCP/IP协议栈与不带协议栈的两大类,自带协议栈的模块有Simcom的SIM100,使用方便,用户只需通过AT指令来控制数据传输就能实现无线通信,当然价格相对较高;而不带协议栈的模块还需用户自己在单片机中实现嵌入式TCP/IP/PPP协议栈来实现数据传输。考虑到模块的成本与W77E58高性能,这里选用了西门子的MC35i通信模块。MC35i稳定性及性价比都比较高,接口简单,AT指令完善,支持GPRS CLASS 10[3]。使用时只需自行设计外围电路,包括电源供电、RS 232通信、SIM卡接口电路以及通信天线。该模块不带TCP/IP/PPP协议,需要自己编写,在单片机中实现。
2 TCP/IP/PPP协议的实现
通常的Internet网络通信只需实现TCP/IP协议簇,但是对于无线网络的接入还需实现PPP协议。TCP/IP/PPP协议其实是一系列网络通信协议的集合,为了能在资源有限的单片机中实现网络数据传输,只能根据特定的功能来实现相应的协议,这包括PPP,IP,ICMP,UDP,TCP等协议,并在此基础上构建应用程序的API接口。
网络协议采用分层结构,在GPRS无线通信模块中采用了5层结构。如图3所示,位于最底层的是网络硬件驱动程序,也就是GPRS模块的驱动,MC35i与GPRS网络的连接、断开以及数据通信都是通过一系列的AT指令来实现。
接下来是数据链路层,数据链路层控制互联网上主机之间数据链路的建立,该层实现了精简的PPP(Point-to-Point Protocol)点到点协议。GPRS模块在拨号后首先要与GPRS网关进行通信链路的协商,即协商点到点的各种链路参数配置。协商过程遵守LCP(Link Control Protocol),PAP(Password Authentication Protocol)和IPCP(Internet Protocol Control Protocol)等协议。其中LCP协议用于建立、构造、测试链路连接;PAP协议用于处理密码验证部分;IPCP协议用于设置网络协议环境,并分配IP地址。一旦协商完成,链路已经创建,IP地址已经分配就可以按照协商的标准进行IP报文的传输了。数据传输完成之后,单片机会向GGSN发送LCP的断开连接报文,以终止网络连接。
GPRS模块与网络服务器连接成功后便可以进行数据通信。网际层实现了ICMP协议与IP协议。ICMP协议是网际控制报文协议,负责传递网络状况信息。IP协议为TCP/IP协议中最为核心的协议,它负责数据报路由的选择,以及将上层协议传输的数据包加上IP报头后传送给下层协议,并将下层协议接收到的IP数据包剥离包头检验信息后接收或是丢弃。
传输层实现了TCP和UDP协议。UDP是面向数据报的传输协议,不能保证可靠的数据交付,但开销较小发送数据的时延也相对少。如果对可靠性要求高,可以选择TCP协议,TCP为不可靠的IP连接提供可靠的、具有流量控制的、端到端的数据传输,但对系统资源的要求相应增加。实际应用时可根据传输数据的内容来选取传输协议。
为了方便上层程序调用相关的协议进行通信,可以建立一个数据结构,将本地和远程的IP地址、端口号以及通信状态封装起来构成一个Socket,并提供相应的API函数供应用程序调用,这就是应用层接口[4]。
3 MC35i驱动及AT指令的编写
3.1 MC35i的开关机及初始化
MC35i的开关机需要在模块的ON/OFF引脚上加上脉宽1 s以上的低电平。当模块处于关机状态检测到ON/OFF引脚的下降沿并持续1 s以上的低电平时启动整个模块,同理,当模块启动后检测到持续1 s以上的低电平,则延时8 s关机。所有的AT指令操作都必须在开机状态下才能执行。
开机后还要对MC35i进行初始化来实现单片机对模块的控制:首先要测试模块串口的连接状况,通过发送AT指令,等待模块的回复,返回OK则连接成功,没有响应则表示模块连接存在问题;接着还要向模块发送ATEO指令来关闭回显。回显功能主要用于串口调试,具体应用时应关闭该功能,防止回显字符和返回参数混合。
3.2 MC35i的AT控制指令
MC35i模块是采用AT指令集进行控制的,采用AT指令集可以实现模块参数的设置,数据的发送与接收。AT指令集是调制解调器通信接口的工业标准,指令由ASCII字符组成,除“A/”、“+++”指令外,所有指令都是以”AT”开头,以<回车><换行>结束,绝大多数指令被执行后都有返回参数。
常见的AT指令有:
设置通信波特率:使用AT+IPR=19200命令,把波特率设为19 200 b/s;
设置接入网关:通过AT+CGD CONT=1,“IP”,“CMNET”命令设置GPRS接入网关为移动梦网;
设置移动终端的类别:通过AT+CGCLASS=“B”设置移动终端的类别为B类,即同时监控多种业务,但只能运行一种业务,即在同一时间只能使用GPRS上网,或者使用GSM的语音通信;
测试GPRS服务是否开通:使用AT+CGACT=1,1命令激活GPRS功能。如果返回OK,则GPRS连接成功;如果返回ERROR,则意味着GPRS失败。
中国移动在GPRS与Internet网中间建立了许多的网关支持节点(GGSN),以连接GPRS网与外部的Internet网络。GPRS模块可以通过拨“*99***1#”登录到GGSN上,并通过PPP协议获取动态分配到Internet网的IP地址[5]。
4 使用需注意的问题
由于GPRS网络通信是以GSM网络为基础,GSM网络的语音通信优先级较高,当GPRS长时间在线但不产生流量时,数据业务的优先级会自动降低,GGSN服务器则会为了节省线路带宽断开其网络连接,此时对于GPRS模块来说,虽说IP地址还在,但已无法进行数据传输。为了防止这种情况导致网络的中断,可在系统中设定“心跳”功能,通过单片机的定时器来实现,每隔一段时间向服务器发送一个TCP数据包,以保证系统的网络连接不断线。“心跳”频率应根据实际情况来设定,频率不宜过高,以免产生过高的额外流量。
由于GPRS无线网络受天气环境影响较大,当出现雷雨等恶劣天气或是信息拥塞时可能会发生数据包丢失、掉线等现象。为了防止丢包的现象发生,可以根据数据的重要性与否采取TCP或是UDP协议,TCP协议具有延时重发功能,对于UDP方式,则必须自行设计校验和纠错规则。对于受干扰掉线的问题则可定时测试网络连通状况,向远程数据终端发送ICMP回显请求(即ping命令),根据终端的应答情况来判断网络状况。当多次请求未回应时即启动GPRS模块重新连接[6]。
当数据采集模块处于电磁干扰特别强烈的电力变压器、电力整流器、电力开关产生的火花等环境中时,GPRS模块和SIM卡运行时间长了偶尔会出现死机的现象,因此要对GPRS模块和SIM卡实时监测。
对GPRS模块的监测:每隔一定的时间对模块进行AT指令测试,如果模块有返回数据则说明模块运行正常,没有死机;如果没有返回,则模块出现问题,此时用单片机控制关闭模块电源,几秒钟后再打开电源,重新启动模块。
对SIM卡的监测:在模块测试完毕后接着发送关于SIM卡的AT指令,如果返回OK则SIM卡工作正常,如果返回ERROR则SIM卡复位或者死机,此时可用AT指令重新启动模块。
5 结 语
本套数据采集模块采用GPRS方式接入Internet网络,不受地点与空间的限制,克服了传统的电力系统设备监控布线困难或是抄表系统效率低,可靠性差的缺点,可广泛应用于电力工矿等生产行业设备运行监控,居民生活区远程抄表系统,甚至于各种远程家居电器控制系统等小流量高实时性的通信系统中。随着3G网络通信技术的成熟与应用,无线网络通信的速度与可靠性将有变革性的提高,相信随着新一代通信技术的发展,基于无线网络的数据采集系统将有着更为广阔的应用前景。
参考文献
[1]杨瑞霞.基于GPRS电力无线抄表系统的设计与实现[J].电测与仪表,2007,44(12):30-32.
[2]黄承安,张跃,云怀中.基于GPRS的远程仪表监控系统[J].电测与仪表,2003,40(8):42-45.
[3]杨永立,张保平.嵌入式系统中GPRS模块的应用方法[J].计算机技术与自动化,2006,25(4):193-196.
[4]秦大兴,刘建,郑喜凤.基于GPRS模块MC35i的监测系统设计[J].仪表技术与传感器,2007(2):20-22.
[5]杜垚,李波.内置TCP/IP协议的GPRS模块的应用[J].单片机与嵌入式系统,2006(10):41-43.
[6]鲁涵,齐文新,孙庆虎.GPRS模块设计和应用中的若干问题[J].计算机与数字工程,2006(8):26-28.
GPRS无线通信模块 篇6
1 模块硬件总体结构
1.1 GPRS热网通信网络(1)
GPRS(General Packet Radio Service)是通用分组无线服务技术的简称,它是GSM移动电话用户可用的一种移动数据业务。GPRS的传输速率可提升至56Kb/s甚至114Kb/s[1]。
笔者设计的数据采集系统使用DTU设备加入GPRS网络进行数据传输。DTU是一种数据终端设备,提供串行通信接口,通过GPRS网络实现数据的透明传播,极大地方便了数据的传送,已广泛应用于电力及油田等领域。
1.2 系统结构
该数据采集模块采用STM32F103VB做处理器核心。STM32F103VB使用高性能的ARM Cortex-M3 32位RISC内核,工作频率为72MHz,内置高速存储器(高达128KB的闪存和20KB的SRAM)及丰富的增强I/O端口和外设(包含两个12位16通道的ADC、3个通用16位定时器、一个PWM定时器以及3个USART接口等[2]),完全满足系统需求。
同时,本模块可以外接32路传感器,传感器标准电流信号通过滤波和IU转换电路,转换成电压信号,送入STM32的ADC当中进行AD变换,转换值可以按照配置要求进行标度变换,结果可以通过DTU发送到控制中心。为方便使用,外置24C04存储芯片存储用户配置信息,配置信息包括模块地址、通信波特率及工作模式等。
该模块支持输出AD采集值和输出标度变换结果两种工作模式。如果模块工作于第2种模式下,用户还可以通过PC超级终端按照菜单提示对模块的32路通道分别进行量程及其对应AD极值的设置,使用灵活方便。系统结构如图1所示。其中滤波及IU转换电路如图2所示,该电路可以抑制电流波动干扰并通过250Ω精密电阻将4~20mA电流信号转换成1~5V电压信号,简单实用。
2 系统软件设计
ADC模块采用μC/OS-II作为操作系统,开发相关硬件驱动程序和用户任务,监控单元软件结构如图3所示。
2.1 模块各任务关系
根据模块任务要求,将μC/OS-II操作系统移植到STM32F103VB控制器上,编写了相应驱动和应用程序。
数据采集模块包括AD转换器、USART及24C04等设备,笔者对应设计了相关的驱动程序,包括设备初始化设置、读、写、控制程序和相关消息、缓冲区的初始化,为任务调用提供软件接口。μC/OSⅡ可管理64个任务,并从中保留4个最高优先级和4个最低优先级的任务供自己使用,因此用户可使用的任务有56个。任务的优先级越高反映优先级的值越小[3]。
该模块软件任务包括AD转换任务、DTU通信任务和工作参数配置任务,任务划分及其优先级配置见表1。
AD转换任务完成AD转换,如果配置为输出标度变换结果模式,则还可以根据用户设定进行标度变换。DTU通信任务把结果通过GPRS网络发送到控制中心。
工作参数配置任务用于配置模块地址及通信波特率等基本信息。模块通过串口在PC超级终端输出配置菜单,用户根据提示进行相关配置。任务关系如图4所示。
数据缓存区IntADCbuf[ ]存放着AD转换数据,由AD转换任务和DTU通信任务共享,为防止这两个任务对AD转换数据缓存区的读、写发生冲突,创建了AD转换信号量SempAD,同步AD转换任务和DUT通信任务,任一时刻只能由一个任务独享数据,保护AD数据的时间完整性,避免AD转换任务在其他任务读数值过程中更新数据。任务资源共享关系原理如图5所示。
此外,参数配置任务定时向PC终端发送配置请求,如果需要配置,则挂起AD转换任务和DTU通信任务,进行相关参数配置,配置结束后配置信息写入24C04,之后重启模块,模块上电后读取24C04信息到内存,并根据配置确定相应任务的工作状态。
2.2 工作参数配置任务
为方便用户操作,本模块提供了两种工作模式:输出AD采集值和输出标度变换结果。笔者设计了工作参数配置任务,用于配置工作模式、模块地址及通信波特率等。若工作于第二种模式,则还需配置各路AD转换结果的标度变换参数。配置菜单结构体定义如下:
配置任务流程如图6所示。模块首先向超级终端输出根菜单,之后等待接收配置菜单号,根据菜单号更新菜单显示,如果该菜单回调函数不为空,则进行相应配置操作,参数最终写入24CO4保存。输入“R”或“r”,返回上一级菜单。当配置完毕,选择重启项,模块重新启动,新配置信息从24C04读到RAM,模块按照新配置运行。
当模块设置为第二种工作模式时,传感器标定参数结构体定义如下:
为了方便存储,变量uScale设置为由float转为整型变量的放大倍数,将float转为整型存储。
标度变换求物理量有两种方法:
物理量=fScale×uCurrentAD Value (1)
undefined
如果用户设置了fScale则按照式(1)直接进行标度变换,否则采用式(2)计算fScale。式(2)可以把传感器的物理量极值和相应的实际AD转换结果对应,有利于减小传感器因特性改变而产生的测量误差。
3 结束语
基于μC/OS-II实时操作系统,以STM32为处理器,设计了通用AD采集模块,该模块支持DTU协议,并已经成功应用于供热网管的参数检测,达到了预期的效果。
参考文献
[1]王磊,冯占军.基于GPRS网络的嵌入式无线数据采集系统设计[J].测控技术,2007,26(9):17~19.
[2]彭刚,秦志强.基于ARM Cortex-M3的STM32系列嵌入式微控制器应用实践[M].北京:电子工业出版社,2011.
GPRS无线通信模块 篇7
随着城市建设的迅速发展,道路照明系统中传统的人工操作和维护控制手段已经不能适应现代化城市发展的需求。智能路灯控制模块能够弥补当前路灯控制中的不足,可以监控到每一杆灯,采用支路控制和单灯控制相结合的方式,实现按需照明,在保证可靠性的前提下,有效地实现照明节能。
1 系统硬件结构
整个系统分为路灯监控中心主站软件和路灯远程综合控制模块,每个控制模块可以控制254个灯杆,系统整体结构如图1所示。路灯远程控制模块主要功能是控制每一条支路的通断电,控制每一盏路灯的亮度和开关,完成路灯支路电流的采集,计算出有功功率和电量,同时监测路灯的运行状态,通过GPRS无线模块与监控中心计算机进行通信。路灯远程控制模块是本控制系统的核心部件,结构如图2所示,包括:支路电流采集电路、信号输入电路、控制输出电路、时钟电路、存储电路、GPRS通信模块、载波模块。
1.1 支路电流采集
路灯管理中心想要知道每条支路的用电情况(一条电力线上的所有灯杆称之为一条支路,这在路灯布置时已经规定好),就需要检测每条支路的电流。设计的模块能完成4条支路的三相交流电流采集,这样要进行12个交流电流的转换。交流电流通过小型的TA21CDM-5A/2.5mA电流互感器转换,后经运算放大器LM358放大接入STM32F103B的A/D转换口。STM32F103B内嵌2个12位的模/数转换器(ADC),每个ADC有10个外部通道,可以实现单次或扫描转换,本设计采用扫描模式。在扫描模式下,转换在选定的一组模拟输入上自动进行,提高了采集的实时性。由于STM32F103B管脚较少,电路中采用到模拟转换开关CD4051来完成不同支路电流采集的切换。
1.2 信号输入和控制输出部分
本模块能实现“四遥”功能,可以接收监控中心的遥控命令,远程控制现场支路继电器的分、合,比如为了维修安全,需要对某条支路断电,可以通过监控中心主站软件对这条支路分闸,维修完成后再进行合闸操作;能测量每条支路的用电信息,可以查询当前支路继电器的状态(即分、合状态)及每一盏灯的开关状态,还可以调节每一盏灯的亮度。本模块共有4路控制输出,4路信号输入,可以根据需要增加支路,控制对象应与开关状态信息采集对象一致。
1.3 时钟电路
现场需要准确的开关灯时间,所以模块还要有精确的时钟计算,本模块选用内置高精度调整的32.768kHz水晶振子的I2C总线接口方式的实时计时器RX-8025 SA/NB。
1.4 数据存储
监控中心下达的开关灯时间、亮度调节参数、遥控跳闸次数及最近一次遥控跳闸的支路号和时间、跳闸时的功率及总的用电电量、支路电流都需要保存,设计选用宽电压的256KB具有SPI接口的非易失性铁电存储器FM25W256。
1.5 GPRS模块
设计采用深圳有方公司生产的M590通信模块,监控中心软件需要一台通信前置机(或者前置机组),该电脑运行系统监控软件,并且它必须包含一个在Internet上的静态IP地址。模块开机后首先登陆到中国移动GSM/GPRS网络,然后通过TCP/IP(或者UDP/IP)协议连接到通信前置机,连接成功后,则在通信前置机和控制模块之间就建立了一条可靠的通信通道。
1.6 载波模块
控制模块直接采用青岛东软的载波通信模块方案,通过电力线载波与每个灯杆上的单灯控制器通信。单灯控制器可以控制多路灯头的电源,控制每个灯头的开关和亮度,能够及时监测路灯的状态信息,通过电力线载波通信主动上报给控制模块,再上报给监控中心。单灯控制器还可以接收本控制模块的控制命令。每一个灯杆上安装一只单灯控制器,灯杆编码与单灯控制器的地址码对应,该地址码是唯一的。
2 软件设计
控制模块使用32位ARM7微控制器STM32F103B,微控制器内嵌入了实时操作系统μC/OS-II。程序整体分为三大部分:操作系统部分、各个任务部分、底层驱动程序,主程序流程图如图3所示。操作系统部分主要完成各个任务的调度和管理。任务主要是根据应用程序的功能划分,共分为5个任务,分别为GPRS通信、载波通信、开关量状态输入、控制输出、支路电流采样,其中GPRS通信的工作都是通过一系列的AT命令来完成的,主要是处理监控中心下发的控制命令,实时传送路灯运行信息。底层驱动部分主要完成对已有的硬件系统进行配置、读写和启动等操作。
系统初始化包括操作系统、系统时钟、各个接口函数(SPI总线、I2C总线、ADC、DMA、定时器、中断向量等)、外部时钟的初始化。信号量表示一个或多个事件的发生,用于各个任务之间的通信。4条支路的支路电流采集是在定时器中断中完成的。
A/D转换程序启用了STM32F103B的DMA传输功能。DMA控制器可以代替CPU驱动产生数据访问的地址并执行数据的读出和写入操作。
STM32F103B的DMA特征是传输源和传输目标可以分别是存储器和/或片上外设,源和目标可以同为存储器或同为片上外设,一次数据传输的单位可以为8位、16位或32位,数据传输的触发信号由硬件确定,不能更改。
程序中有12路电流采集,分别对应ADC1的5个通道CH1/CH2/CH3/CH4/CH5,其中CH5的输入是由模拟转换开关CD4051通过不断切换8路电流采样提供,然后由DMA1传送到5个数据长度的接收缓冲区中。ADC的时钟频率为9MHz,在定时器中断(50×16×8Hz)中把数据从接受缓冲区搬到参与运算的数组中,这样可以根据外界的频率不断来调整定时器时间来采样数据,因为外界的频率不一定是50Hz,有可能为40~70Hz的任意值,为了保证在一个周期采样16个点,所以在定时器中断中来启动AD采样和DMA。因为程序中增加了模拟转换开关CD4051,所以每进行一次定时器中断还要切换CD4051的输入通道,ADC1的另外4个通道CH1/CH2/CH3/CH4的采样频率是50×16 Hz,在定时器中断中要加一个计数器,计数累加到8次才采样一次,这样可以保证12个通道电流采样在同一周期完成,当然有一定的误差。为了采样的准确性,也可以将采样点设置为32个、48个、128个,根据需要来选取。程序共进行了10次循环(12个通道电流采样一个周期完成为一次循环),然后对10次结果取平均,最后计算出支路电流值,经校准后精度可达到1%。
3 结语
目前,城市路灯照明大多采用时间控制和人工控制,且只能控制支路不能控制单灯,造成实际管理过程中的很多不便,传统的路灯无法调节灯光亮度,当深夜行人稀少,路灯亮度却依然很高,造成了不必要的能源浪费。设计的模块经现场工业性实验证明,稳定可靠,可以合理设置开关灯时间,实时调节路灯亮度,达到节能效果,实现按需照明。此外,模块支持远程在线升级,实现程序自动更新,大大降低了维护的工作量和费用。
摘要:介绍一款基于32位ARM微控制器STM32F103B和工业级无线通信模块M590的路灯远程综合控制模块,并对其工作原理及软、硬件实现方法进行说明。
关键词:ARM,远程控制,无线通信
参考文献
[1]闫振宁,于会山,等.基于电力载波技术的智能化路灯控制系统[J].微计算机信息(测控自动化),2010,26(4-1)
GPRS无线通信模块 篇8
随着现代农业的发展, 专门针对日光温室的监测预警方法技术欣然而起。黎贞发等[5]、马为红等[6]、关福来等[7]、武永峰等[8]基于B/S或C/S形式发布监测预警信息, 梁居宝等[9]通过3G进行温室小气候及图像的监测, 常国旭等[10]、徐巧年等[11]、张佐经等[12]、宫志宏等[13]以短消息的方式将信息发送给用户, 于合龙等[14]用Android手机客户端软件实现数据接收, 刘德义等[4]、徐高威等[15]通过GPRS进行温室现场LED终端进行预警信息发送。经过几年积累, 目前国内基本已拥有一套从远程数据采集入库到桌面、网页图形图像显示、智能手机及LED信息发布技术。但是仍不能满足农村用户没有电脑、智能手机, 或者远离电脑等情况时需要实时了解温室状况的需求。
本研究从提高气象预警信息的时效性和针对性出发, 将灾害性天气多极预警、预警信息快捷制作和高效发布三者紧密结合[16], 根据用户定制, 自动选定手机发布对象, 实时发布预警, 实现了用户与监测预警系统平台的双向通讯[17]。以期能够解决时间、地点的限制性, 满足用户移动性需求, 提高日光温室灾害性天气监测预警能力。
1 系统结构
1.1 设备组成
主要包括硬件部分 (温室自动站、GPRS模块和用户手机端) 和软件部分 (支撑数据库平台及设施农业预警查询软件系统) 。
1.1.1 温室自动采集站。
温室自动采集站主要包括温室小气候自动站 (型号为DZN1) 及温室实景监测自动站 (型号为CICI-IGHM-NVS3G-1) 。其中, DZN1型自动站主要采集温室小气候要素, 包括温室内部空气温湿度、土壤温度、光合有效辐射、二氧化碳浓度。CICI-IGHM-NVS3G-1型实景监测系统主要采集温室作物长势长相图片及温室外棚室图片。
1.1.2 GPRS模块。
系统采用WAVECOM GPRS模块, 内嵌工业级通信模块的双频调制解调器 (WAVECOM Q2403A工业型A级) , 采用宽电压供电 (5~32 V) , 可以在-20℃~+55℃运行, 通过计算机RS-232串口进行来连接。模块以彩信 (MMS) 或短信息 (SMS) 的方式向用户发送监控信息, 用户则通过手机短信或电话呼叫的方式对系统发送命令和进行相关设置。
1.1.3 用户手机端。
无特殊要求, 可收发短信息, 并可接收彩信。
1.1.4 数据库。
具体有: (1) 信息平台数据库。平台数据库采用SQL网络数据库, 主要包括用户表 (User) 、短信服务表 (Sms) 、来电服务表 (Ring) 、自动站点信息表 (Station) 和日志表 (Record) 。User表用于设置用户基本信息及权限, SMS表和Ring表作为用户短信查询编码对应表, 与User表中SMS列和Ring列相关联。Station表为设施农业站点信息表, 与User中Station列相关联。 (2) 实时气象数据库。系统数据库平台主要依托目前已业务运行的天津市设施农业远程监控系统后台SQL网络数据库, 数据库中包括DZN1型自动站实时远程传输的温室小气候要素, CICI-IGHM-NVS3G-1型实景监测系统传输的温室内外图片以及天津气象区域自动站采集的温室外温度、风速要素。本系统中主要用的2张表, 分别为数据库温室小气候要素表 (Tabtime Data) 和温室内外图片信息表 (Image Data) , Tabtime Data每隔10 min更新1次, Image Data每隔1 h更新1次。
1.1.5 温室小气候预警查询软件系统。
软件系统在GPRS模块和实时更新数据库的基础上开发完成, 系统采用Vb.net开发。核心界面包括用户管理、功能浏览、系统设置、初始化及发布5个模块。用户管理模块包括不同级别用户的添加、修改及删除管理;功能浏览包括电话、短信查询服务代码 (0~9) 代表的含义解释;系统设置包括SQL数据库路径及灾害预警指标预警频率的设置;初始化包括GPRS模块连接及各功能的启动。发布主要为人工信息发布。
1.2 设备组装与运行
如图1所示, 系统包括图中A、B两部分。其中A部分为数据自动采集, 工作原理为温室自动采集站实时采集数据后通过GPRS和3G网络的方式将数据传输到远程数据服务器进行监测校准入库。B部分为客户端软件系统, 采用Client/Server结构体系[18]。本研究重点为B部分。设备组装与运行时, 首先安装GPRS模块电脑驱动, 然后将带有SIM卡的GPRS模块通过电脑串口[19]安装于装有温室小气候预警查询软件的服务器, 启动软件进行初始化, 等待返回模块与移动运营商连接信息和数据库连接信息[20], 如果二者均正确连接, 则系统进入侦听状态。之后用户只需要通过能够接收文字或图片的已注册的移动设备与系统GPRS模块联系即可及时得到自己所需要的信息, 不存在时间、地点限制。
2 系统功能设计
2.1 短期自动预警
基于数据库服务器实时传输的农田小气候数据和室外环境数据, 进行短期预警。具体方式为:设置相应的短期预警指标, 实时分析数据, 当达到指标值进行预警, 包括每年12月1日至次年3月末5 cm地温小于0℃的冻害预警, 2~8 d的低温寡照预警, 温室外风速大于17 m/s的大风预警。
2.2 手机温室数据查询反馈
用户通过拨打电话或发送短信的方式对温室数据进行查询, 具体操作方式为:GPRS模块收到指令后, 通过RS-232传到客户端软件系统, 首先进行身份识别[21], 剔除不合法用户, 之后根据不同用户的定制需求及指令要求, 进行文字短信息或图片彩信息反馈。反馈信息包括实时空气温湿度、实时二氧化碳浓度、温室内外图片、日最高最低气温及帮助等信息。
2.3 人工信息发布
如遇突发性灾害或其他一些需要及时通知农户的信息, 管理员可通过将短信息发送到客户端系统或直接在客户端服务系统操作进行群发送或有区别发送, 从而达到预警或发布的目的。
3 系统关键技术
3.1 软件与GPRS模块通信功能实现
由于GPRS模块具有一个全双工的串行通信口, 因此客户端PC机与模块通信采用标准的RS-232串口。建立客户端系统的通信时, .net中的Serial Port串口类实现了该功能, 通过确定通信协议中的端口号 (COM1) 、串口通信波特率 (9600) 、数据位 (8) 、奇偶校验 (0) 、停止位 (1) 、读超时 (1000) 等信息[21], 与GPRS模块建立连接。系统通过Serial Port类中的Data Recieved事件, 监控串口的接口缓冲, 实现一旦有数据进来, 应用Serial Port类提供的Read Read Line等函数立刻处理。数据的发送应用Serial Port类中Write和Write Line实现。
3.2 数据的接收与反馈
用户想要得到系统的反馈, 需通过管理员进行注册, 注册方式为管理员直接在电脑客户端软件注册或通过手机进行远程注册, 之后用户可以根据权限接收预警信息或进行查询获取反馈信息, 例如, 当你拨打电话或发送短信代号时系统会根据用户定制进行反馈。这些功能的实现在系统后台通过4个关联表来完成, 分别为User、Ring、Sms和Station表。以发送短信息为例, 如图2所示, 当用户编辑指令发送到客户端GPRS模块后, 系统侦听到户手机号码、通信方式或发送指令, 并和User表中的用户进行比较, 如不存在该用户, 过滤非法连接;如存在此用户, 查看指令内容, 如果指令为管理员, 为用户注册信息, 查看Uers表中Permissions列的代码 (0—普通用户, 1—管理员) , 匹配且指令格式正确, 注册成功并反馈注册成功信息, 否则返回帮助信息;如果为要素查询, 查看User表中Sms列是否有服务代码 (0为无服务, 1~8为功能, 9为帮助) , 如果有服务, 查看User表中Station列, 并关联到SMS及Station表, 进行相关服务分析, 并进行反馈。如果为拨打电话查询则关联到Ring表。
4 系统应用示例
基于GPRS模块温室小气候预警查询系统依托已业务运行的天津市设施农业远程监控系统后台数据库, 在天津市宝坻区圣人庄, 西青区青凝侯、武清农科院创新基地, 开展了温室黄瓜和西红柿等温室蔬菜瓜果小气候要素及其环境图像信息的监测, 初步实现了温室小气候的手机电话、短信智能查询和温室灾害短期预警。
经过2年的运行, 结果显示, 系统性能稳定, 及时性较强。温室实时温度、湿度、CO2浓度及环境图像等要素的反馈及短期灾害预警能够较为充分满足农户对温室大棚内外环境的及时、准确了解。
基于GPRS模块设施农业监测预警系统主界面如图3所示。用户发送温室内环境图片服务代码后反馈的图片如图4所示, 可较清晰地反映图像中黄瓜的生长状况。
5 结论
系统的应用情况显示, 基于GPRS模块设施农业预警查询系统性能稳定、及时性强, 通过电话、短信、彩信等方式, 不仅实现了实时空气温湿度、实时二氧化碳浓度、温室内外图片、日最高最低气温及帮助等信息的自动反馈, 而且实现了温室短期灾害自动预警监测预警及信息发布, 最终实现了温室小气候的实时查询、灾害天气的多极自动预警、发布一体化。
研究突破了传统电话传真、广播电视、手机短信等气象信息发布在时间、空间的局限性, 可以全天24 h, 无论用户身在何方, 只需带有能够接收文字和图片的移动设备, 即可及时查询温室环境并接收预警信息及农用天气预报信息发布。
应用本系统可有效地对设施农业灾害性天气进行实时预警, 提高了针对特定客户提供设施农业温室作物长势和小气候气象数据及温室外天气状况的查询服务, 提高了设施农业气象预警信息及查询制作发布的时效性和针对性。
系统也存在一定的问题, 由于应用单卡GPRS模块, 当用户达到一定数量时, 系统在信息反馈时, 会发生时间的滞后, 后期可与运营商协商, 购置相应的服务从而进行改进。
摘要:传统的电话传真、广播电视、网络、手机短信等气象信息发布在实际运用中难以针对特定客户提供设施农业温室作物长势和小气候气象数据及温室外天气状况的预警查询服务的问题, 研究依托业务运行的天津市设施农业远程监控系统, 以GPRS模块为基础, 通过VB.NET编程语言, SQL server数据库平台, 以Client/Server为构架, 建立了基于GPRS模块的设施农业预警查询系统, 通过电话、短信等接入手段, 以短信、彩信自动回复方式为媒介, 实现了温室小气候的实时查询、灾害天气的多极自动预警、发布一体化, 提高了设施农业气象预警信息的准确率及查询制作发布的时效性和针对性。
GPRS无线通信模块 篇9
随着我国电力系统的迅速发展及电力系统经营和管理体制的改革, 传统的抄表和电力管理系统已经不能满足现阶段电力发展的需要。如何及时、准确地了解用户的用电状况、有效地进行负荷管理等一系列问题亟待电力企业解决[1]。
目前有各种通信类型的负荷管理系统, 如无线电、电力载波、电话线等, 但都存在通信设备投资大、运行成本高、工程量大、数据传输速度慢及时效性差、系统运行维护工作量大或可靠性低等问题, 因而难以推广应用[2]。电力负荷管理终端作为安装于用户端的监控设备, 担负着数据采集、历史用电数据保存、电力负荷实时监控、电能表运行状态监测及数据通信等重要任务, 是电力负荷管理系统的基础。
通用分组无线业务 (GPRS) 技术已变得日益成熟, 由于GPRS无线数据通信无需自行组网[3,4], 具有覆盖面广、通信可靠、实时在线、免维护等优点, 为实现无线通信的负荷管理终端的构建提供了便捷、高效和全新的数据信息传输通道, 深受电力企业的青睐。因此, 本研究主要探讨基于GPRS无线通信的电力负荷管理终端设计。
1 终端系统的主要功能
电力负荷管理系统是电力系统现代化管理体系建设的重要组成部分, 是电力系统部门在线监测客户用电数据, 实现客户现场管理和监督的重要技术装备, 是促进电力需求侧管理, 实现有序供电, 保证电网安全的重要技术手段。其主要功能有:
(1) 远程自动抄表。利用负荷管理系统进行抄表, 可以排除技术手段和人为因素的影响, 提高抄表的及时性和准确性;与用电营销系统联网, 实现从抄表到电费结算的全程自动化。
(2) 电力需求侧管理分析。系统为需求侧管理工作提供数据服务, 分析能效管理效果, 评估客户避峰、错峰的有效性和用电的合理性, 可进行需求侧负荷预测并向客户发布供电信息, 提供用电数据服务等。
(3) 实时告警和反窃电监测。利用负荷管理终端强化计量装置的工况监督, 从而防止窃电和因计量装置的故障漏抄电量。负荷管理终端具有实时数据采集和通信功能, 可定时将用户电能计量表中储存的各时段用电量、最大需量、电能表缺相时间、过载时间等数据记录下来, 并能及时上传给主站。
(4) 为电费催收工作提供辅助控制手段。主站将用户购电量下发给负荷管理终端, 终端可根据客户的用电量情况逐步扣减预置电量, 并定时将剩余电量信息上传至主站, 主站再通过短信或电话, 对客户进行电费催缴或进行有选择的负荷控制。
(5) 负荷预测。采集用户的电压、电流、功率、电量等数据, 利用多种先进的预测模式和计算机技术, 依据客户及市场实际情况, 实现中短期特别是短期负荷预测。
(6) 电能质量统计分析。提供电压合格率、功率因数合格率、供电可靠性、谐波监测分析等功能。
2 终端系统的总体结构
电力负荷管理终端系统的结构和组成如图1所示, 主CPU采用EPSON公司推出的32位单片机S1C33209, 实现采集数据的处理, 负责控制判断和各接口通信处理等。使用11.059 2 M的晶振, 倍频后CPU执行速度可达60 M, 保证了终端对实时性和快速响应的要求。主CPU单元有4个串口, 分别用于与无线通信模块, 电表的485、外部红外设备以及RS-232的串口通信。
作为管理终端, 不仅需要能和上层主站进行无线通信, 还需要能与现场的表计进行通信, 以便能够及时了解现场表计的电压、电流、有功功率、无功功率等参数如图1所示。通常终端采集现场表计的用电参数是通过485总线进行的, 当发现电表缺相、断相、逆相序、停走、飞走等重要事件时, 能主动通知主站, 并及时处理。同时, 终端还能够通过脉冲获得现场表计在一定时间的电量, 接收电能表输出的脉冲, 并根据电能表脉冲常数Kp (imp/kWh) 、TV变比Kv、TA变比Ki累积计算电能量、1 min平均功率、最大需量;并记录当日、当月最大值和出现时间。
终端的防窃电, 在实现时主要有以下两种方式:①对门节点的检测, 在放终端的盒子被打开时, 送门节点告警, 通知主站有人操作终端;②对电流互感器的检测, 在有电压的情况下, 线路电流突然变的很小, 则证明很可能有人在窃电。
作为负荷控制设备, 继电器控制输出也是必不可少的, 该终端中有4路继电器跳闸输出, 用来控制相关线路的跳闸, 可用远程发送指令实现控制终端的现场用电线路。
终端4个串口所连接模块中, RS-232接口的数据、无线通信模块接口的数据及红外接口的数据最终都要符合终端的上层规约 (即和主站通信所用的规约) , 且都可以对终端进行操作控制。
对终端无线通信部分采用模块化设计, 便于维护和更换。无线通信模块有单独的CPU, 通过此CPU与GPRS模块进行AT命令以及数据传输。CPU采用PHILIPS公司的ARM7系列芯片LPC2132, 此芯片可以通过串口进行烧写程序, 便于升级。先将程序传输给终端, 然后由终端通过串口给LPC2132烧写程序, 从而可以实现无线通信模块部分的远程升级。主板和无线通信模块之间的接口如图2所示。其中15 V电源给模块供电, 5 V是模块其他地方的供电电源。RST_EN用于控制模块硬件看门狗, 主要是防止模块CPU (LPC2132) 远程升级时被硬件看门狗复位。UP_CTL是模块CPU升级的控制脚。终端还可以通过MB_RST对模块CPU进行复位。这样既可以实现终端和无线通信模块部分的数据通信, 又可以对无限通信模块的CPU (LPC2132) 进行升级。
3 关键技术设计
3.1 终端的电磁兼容处理
电磁干扰主要有两大类[5]:①传导干扰;②辐射干扰。要使终端真正应用电力系统中, 必须通过国家认证的电磁兼容性试验。对于传导性干扰, 解决办法主要是在某些关键处加上磁阻、磁环、压敏、电阻等抗干扰元件, 使得传导性干扰及早被过滤掉。对于辐射干扰, 主要是通过屏蔽和滤波方法来解决, 可以在输入信号端与地之间接一些电容进行滤波。
3.2 远处通信
对于远处无线通信的终端来说, 无线通信部分无疑是本系统考虑的重点。无线通信模块采用西门子公司基于GPRS的三频无线模块MC55[6]。MC55是当今市场上尺寸最小的三频模块, 该模块可工作于900 MHz、1 800 MHz和1 900 MHz, 其内嵌TCP/IP协议, 开发过程中无需对模块编写通信协议。用户可以通过AT命令设置所要使用模块的服务类型、目标IP和端口号, 与管理中心服务器建立TCP/UDP连接[7], 并按照设定的参数维护TCP/UDP连接, 然后通过AT命令打开连接, 即可实现模块和主站的数据连接, 从而实现终端和主站间的数据信息传输。
另外, 需要考虑模块 (几乎所有类型的无线通信模块) 本身设计的问题, 在对模块关电时, 一定要先用AT命令对模块进行软关机, 然后再对模块进行断电, 这样可以大大减小模块的损坏率, 提高模块的应用效率。
3.3 终端远程升级
为了满足电力部门的后续需求, 要求终端必须具有远程升级的功能, 这个也是终端设计中比较重要的部分。远程程序更新根据实际需要有两种方式:①更新全部主控制模块程序;②更新主控制模块下部分程序模块的程序。
前者需要比较长的时间, 操作不方便。后者可以快速更新, 但是需要考虑FLASH存储块的分配合理性, 考虑比较小的调整就能适应不同型号的FLASH。
更新程序过程流程简述:报文接收作为数据的程序代码存入数据RAM, 程序代码校验, 调启动代码到CPU片内程序区, 运行启动代码烧程序, 烧程序结果提示处理, 其中要有中途停电处理。
远程升级工作流程如下:
(1) 上电初始化时, 调用相关函数, 清除“是否需要下装程序”的标记;检查下装程序是否成功, 确定是否需要将下装操作的结果上送主站, 如果需要上送, 则上送完毕后, 清除“下装程序操作完成的结果”的标记。
(2) 收到下载程序的命令与程序数据块时, 调用下装程序, 复制RAM中的程序数据块到FLASH, 下装正常则复位。
4 结束语
在电力负荷管理系统中采用GPRS通信方式具有一次性投资小、维护运行费用低、对环境的适应性强等特点。基于GPRS的电力负荷管理终端实现了现场数据的采集和分析, 能及时发现电网供电量异常, 及时主动上报, 可进一步进行远程控制。该负荷管理终端已在多个供电公司投入使用, 系统运行稳定, 并且易于操作和扩展, 可以有效地满足电力负荷管理与控制的工作要求。
参考文献
[1]王运全, 姜忠福.GPRS无线网络自动抄表及负荷管理系统的研制[J].计量技术, 2004 (8) :46-48.
[2]刘从新, 袁建伟, 曾维鲁, 等.基于GPRS的分布式监控系统的研究[J].电力系统通讯, 2004, 25 (8) :16-19.
[3]LIN C E, LI Chih-ching.A real time GPRS surveillancesystem using the embedded system[C]//The 29th AnnualConference of the IEEE Volume 2, 2-6 Nov.2003:1228-1234.
[4]虞明雷, 姜媛媛.基于GPRS的无线数据传输系统[J].机电工程, 2007, 24 (5) :34-36.
[5]纪峰.电力负荷管理终端的电磁兼容分析[J].电测与仪表, 2007 (9) :42-44.
[6]彭浩.基于GPRS的电力负荷管理系统设计与实现[D].上海:复旦大学信息科学与工程学院, 2008:22-30.