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

本文转载自: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

时间: 2024-07-29 08:14:04

ARM+linux系统移植3G拨号上网收发短信(三)【转】的相关文章

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

本文转载自:http://blog.csdn.net/hanmengaidudu/article/details/17099737 一.      PPP移植 各项工作具体说明 向Linux内核添加3G模块的驱动(USB转串口驱动)和PPP协议的支持,然后编译内核并下载到开发板.当然如果之前已经移植好内核,那么只需要增加几个选项就可以,然后在编译内核就可以了,这个文档默认内核已经移植过,所以只讲与USB转串口驱动和PPP协议支持的几个选项. [[email protected] linux-3.

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

本文转载自:http://blog.csdn.net/hanmengaidudu/article/details/17099749 一.发送text格式的短信 给联通发text格式的短信: ~ >: microcom -s 115200 /dev/ttyUSB1 at OK 设置短信格式为Text模式: at+cmgf=1 OK at+cmgs="+861300711**** " 输入发送的内容: > hello         (内容写完后按一下ctrl + z发送)  

(一)Linux系统移植之环境搭建

Linux系统移植 环境搭建 交叉编译工具链:为了编译.链接.处理和调试跨平台体系结构的程序代码.配置的步骤: 解压到/usr/local/arm目录下,执行命令"tar -xvf arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 -C /usr/local/arm" 配置系统环境变量,把解压的交叉编译工具链的路径添加到环境变量PATH中,在~/.bashrc中添加一行" export PATH=$

linux系统移植和根文件系统制作

1.1 Linux内核基础知识 在动手进行Linux内核移植之前,非常有必要对Linux内核进行一定的了解,下面从Linux内核的版本和分类说起. 1.1.1  Linux版本 Linux内核的版本号可以从源代码的顶层目录下的Makefile中看到,比如2.6.29.1内核的Makefile中: VERSION = 2 PATCHLEVEL = 6 SUBLEVEL = 29 EXTRAVERSION = .1 其中的“VERSION”和“PATCHLEVEL”组成主版本号,比如2.4.2.5.

嵌入式 Linux 系统移植——BSP分析

嵌入式 Linux 系统移植--BSP分析 一.BSP简介 嵌入式系统由硬件环境.嵌入式操作系统和应用程序组成,硬件环境是操作系统和应用程序运行的硬件平台,它随应用的不同而有不同的要求.硬件平台的多样性是嵌入式系统的主要特点,如何使嵌入式操作系统在不同的硬件平台上有效地运行,是嵌入式系统开发中需要解决的关键问题.解决的方法是在硬件平台和操作系统之间提供硬件相关层来屏蔽这些硬件的差异,给操作系统提供统一的运行环境,硬件相关层就是嵌入式系统中的板级支持包 BSP(Board Support Pack

linux系统移植流程

linux系统移植流程   "Ctrl" + "+" :放大:"Ctrl" + "-" :缩小:"Ctrl" + "0" :原始大小. linux系统移植流程,布布扣,bubuko.com

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

32位未修改源码与修改版的代码下载: git clone git@github.com:youzhonghui/MiniCRT.git MiniCRT 64位 linux 系统移植记录 MiniCRT是<程序员的自我修养:链接,转载于库>的作者俞甲子写的小型的C运行时库.里面提供了printf,malloc,free,fopen等比较常用的函数实现. 之所以要捣鼓这个东西,是因为要自己写一个链接器,链接标准库的时候出了麻烦,一些符号在整个libc中都找不到定义,标准库又太大,研究源码,翻文档都

嵌入式linux系统移植开发视频教程

深入浅出嵌入式linux系统移植开发(环境搭建.uboot的移植.嵌入式内核的配置与编译) 课程讲师:韩老师 课程分类:Linux 适合人群:中级 课时数量:56课时 用到技术:嵌入式Linux开发模式 涉及项目:基于tftp烧写系统 咨询qq:1840215592 课程介绍: 本课程重点是给大家讲解嵌入式linux系统移植的开发方法,采用理论与实践,硬件与软件相结合的方法. 1.在每节开始之前先简单回顾上一节所讲的主要内容,并对本节所讲的内容先进行概述,讲解概念.技术要点,设计实现思路等内容,

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

深入浅出嵌入式linux系统移植开发 (环境搭建.uboot的移植.嵌入式内核的配置与编译) 亲爱的网友,我这里有套课程想和大家分享,如果对这个课程有兴趣的,可以加我的QQ2059055336和我联系. 课程内容简介 本课程重点是给大家讲解嵌入式linux系统移植的开发方法,采用理论与实践,硬件与软件相结合的方法. 1.在每节开始之前先简单回顾上一节所讲的主要内容,并对本节所讲的内容先进行概述,讲解概念.技术要点,设计实现思路等内容,最后总结本次课程的要掌握的要点. 2.在讲课的过程中对关键技术