上海贝岭-半导体 广告 7届电机产业链交流会 广告 2024中国华东智能家居技术创新峰会2 广告 产品库2024A3 广告

基于GSM模块TC35T的无线远程监控

2012-04-27 14:20:17 来源:21IC电子网

摘要:  GSM系统是目前基于时分多址技术的移动通信体制中比较成熟、完善、应用最广泛的一种系统,GSM的短信息系统以其快捷方便而且廉价的特点拥有广泛的用户,同时也为远程监控提供了一种新的技术手段。利用GSM短信息(SMS)进行远程监控具有投资少、成本低、可靠性高等特点,在一些对操作和监控的实时性要求不高的情况下具有很高的性价比。

关键字:  GSM系统,  远程监控,  AT指令集

GSM系统是目前基于时分多址技术的移动通信体制中比较成熟、完善、应用最广泛的一种系统,GSM的短信息系统以其快捷方便而且廉价的特点拥有广泛的用户,同时也为远程监控提供了一种新的技术手段。利用GSM短信息(SMS)进行远程监控具有投资少、成本低、可靠性高等特点,在一些对操作和监控的实时性要求不高的情况下具有很高的性价比。

无线GSM通信模块TC35T

TC35T是SIEMENS公司推出的GSM专用调制解调器,主要由GSM基带处理器、GSM射频模块、供电模块、闪存、ZIF连接器、天线接口六部分组成,可完成语音、数据、短消息以及传真的传送。TC35T具有标准的工业接口和完整的SIM卡阅读器,因此使用非常简单,其结构如图1所示。

GSM远程监控原理和实现

GSM远程监控系统由控制端和受控端两部分组成,如图2所示,控制端可以是手机,也可以用TC35T模块和PC组成。

在本设计中,受控端由单片机、GSM模块、检测部分、控制部分组成。其中PC用于监视与控制,主控程序通过GSM模块TC35T对受控设备发出短信息。受控端的GSM模块TC35T接收短信息后,通过串行口R232传给单片机,单片机根据接收到的短信息进行处理,从中提取控制命令,再对被控设备进行相应的操作控制。受控设备的状态信息也是以短信息的形式通过GSM模块发送给短信息服务中心(SMSC),再由短信息服务中心发送给PC。PC收到短信息后,根据短信息的内容可发回短信息进行控制。

AT指令介绍

AT指令集是由诺基亚、爱立信、摩托罗拉和HP等厂家共同为GSM系统研制的,其中包含了短信息的控制。对SMS的控制共有三种实现途径:Block模式、Text模式和PDU模式。Text模式比较简单,很多诺基亚手机支持该模式,但缺点是不能收发中文短信。发送和接收中文或中/英文混合的短信息必须采用PDU模式,短信息正文经过十六进制编码后进行传送。在本设计要实现中文短消息的传送和接收处理,因此采用PDU模式来发送接收短信息。

由移动终端发起时(即发送)的PDU格式为:

以移动终端为目的时的PDU格式为:

其中,SMSC为短信息业务中心地址,DA/OA为源/目的地址,PID为协议识别,DCS为数据编码,UDL为用户数据长度,UD为用户数据,VP为有效时间,MR指明是发出信息,SCTS指明短信息到达业务中心的时间。

软件编程

软件编程分为控制端(PC和TC35T)编程和受控端(单片ATMEGA128和TC35T)编程。PC机端的软件采用VC编程,主要包括控制界面、接收/发送短信息、数据处理。PC以十六进制发送数据,TC35T再以短信息的格式通过SMSC短信息中心发给受控端的TC35T。控制端的TC35T接收短信息后,PC只要发送一条AT+CMGL=0 0D 0A查询命令即可,0D与0A分别是回车、换行。

受控端采用实时嵌入式操作系统 μC/OS-II,软件分为与操作系统和处理器相关的代码移植部分和应用程序软件。受控端硬件和软件的结构如图3所示。

在ATMEGA128和C编译器ICCAVR满足了μC/OS-II要求的前提下,移植的工作主要包括以下内容:用#define设置一个常量的值(OS_CPU.H);声明10个数据类型(OS_CPU.H);用#define声明三个宏(OS_CPU.H);用C语言编写六个简单的函数(OS_CPU_C.C);编写四个汇编语言函数(OS_CPUC_A.ASM)。

μC/OS-II总是运行就绪条件下优先级最高的任务,最多可以管理64个任务,其中保留了8个给系统。系统的工作过程就是在内核的管理下,根据就绪态任务的优先级来运行程序,始终在执行最重要的任务。在设计中要将系统功能分割成几个部分,按照各部分完成任务的重要性来确定任务的优先级。

本系统按照其所能实现的功能可以分为七个任务,其优先级从高到低依次为建立任务的任务、初始化任务、监控任务、异常情况处理任务、短消息接收任务、短消息处理任务、短消息发送任务,再加上两个系统本身所固有的空闲任务、统计任务(空闲任务的优先级最低,其次为统计任务),系统的任务总数为九个。

主程序的任务主要是初始化操作系统和建立一个建立任务的任务,启动多任务,下面是应用程序主程序的代码。

void main(void)

{

OSInit();

OSTaskCreateExt( TaskStart,

(void*)0,

&TaskStartStk[TASK_STK_SIZE-1],

TASK_START_PRIO,

TASK_START_ID,

&TaskStartStk[0],

TASK_STK_SIZE,

(void *)0,

OS_TASK_OPT_STK_CHR|OS_ TASK_OPT_STK_CLR);

OSSTart();

}

本系统采用GSM模块TC35T实现远程监控,具有实现简单、成本低、通信范围广和传输可靠等优点,具有广泛的应用前景。

本文为哔哥哔特资讯原创文章,未经允许和授权,不得转载,否则将严格追究法律责任;
Big-Bit 商务网

请使用微信扫码登陆

x
凌鸥学园天地 广告