linux下利用GPRS模块发短信、打电话

一、开发环境
    内核版本:linux-3.0
    开发板:FL2440(nandflash:K9F1G08 128M)
    GPRS模块:SIM900
 

二、与发短信和拨号相关的 AT 指令 

 

序号 命令 命令说明
1 AT+CMGC   Send an SMS command 发出一条短消息命令 
2 AT+CMGD      Delete SMS message 删除 SIM 卡内存的短消息
3 AT+CMGF    Select SMS message formate  选择短消息信息收发格式: 0-PDU;1-文本
4 AT+CMGL    List SMS message from preferred store 列出 SIM 卡中的短消息
5 AT+CMGR    Read SMS message 读短消息
6 AT+CMGS    Send SMS message 发送短消息
7 AT+CMGW    Write SMS message to memory 向 SIM 内存中写入待发的短消息
8 AT+CMSS    Send SMS message from storage 从 SIN |M 内存中发送短消息
9 AT+CNMI    New SMS message indications 显示新收到的短消息
10 AT+CPMS    Preferred SMS message storage 选择短消息内存
11 AT+CSCA    SMS service center address 短消息中心地址
12 AT+CSCB   Select cell broadcast messages 选择蜂窝广播消息
13 AT+CSMP   Set SMS text mode parameters 设置短消息文本模式参数
14 AT+CSMS    Select Message Service 选择短消息服务
15 AT+CNMI=2,1,0,0,0             设置收到新短信存于SIM卡中并发CMTI通知
16 +CMTI:”SM”,1              收到了短信,自动弹出,其中1表示存在SIM中的序号
17 AT+CMGR=1               读取短信,其中1要与上面序号对应
18 AT+CMGD=1               删除短信,其中1为短信序号
19 ATD  拨号命令  这个命令用来设置通话、数据或传真呼叫; 例 ATD13844019770;
20  ATH  挂机命令  
21  ATA  接电话  

 

发送短消息有两种方式:PDU和TEXT 模式,TEXT模式只支持传送英文及数字信息,但它的编码要比PDU模式简单很多,所以建议采用TXET模式发送和接受短消息。(以下以TEXT 模式示范)

 

三、准备工作

  GPRS模块,是具有GPRS数据传输功能的GSM模块。

       GPRS模块就是一个精简版的手机,集成GSM通信的主要功能于一块电路板上,具有发送短消息、通话、数据传输等功能。

  GPRS模块相当于手机的核心部分,如果增加键盘和屏幕就是一个完整的手机。

  普通电脑或者单片机可以通过RS232串口与GPRS模块相连,通过AT指令控制GPRS模块实现各种基于GSM的通信功能。 

 

准备工作:

1)通过串口线将GPRS模块的串口和开发板的串口连接好

2)将可以使用的手机SIM卡插入GPRS模块的卡槽;

3)启动开发板,接通GPRS模块的电源

4)然后按下GPRS模块的SW1,让SIM开始工作,搜索网络,这时发光二极管D3会闪烁。

 

四、实验过程:

PS:确保内核添加了串口驱动

 

执行如下命令进行测试:

 1 [root@root /]# ls dev/
 2 
 3 td2                null                tty3                ttyS0
 4 mtd2ro             pcmC0D0c            tty30               ttyS1
 5 mtd3               pcmC0D0p            tty31               ttyS2
 6 [root@root /]# microcom -s 115200 /dev/ttyS1 //microcom命令制作跟文件系统时busybox会添加,这里的/dev/ttyS1需要根据GPRS使用的串口选择                                                                      接的串口选择)
 7 
 8 at                 //返回OK则说明模块可以正常工作
 9 OK                                                                           
10 
11 AT+COPS?           //运营商,此处为联通                           
12 +COPS: 0,0,"CHN-UNICOM"
13 
14 AT+CSQ             //查看SIM信号质量
15 +CSQ: 23,0
16 
17 
18 OK
19 
20 AT+CPIN?          //查询状态,模块准备好打印如下
21 +CPIN: READY
22 
23 OK
24 
25 AT+CMGF=1         //将短信息格式设为 TEXT 模式,如果为0 则为PDU格式
26 OK
27 
28 AT+CSCS="GSM"     //设置字符格式为 GSM 模式
29 OK
30 
31                   //有的说在发短信之前要设置短信中心号码示例:AT+CSCA=”+86138XXXXXXXX”,,但是我的没有设置就可以发短信,示例如下   
32 
33 at+cmgs="13007110996"         //输入手机号                          
34 
35 > zhouyou,hello!              //出现>后输入短信内容,之后不是enter键输入,切记是按ctrl+z,如果错了可按esc返回
36 
37 +CMGS: 36
38 
39 OK                    //发送成功的标志
40 
41 ATD13007110996;       //打电话,注意后面的分号不能掉,拨号成功返回OK,插上带话筒的耳机就可以通话了
42 OK
43 
44 ATH        //挂电话命令,成功后返回OK
45 OK
46 
47 
48 RING       //来电话时,会不断打印RING
49 
50 RING
51 ATA        //接听命令,成功后返回OK
52 OK
53 ATH
54 OK
55 
56 ctrl+x     //退出microcom

 

microcom的用法:http://blog.csdn.net/macrohasdefined/article/details/28258553

 

posted @ 2014-09-22 14:52  wssheng  阅读(5807)  评论(0编辑  收藏  举报