GSM通信在水位远程检测系统中的应用
作者:武汉理工大学 陈法国 陈伟 黄秋元 金晶
引 言
供水系统中的水塔和高位水池等设备由于所处地势高,上下极为不便,有时水即将用完也不知道,造成需用水时却无水可用的情况。此外,在向池中注入水的过程中,由于不知道水位的情况,也就无法控制注水量的多少,这会严重影响正常的工作效率。为此需要对水位进行自动显示、监测和报警。传统的水位检测系统一般通过有线方式与监控中心取得联系,这种方式不但维护起来困难,而且在很大程度上限制了其在时空上的拓展性。采用GSM模块与单片机构成的系统则能够解决以上的问题。通过单片机的并行I/0口可以很方便的实现水位的显示功能。现有的GSM网络在全国范围内实现了联网和漫游,具有网络能力强的特点,用户无需另外组网,在极大提高网络覆盖范围的同时为客户节省了昂贵的建网费用和维护费用。当采用GSM模块时,就可以通过一种无线通信的方式以实现远程终端监控和报警的功能。
1 水位的测试及显示系统
水位的测试通常有两种方法;超声波水位探测仪和干簧管式水位显示仪。这两种方法虽然可行但不切实际,本文设计了一种简易的水位检测方法。该水位检测部分由绝缘支架、电极、导管和浮球几部分构成,如图1所示。浮子由1个直径15 cm的不锈钢球与1根长105 cm、外径15 mm的不锈钢管焊接而成。导管是一根外径20 mm、内径17 mm的PVC塑料管。支架由长80 cm的电工导轨制作而成。其余部分安装在1个长25 cm、宽20 cm、厚5 cm的塑料盒内。
水位测试系统与单片机的并行I/0口、电阻、电源及LED发光二极管共同组成水位检测显示系统,如图2所示。
电极K1、K2和K3的另一端分别与单片机的并行I/C口P1.1、P1.2和P1.3相连,而对应的l/O口则通过电阻串LED接电源的正极。当水位达到水满位置时,此时通过水的导电,电极开关K1、K2和K3都导通,相应Pl口接地置低,3个发光二极管都点亮;当水位达到正常水位时,K2和K3导通,而K1断开,相应P1.2和P1.3置低,2个二极管点亮;当水位达到缺水位置时,此时只有K3导通,对应只有IJFD3被点亮。通过二极管灯点亮个数的显示,在现场给水池注水时,就能很清楚的知道水位的状况,这样就能够正确的注水了。
2 水位远程检测系统硬件组成
水位远程检测系统实际是一个无线数据的收发系统。该系统主要是通过现有的移动通信网络来实现无线数据的传送。它主要由两部分组成,即微控制器芯片89C2051和GSM无线短信芯片G100A。
2.1 微控制器
微控制器采用Atrnel公司推出的一种小型单片机89C2051,其片内含有2 KB的Flash程序存储器和128 B的片内RAM。89C2051共20引脚,其中P1口8脚,可以作为一般的准双向端口,在引脚的驱动能力上,具有很强的下拉能力,工作电压为2.7~6 V。当工作电压在3 V时,电流相当于6 V工作时的1/4,空闲时为1 mA,掉电时仅为20 nA。这样小的功耗很适合于电池供电的小型控制系统。主要特点为采用Flash存储器技术,其软件、硬件与MCS-51完全兼容,程序的电可擦写特性,使得开发与试验比较容易。
2.2 GSM无线短信芯片
GSM无线短信模块G100A是由北京捷麦公司推出的,该模块采用全SMT组装,工艺先进、可靠性高,工作电压范围为5~15 v。其内置的德国西门子公司GSM模块Tc35使得模块操作简单,无须学习复杂的GSM模块AT指令集。G100A的串口具有TTL、RS232和RS485半双工三种形式,标准配置为RS232。
2.3 系统硬件接口连接
整个水位远程检测系统由上位机和下位机构成,其中上位机主要是指移动终端即手机,而下位机是由GSM无线收发模块及与其相连的单片机构成,其电路连接原理图如图3所示。
下位机安装在水池附近,而微控制器C2051与G100A之间是通过串口RS232相连的,即TX、RX和GND三条线,图3中以网络标号相连。由于各自的工作电压不太一样,在这里采用电平转换芯片MAX3232以实现电平转换。单片机的并行I/O口通过网络标号P1.1、P1.2和P1.3分别与水位测试系统中的电极按键K1、K2和K3的一端相连。当水位在不同状态时,由于按键的作用使得对应的P1.1、Pl_2和P1.3电平的状态也不一致。这样就可以通过检测P1口的状态,并将其状态以短消息的形式由GSM模块发送出去,手机终端收到短信后就可以判断水位的状态。这样就完成了水位的远程检测功能。
3 水位数据无线传输的软件实现
由于G100A型GSM数传模块采用的是三线制串口.即TX、RX和GND三条线,故它们之间的数据传输遵循串行数据的格式,其传输数据格式为:1个起始位、8个数据位和1个停止位,且无校验(即5l系列单片机串行通信的方式1)。串口速率为固定的9600 bps。单片机将采集到的水位信息即P1.1、P1.2和P1.3的置零状态通过串口传送给GSM模块,当GSM模块收到远程上位机发送过来的请求得到水位信息后,它就相应的按照某种固定的数据格式将水位信息发送出去。
GSM数据发送和接收的过程没有其他任何握手和数据流控制线,只需按照G100A型GSM数传模块所要求的数据传送格式即可。
GSM短信模块G100A是用GSM模块的短信息功能来传输数据的,所以在使用它传输数据时要用到电话号码。数据包中用6个8位二进制字节表示电话号码,每个字节中的高4位和低4位均用BCD码表示l位十进制的电话号码,这样每个字节可表示两位电话号码,6个字节共可表示12位电话号码。因为现行的电话号码均为11位,而6字节能表示12位十进制的BcD数,所以在传输数据表示电话号码时要在电话号码的前面补0以凑足12位。假设电话号码是13501237654,转换成6字节BCD码后变为01H 35H 01H 23H 76H 54H。
GSM 相关文章:
- 一种GSM固定无线接入设备的设计(下)(09-18)
- TD-SCDMA与GSM双模手机前端的多芯片实现(09-13)
- 李进良:WCDMA利益集团封杀TD的阴谋(09-13)
- 什么是4G(09-16)
- 一种GSM固定无线接入设备的设计(上)(09-18)
- 多模智能移动终端中GSM和蓝牙的共存性设计(10-02)