本文转载自:http://blog.csdn.net/hanmengaidudu/article/details/17099755

一、用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拨号上网收发短信(三)【转】的更多相关文章

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

    本文转载自:http://blog.csdn.net/hanmengaidudu/article/details/17099737 一.      PPP移植 各项工作具体说明 向Linux内核添加3 ...

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

    本文转载自:http://blog.csdn.net/hanmengaidudu/article/details/17099749 一.发送text格式的短信 给联通发text格式的短信: ~ > ...

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

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

  4. GPRS模块在Linux平台上ppp拨号上网总结与心得

    linux平台的ppp拨号上网,(注明:这里只谈命令行拨号,用linux就要习惯和熟练使用命令行) 在网上常见的有三种方式:1.使用智能的ppp拨号软件wvdial:参考案例:本博客的<使用wv ...

  5. MiniCRT 64位 linux 系统移植记录:64位gcc的几点注意

    32位未修改源码与修改版的代码下载: git clone git@github.com:youzhonghui/MiniCRT.git MiniCRT 64位 linux 系统移植记录 MiniCRT ...

  6. 【课程分享】深入浅出嵌入式linux系统移植开发 (环境搭建、uboot的移植、嵌入式内核的配置与编译)

    深入浅出嵌入式linux系统移植开发 (环境搭建.uboot的移植.嵌入式内核的配置与编译) 亲爱的网友,我这里有套课程想和大家分享,假设对这个课程有兴趣的,能够加我的QQ2059055336和我联系 ...

  7. Android开发手记(15) 拨打电话和收发短信

    1.Intent简介 Android组价之间的通信,由Intent来协助完成.Intent负责对应用中一次操作的动作.动作涉及数据.附加数据进行描述,Android则根据此Intent的描述,负责找到 ...

  8. 在网页程序或Java程序中调用接口实现短信猫收发短信的解决方案

    方案特点: 在网页程序或Java程序中调用接口实现短信猫收发短信的解决方案,简化软件开发流程,减少各应用系统相同模块的重复开发工作,提高系统稳定性和可靠性. 基于HTTP协议的开发接口 使用特点在网页 ...

  9. Twilio收发短信笔记

    twlio基本使用 Twilio是一个做成开放插件的电话跟踪服务(call-tracking service),可用来进行短信,图片等信息的集中于转发,貌似只支持北美地区的电话. 现有一个需求是:客户 ...

随机推荐

  1. VM虚拟机中CentOS6.4操作系统安装一

    在 VMware中鼠标单击“编辑虚拟机设置”,在弹出的“虚拟机设置”对话框中的“硬件”标签中选择“CD/DVD(IDE)”,然后在右侧的“CD /DVD(IDE)”连接选项中选择“使用ISO映像文件” ...

  2. Ubuntu 系统安装(这里用ubuntu 16.04)

    一.安装Vmware Workstation 12 选择新建虚拟机- 下一步-安装根据红框部分及说明一步一步进行 点击下一步进行 接下来默认下一步,直到如下图 这里的最大磁盘大小100G.不会直接在本 ...

  3. 简述HTTP报文请求方法和状态响应码

    1. Method 请求方法,表明客户端希望服务器对资源执行的动作: 1.1 GET 向服务器请求资源. 1.2 HEAD 和GET方法的行为类似,但服务器在响应中只返回首部,不会返回实体的主体部分. ...

  4. ResNet实战

    目录 Res Block ResNet18 Out of memory # Resnet.py #!/usr/bin/env python # -*- coding:utf-8 -*- import ...

  5. LeetCode(43)Multiply Strings

    题目 Given two numbers represented as strings, return multiplication of the numbers as a string. Note: ...

  6. sort 结构体 正数负数分开排序

    对于结构体排序的一点点记录,之前遇到过结构体排序,个人比较喜欢使用在结构体当中直接重载小于号的方法, 例如说: struct Node{ int index; int del; bool operat ...

  7. 杭电 4883 TIANKENG’s restaurant (求饭店最少需要座椅)

    Description TIANKENG manages a restaurant after graduating from ZCMU, and tens of thousands of custo ...

  8. UVA 1589 象棋

    题意: 给出一个黑方的将, 然后 红方有 2 ~ 7 个棋子, 给出摆放位置,问是否已经把黑将将死, 红方已经将军. 分析: 分情况处理, 车 马 炮, 红将情况跟车是一样的. 建一个数组board保 ...

  9. C语言基础--自加自减

    有如下代码: unsigned int temp1,temp2, i=5,j=5; temp1=i++; temp2=++j; 结果是 temp1=5,temp2=6: i=6,j=6: 版权声明:本 ...

  10. poj1984并查集的相对偏移

    #include<stdio.h>//典型题 #include<math.h> #define N 40010 struct node { int x,y,z; }pre[N] ...