基于嵌入式Linux的短信收发系统设计

基于嵌入式Linux的短信收发系统设计,第1张

  1. 引言

  全球移动通信系统GSM是我国范围最广、通信能力最强的移动通信业务,而其中的短消息功能由于其使用方便、价格低廉、可靠性高而得到广泛应用。嵌入式Linux也是目前得到广泛应用的技术,功能强大和资源丰富是其最大的优势。本文在嵌入式Linux系统中利用GSM模块实现短信的收发,对不方便架设通信线的偏远地区,提供了数据采集的新手段。同时嵌入式系统体积小巧,Linux *** 作系统资源开放,所以本系统经过二次开发,可方便地构成移动数据采集系统,用于远程数据采集、监控

  2. 短信收发原理

  短信服务业务SMS(Short Message Service)是GSM系统提供给用户的一种数字业务。它与话音传输及传真一样同为GSM数字蜂窝移动通信网络提供的主要电信业务。涉及SMS管理的协议如图1所示。

  基于嵌入式Linux的短信收发系统设计,第2张

  图1 SMS管理的协议

  图中SME为短信实体, SMSC为短信服务中心,SMCGWMS为SMS网关,HLR是归属位置寄存器,用于永久储存管理用户和服务记录的数据库,MSC为移动交换中心,VLR为访问位置寄存器,含有用户临时信息的数据库,交换中心服务访问用户时需要这些信息。

  短消息模块的接入方式支持两种模式:基于AT指令的TEXT模式和基于AT指令的PDU模式,它指的是短信息数据的编码格式,文本模式只支持7-bit编码,只能发送纯英文和数字信息,而PDU模式支持7-bit编码、8-bit编码和UCS-2编码,其中后者可进行Unicode编码,如中文,所以本系统采用PDU模式。

  GSM模块采用标准AT指令集通信,其中本系统用到的AT指令如表1所示。

  基于嵌入式Linux的短信收发系统设计,第3张

 

  3. GSM短信数据格式分析

  3.1 发送短信PDU字符

  由于短信模式选择的是PDU格式,因此对PDU的编码和转码就变得很重要。中文短信息的实现需要将GB2312的中文编码转换为代码页为CP936的Unicode编码,PDU发送字符串数据格式中主要由短信中心地址、文件头字节、信息类型、目的地址、协议标识、数据编码方案、有效期、用户数据长度和用户数据组成。例如:设置PDU格式的编码为08 91 68 31 08 20 01 05 F0 11 00 0D 91 68 31 21 43 65 87 F9 00 08 00 04 4F 60 59 7DH,这组代码的含义如下所示:

  08H:短信服务中心地址信息的长度,共8个八位字节(包括91) ;

  91H:短信服务中心地址格式,用国际格式号码,在前面加‘+’ ;

  68 31 08 20 01 05 F0H:短信服务中心地址,8613800210500,补‘F’凑成偶数个;

  11H:基本参数,协议数据单元类型,表示发送,TP-VP用相对格式;

  00H :信息参考,00H表示参考本身号码 ;

  0DH :对方手机号数字个数,共13个十进制数 ;

  91H :对方手机号,用国际格式号码,在前面加‘+’ ;

  68 31 21 43 65 87 F9H:对方手机号(TP-DA),8613123456789,补‘F’凑成偶数个;

  00H:协议标识(TP-PID), 是普通GSM类型,点到点方式;

  08H:用户信息编码方式(TP-DCS),主要用其1个字节的第2和第3位表示编码方式,08H表示为UCS-2编码,最多发140个字符;04H为8-bit编码,最多发140个字符;00H为7-bit编码,最多发160个字符;

  00H:有效期(TP-VP),5分钟;

  04H:短信长度(TP-UDL),实际长度4个字节;

  4F 60 59 7DH:用户信息(TP-UD),“你好”的Unicode编码 。

  3.2 短信接收PDU字符串

  接收方PDU字符串的含义和发送方不同,同样以“你好”为例,接收方的PDU字符串为:08 91 68 31 08 20 01 05 F0 24 0D 91 68 31 67 24 47 63 F0 00 08 70 50 91 31 21 25 23 04 4F 60 59 7DH,其含义如下:

  08 91 68 31 08 20 01 05 F0H:短信服务中心,分析同发送相同;

  24H:协议数据单元类型基本参数(TP-MTI/VFP) ,发送,TP-VP用相对格式;

  0DH:对方手机号数字个数;

  91H:对方手机号(TON/NPI),用国际格式号码(在前面加‘+’);

  68 31 67 24 47 63 F0H :对方手机号(TP-DA),8613764274360,补‘F’凑成偶数个;

  00H:协议标识(TP-PID) ,是普通GSM类型,点到点方式;

  08H:用户信息编码方式(TP-DCS) ,分析同发送方;

  70 50 91 31 21 25H:短信息发送时间(SCTS),07年05月19日13时12分52秒;

  23H:发送时间对应的时区;

  04H:短信长度(TP-UDL),实际长度4个字节;

  4F 60 59 7DH:用户信息(TP-UD) ,“你好”的Unicode编码。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/dianzi/2714251.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-17
下一篇 2022-08-17

发表评论

登录后才能评论

评论列表(0条)

保存