传统的温度检测方法,是用户直接在检测设备上读取温度值或通过有线网络把温度数据传送到检测室。但如果被检测点距离远、环境恶劣,而且现场又不能保证实时有人的情况下,使用传统的检测方法显然不行。因此,监测温度数据的无线传输和对检测点的远程无线控制是必要的。为解决传统的系统不能及时了解检测环境信息的问题,利用GSM模块TC35i在原有基础上增加无线控制功能,突破了传统有线的距离约束,而且GSM网络的覆盖面广,通过GSM公网短信平台,及时把测控点的温度信息发送给用户。用户也可以发送短信来控制加温或降温设备。
1 技术概况与特点
GSM全球通,是由欧洲开发的数字移动电话网络标准,其开发目的是让全球各地共同使用一个移动电话网络标准。TC35i是西门子继TC35之后开发的工业GSM模块,如图1所示。它是一个支持中文短信息的工业级GSM模块,可以工作在GSM900和GSM1800双频段,TC35i的第1~5引脚是正电源输入脚,通常推荐值4.2 V,第6~10引脚是电源地。11、12为充电引脚,可以外接锂电池,13为对外输出电压,14为ACCU-TEMP接负温度系数的热敏电阻,用于锂电池充电保护控制。15脚是启动脚IGT,系统加电后为使TC35i进入工作状态,必须给IGT加一个<100 ms的低脉冲,电平下降持续时间不超过1 ms。16~23为数据输入/输出,分别为DSR0、RING0、RxD0、TxD0、CTS0、RTS0、DTR0和DCD0。TC35i的数据输入/输出接口实际是一个串行异步收发器,符合TTU-TRS232接口标准,它有固定的参数:8位数据位和1位停止位,无校验位,速率在300 b·s-1~115 kb·s-1之间可选,默认为9 600 b·s-1。电源范围为直流3.3~4.8 V,电流消耗为休眠状态3.5 mA、空闲状态25 mA、发射状态300 mA。可传输语音和数据信号,EGSM900(类)GSM1800(1类)的功率分别为2W和1W,通过接口连接器和天线连接器分别连接SIM卡读卡器和天线。SIM电压为3 V/1.8 V,TC35i的数据接(CMOS电平)通过AT命令可双向传输指令和数据,可选速率为300 b·s-1~115 k b·s-1,自动速率为1.2 kb·s-1~115 kb·s-1。它支持text和pdu格式的SMS。TC35i模块多电源的要求较高,工作电压3.5 V,电压低于0.4 V时自动关机,通话模式的峰值电流为1.8 A,最大电流为2 A。TC35i是通过第15管脚触发点火信号端IGT(Ignition)开启的,并且保持低电平>100 ms方可开机。
图1 TC35i模块实物图
2 系统硬件设计
2.1 系统的功能模块
系统主要有1602液晶显示模块,TC35IGSM模块,STC89C52单片机,温度传感器18B20,继电器部分以及电源,系统框图如图2所示。STC8 9C52作为该系统处理器,内含8 kB的Flash内存。18B20作为系统的温度采集部分,把温度数据以9位数字量传送给单片机,单片机把温度数据处理之后通过液晶显示出来。当单片机发生串口中断时,单片机启动TC35i模块读取短信内容和手机号码,若消息内容和预先设定的内容相符,就执行相应的操作,比如发送“openl”就打开继电器1,单片机执行成功后,通过GSM网络反馈短信给用户。若信息内容不符就将其删除。
图2 系统框图
2.2 温度采集模块
温度采集部分用DS18B20,它是单总线数字温度传感器,温度测量范围是-55~125℃,在-10~+85℃度之间的精度为0.5℃,温度以9为的数值量读出,温度数字量的转换时间为200 ms,DS18B20是“一线总线”的传输方式,提高了抗干扰能力,适合于恶劣的环境。由于DS18B 20其性价比较高所以本系统选用它作为温度采集部分。单片机在与18B20连接时要使用上拉电阻,大小为4.7 kΩ,18B20与单片机连接只占用一个I/O接口,如图3所示。
图3 DS18B 20与单片机接法
2.3 TC35i模块
TC35i模块由ZIF连接器、Flash、天线接口、发射模块和基带处理模块5部分组成,模块框图如图4。基带处理器作为TC35i的核心,它主要处理GSM终端内的语音和数据信号,并涵盖了蜂窝射频设备中的所有模拟和数字功能。TC35i的40个引脚通过一个ZIF(Zero Insertion For-ce,零阻力插座)连接器引出。
图4 模块框图
TC35i能够支持标准的AT指令,设计中涉及TC35i的18脚(RXD0)、19脚(TXD0)和15脚(IGT)其它管脚功能没有被使用,18、19管脚作为串口通信使用,15连接P1,0,单片机可给15脚一个低电平自动启动TC35i模块,TC35i可以和STC89C52串口直接连接,其他单片机可以根据需要进行电平转换,TC35i和STC89C52具体连接如图5所示。在进行通信时,发送者将设置好的短信内容从发送方的手机发送出去,通过短消息中心进行转发,TC35i接收到短消息后存储到SIM卡上,模块的控制器89C51读取短消息后根据需要取出有用的信息,最后后将SIM卡上的信息删除,这样就完成一次单向的数据传输。设计中单片机接收TC35i消息采用中断扫描方式,一旦消息到达TC35i模块,控制器调用串口接收程序来接收短消息。
图5 TC35i与单片机连接方法
2.4 温度控制部分
系统可自动进行温度控制,用户根据需要设定温度,当采集温度低于设定温度时,系统打开继电器1,此时加温设备工作。当采集温度高于设定温度时系统打开继电器2,此时降温设备工作。用户也可以通过手机发送短信来远程打开或关闭任意一路继电器。本系统采用了大功率继电器,因而可以用于220 V市电的电器设备。为增加安全性,采用光电耦合器起到了高低压的隔离作用,连接电路如图6所示。
图6 继电器与单片机连接电路
3 系统软件设计
3.1 指令部分
单片机通过串口发送AT指令与TC35i通信,常用AT指令如表1所示。每个AT指令以AT开头,以回车结束,对SMS的控制主要有3种途径:Block Mode、基于AT指令的Text Mode和基于AT指令的PDU Mode,本系统采用PDU Mode发送和接受消息。
表1 常用AT指令
例如要发送“操作成功”到13488097615(3184087916F5)中,首先要把字符转换为UNICODE码,经转换“操作成功”的UNICODE码为64CD 4F5C6210 529F,AT指令是(1)AT+CMGF=0:设置TC35i为PDU格式。AT+CMGS=023??:为发送短消息指令,其中023代表数据内容的字节数,但不包括第1个00,中文字每增加1个字节数就要加2。发送的字节设置为23个,内容为0011000D91(81)3184087916F50008010864CD4F5C6210529F,代码意义如表2。
表2 发信息代码格式分析
3.2 程序部分
3.2.1 主程序
主程序流程图如图7所示,开机后便初始TC35i模块检测SIM卡是否装好,初始化成功后就可已接收PDU格式的消息,当有信息到达模块时,TC35i能够对发送消息的手机号码进行读取,并对内容进行分析,如果内容符合就执行操作,并向此号码回复1条相应内容的消息,否则删除消息。
图7 主程序流程图
3.2.2 信息内容处理
void read_sms()是程序对信息的内容的处理部分,若有短信接收,先读取发送手机的号码,然后进行内容的比较,处理之后回复提示信息给原手机号码,如果是错误信息就将其删除。
4 结束语
由TC35i通信模块组成的温度监控系统,优点是覆盖范围广、实时性好、可靠性高、价格便宜。以GSM网络作为无线传输网络,适用于频繁传送小数据量的应用,还适用于偏远地区、架设通信线路困难的地方。且在无人值守地区或对无人值守系统,应用短消息业务来传送数据合适,操作人员只需要通过一部手机就可以了解测试点的温度,并且可以远程打开加温和降温设备,开发应用前景较好。