本系统中用到的AT指令如下:
发送:AT+CMGF=0//设置短消息发送格式(1-文本模式;0-PDU模式)
回答:OK
发送:AT+CMGS=24//短信息长度,注意为十进制。
回答:>
回答:+CMGS:[,]
3.2PDU格式简介
目前,发送短消息常用Text和PDU(ProtocolDataUnit)模式。使用Text模式收发短信代码简单,容易实现,但最大的缺点是不能收发中文短信;而PDU模式不仅支持中文短信,也能发送英文短信。PDU模式收发短信可以使用三种编码:7-bit、8-bit和UCS2编码。7-bit编码用于发送普通的ASCII字符,8-bit编码通常用于发送数据消息,UCS2编码用于发送Unicode字符,编码类型在PDU数据包中指定。
下面举例说明PDU格式的组成。例如要把“有人动车!”五个字发送到13808460649,则PDU数据为:
(1)00表示省略短信中心号码;
(2)01表示文件头字节;
(3)03表示信息类型(TP-Message-Reference);
(4)0D表示被叫号码长度;
(5)91表示被叫号码类型;
(7)32表示协议标识TP-PID;
(8)08表示数据编码方案TP-DCS,因为要发送UNICODE内码,所以使用USC2(16bit)编码;
(9)0A表示用户数据长度TP-UDL(以8位码为单位(octet));
(10)67094EBA52A88F66FF01表示用户数据。
3.3汉字编码
由于在GSM标准中,中文编码采用Unicode编码,而不是目前国内常用的GB-2312编码,所以只要将十进制的Unicode编码转化为十六进制即可,也可以由GB-2312编码通过换算得来。例如“您好”二字的十进制Unicode码分别为24744和22909,转化为十六进制为60A8和597D。
3.4报警策略
为了区分情况的紧急程度,可以设置两条短信。若单一检测器检测到信号则发送短信一;若两个都检测到信号则发送短信二。发出短信息以后,用户只需拨号就可以切断点火线。若网络出现问题则向用户手机拨号。
3.5软件流程
在主程序中,89C51利用巧妙的算法对红外信号和震动信号进行采样,相当于对信号进行积分。如果4秒内80%(可根据实际情况调节)的信号有效,则说明有非法人员入侵,产生报警信号以后通过程序控制,以保证15分钟之内不会产生第二次报警信号。
程序的主循环如图4所示。
经实验验证,采用基于GSM短消息的通信方式控制汽车报警系统,不仅可以提高报警系统的通信可靠程度,而且通信距离基本不受限制,从而实现用户对汽车的长距离实时监控。此外本系统还可对入侵的紧急程度进行区分,便于用户根据情况采取措施,满足了汽车用户对汽车防盗的要求。本系统成本不高,易于推广。通过在多种汽车上的实际应用,系统运行良好。