ARM+linux系统移植3G拨号上网收发短信(三)

转载 2013年12月03日 18:30:14
一、用text查看模式
下面的“发”是指我敲的命令,“收”是指回车后显示的信息包括其他接收的信息。
~ >: microcom -s 115200 /dev/ttyUSB1
发:at
收:OK


设置成文本模式读:
发:at+cmgf=1


收:OK


将信息保存在SIM卡中:


发:at+cpms="SM","SM","SM"
收:+CPMS: 0,50,0,50,0,50


收:OK




等待接收短信。。。。。。




收到了会有这个提示信息:
收:+CMTI: "SM",0


查看信息:
发:at+cmgl="rec unread"
收:+CMGL: 0,"REC UNREAD","+8613135699576",,"13/07/14,22:11:10+32"
收:4F60597D
经过一个unicode转换器4F60597D ===>你好


收:OK




二、PDU模式查看


下面取网上一个例子


假设终端收到的短信为:
+CMT: ,24


0891683108200205F0240D91683157121468F0000860800331220000044F60597D


现在的任务是逆编码,从而获得信息。
下面分析一下接收到的PDU数据:


(1)08 //信息中心号码的长度,将91+683108200205F0的长度除2,格式化成2位的16进制字符串所得


(2)91 //短信中心号码类型


(3)683108200205F0 //短信中心号码,转换方法前面有提到


     ==>+8613800220500


(4)24 //TPDU头字节


(5)0D //发送源号码长度,8613752141860的长度格式化为2位16进制所得


(6)91 //发送源号码类型


(7)683157121468F0 //发送源号码,发送端的号码为:
     
     ==>+8613752141860
     


(8)00 //协议标识 TP—PID


(9)08 //数据编码方案,08:中文编码,00为英文或数字,Bit No.7与Bit No.6


(10)608003312200 //日期时间,奇偶互换:06-08-30 13:22:00,有论坛上写接收到的是026080……就是前面有’02’,表示2006-08…但是我用不同的手机发送短信过来接收到的都是06,无法取得2006,不知道是发送方手机设置的问题还是哪里的问题,还在研究中.


(11)00 //时区


(12)04 //用户数据长度TP-UDL(TP-User-Data-Length),4F60597D的长度除2格式化为2位16进制数所得


 (13) 4F60597D //”你好”的UNICODE码:


在提供一个例子:

PDU模式查看




终端收到的短信提示信息:
+CMTI: "SM",2


+CMGL: 2,0,,28
0891683108200705F4240D91685123377660F0000831704132305423084F60597D00200020


现在的任务是逆编码,从而获得信息。
下面分析一下接收到的PDU数据:


(1)08 //信息中心号码的长度,将91+683108200205F0的长度除2,格式化成2位的16进制字符串所得


(2)91 //短信中心号码类型


(3)683108200705F4 //短信中心号码,转换方法前面有提到


     ==>+8613800270504


(4)24 //TPDU头字节


(5)0D //发送源号码长度,8613752141860的长度格式化为2位16进制所得


(6)91 //发送源号码类型


(7)685123377660F0 //发送源号码,发送端的号码为:
     
     ==>+8615327367060
     


(8)00 //协议标识 TP—PID


(9)08 //数据编码方案,08:中文编码,00为英文或数字,Bit No.7与Bit No.6


(10)317041323054 //日期时间,奇偶互换:13-07-14 23:03:45,有论坛上写接收到的是026080……就是前面有’02’,表示2006-08…但是我用不同的手机发送短信过来接收到的都是06,无法取得2006,不知道是发送方手机设置的问题还是哪里的问题,还在研究中.


(11)23 //时区


(12)08 //用户数据长度TP-UDL(TP-User-Data-Length),4F60597D的长度除2格式化为2位16进制数所得


 (13) 4F60597D00200020 //”你好  ”有两个空格的UNICODE码:




四、查看已读信息
OK
at+cmgl=0
OK
at+cmgf=1
OK
at+cmgl="rec read"
+CMGL: 0,"REC READ","+8613135699576",,"13/07/14,22:11:10+32"
4F60597D
+CMGL: 1,"REC READ","+8615327367060",,"13/07/14,23:00:50+32"
hello.good  work.
+CMGL: 2,"REC READ","+8615327367060",,"13/07/14,23:03:45+32"
4F60597D00200020


OK
at+cmgl=1
ERROR
at+cmgf=0
OK
at+cmgl=1
+CMGL: 0,1,,24
0891683108200705F6240D91683131659975F6000831704122110123044F60597D
+CMGL: 1,1,,35
0891683108200705F6240D91685123377660F000003170413200052311E8329BFD769DDF6F3208747FCBD72E
+CMGL: 2,1,,28
0891683108200705F4240D91685123377660F0000831704132305423084F60597D00200020

相关文章推荐

ARM+linux系统移植3G拨号上网收发短信(三)

一、用text查看模式 下面的“发”是指我敲的命令,“收”是指回车后显示的信息包括其他接收的信息。 ~ >: microcom -s 115200 /dev/ttyUSB1 发:at 收:OK 设...
  • sonbai
  • sonbai
  • 2013年07月14日 23:09
  • 2621

ARM+llinux系统移植3G拨号上网收发短信(一)

一、      PPP移植 各项工作具体说明 向linux内核添加3G模块的驱动(USB转串口驱动)和PPP协议的支持,然后编译内核并下载到开发板。当然如果之前已经移植好内核,那么只需要增加几个选...

ARM+llinux系统移植3G拨号上网收发短信(二)

一、发送text格式的短信 给联通发text格式的短信: ~ >: microcom -s 115200 /dev/ttyUSB1 at OK 设置短信格式为Text模式: at+cm...

ARM+llinux系统移植3G拨号上网收发短信(一)

一、      PPP移植 各项工作具体说明 向linux内核添加3G模块的驱动(USB转串口驱动)和PPP协议的支持,然后编译内核并下载到开发板。当然如果之前已经移植好内核,那么只需要增加几个选...

2440开发板linux系统移植3G拨号上网收发短(二)

一、用text查看模式 下面的“发”是指我敲的命令,“收”是指回车后显示的信息包括其他接收的信息。 ~ >: microcom -s 115200 /dev/ttyUSB1 发:at 收:OK...

移植——linux下使用3G拨号上网

日期: 2013.6.10 作者: 杨正 版本: 1.0 (初版) QQ: 1209758756       开发环境的叙述 内容 3G拨号...

USB 3G拨号上网及短信功能的API说明

  • 2012年11月17日 15:16
  • 1.19MB
  • 下载

Android——4.2 - 3G移植之路之 reference-ril .pppd 拨号上网 (三)

Android的RIL机制中的 reference-ril.c 即为厂商提供的驱动接口,这个驱动源码各个厂商都是有提供的,网上也有下载,我现在用的就是huawei wcdma的,最后编译成 libre...
  • jscese
  • jscese
  • 2014年10月21日 15:42
  • 9168

ME909S-821 4G-LTE模块在Linux系统下拨号上网测试

实验平台 大前提 图形化界面配置拨号上网操作 利用wvdial工具软件拨号上网操作 step1先用minicom串口工具测试一下拨号是否正常 step2 使用 wvdialconf 命令进行智能配置 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ARM+linux系统移植3G拨号上网收发短信(三)
举报原因:
原因补充:

(最多只允许输入30个字)