基于AT91RM9200短消息监控系统的设计与实现

时间:2013-04-24来源:网络

3 系统软件设计
系统软件的设计主要是基于Linux下C的编程,无线监控程序是依照短消息收发的原理来对于GSM模块的控制。
3.1 短消息收发的原理
短消息内容的最大长度为140 Byte。它的编码主要有7位编码,8位编码,UC2编码3种编码方式。7位编码是每Byte只使用低7位,每8 By te为一组,去掉最高位,重新编码为7 Byte,因此,7位编码实际可以表示到160 Byte。但7位编码只能发送0x00~0x7F范围内的字符,一般在发送英文短信时使用。编码原理是:每8 Byte为一组,分别用A,B,C,D,E,F,G代表8 Byte,An代表每个Byte的位,则8 Byte重新编码成如表1所示的7 Byte。

c.JPG


8位编码是所见即所得的编码方式,即无需编码,只要将二进制串直接发送即可。8位编码方式适用于制定各种基于短消息的通讯协议。U C2编码常用于中文或中英文混合内容发送,只能发送70个字符(1个UC2占2 Byte)。由于国内一般的编辑器多以GB编码,因此,若要发送中文,需先将中文转换为UC2编码再发送。在手机上,通常的做法是如果全部为英文及半角字符,则以7位编码发送,如果含有中文,则全部编码为UC2发送。
短消息发送方式主要分为文本模式和PDU模式。文本模式其实是针对7位编码做的一个封装,它只能用于发送ANSI范围的字符,发送方式较简单。而PDU模式中所有短消息数据发送前都必须组织成PDU的格式,在PDU模式下发送短信比较复杂,需要自行组织PDU内容,但发送方式灵活,可以发送各种数据,也可以自行设定各PDU字段的内容。
3.2 常用的短消息AT指令
GSM无线模块采用标准AT指令集通信,AT命令是用于控制TE(Terminal Equipment)(如PC等用户终端)和MT(Mobile Terminal)(如移动台等移动终端)之间的相互规则。AT命令类型主要分为基本命令、S寄存器命令、扩展以及厂商定义命令3类。

d.JPG


3.3 GSM程序的实现
ARM与GSM通信以ttyS1对应的串口为桥梁,与MG323提供的1个UART接口连接,支持短消息、电话本管理、数据业务、嵌入式TCP/UDP等功能。使用ARM发出AT指令集对GSM模块进行相应的操作,能够完成发短消息的功能。具体软件流程如图3所示。

e.JPG


对串口初始化的工作主要是波特率、校验位和停止位设置。配置完串口的相关属性,就可以对串口进行打井、读写操作了。在Linux系统中,所有的设备文件都位于“/dev”下,其中串口2对应的设备名为“/dev/ttyS1”,在Linux下对设备和对文件的操作方法是一样的,因此对串口读写可以使用简单的“read”,“‘write”函数完成。
对GSM模块进行初始化工作主要是发送“AT”给MT(Mobil Terminal)看起是否有回复以确定ARM与GSM的串口工作正常。在确认串口正常工作后,发送“ATE0”命令关闭MT的回显。
设置短信的通知方式、短信的格式(PDU)以及短信的编码(USC2)。如果每个功能的设定都正常,最后按照PDV格式向指定用户发送“GSM模块初始化成功”的短信。
解析数据并发送短信主要是首先按PDU格式填充发送个MT的缓冲区的前46 Byte。然后打开数据存储文件,用lseek函数将文件光标由文件结尾向前移动17 Byte。因为数据帧中的数据是以2 Byte的16进制来表示,所以首先将其合并成一个16位的短整型,然后将合并的数据与检验位相加。将数据处理后,最后发送短信并检查MT回复中是否有+CMGS的指令,若有则代表短信发送成功。

4 结束语
以AT91RM9200处理器搭建嵌入式Linux系统,利用GSM/GPRS无线通信模块实现短消息的发送。同时嵌入式系统加GSM模块的系统组成体积小巧,工作稳定,适合偏远地区或移动数据采集系统,提供了数据采集监控的新手段。随着无线通信系统的不断发展和成熟,它必将深入到生活的各个方面。

1 2

关键词: 设计 实现 监控系统 短消息 AT91RM9200 基于

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版