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

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

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

AT+CMGC   Send an SMS command(发出一条短消息命令)    网络

AT+CMGD   Delete SMS message(删除 SIM 卡内存的短消息)    并发

AT+CMGF   Select SMS message formate (选择短消息信息收发格式: 0-PDU;1-文本)网站

AT+CMGL   List SMS message from preferred store(列出 SIM 卡中的短消息编码

AT+CMGR   Read SMS message(读短消息)    spa

AT+CMGS   Send SMS message(发送短消息)    .net

AT+CMGW   Write SMS message to memory(向 SIM 内存中写入待发的短消息)orm

AT+CMSS   Send SMS message from storage(从 SIN |M 内存中发送短消息)blog

AT+CNMI   New SMS message indications(显示新收到的短消息)    内存

AT+CPMS   Preferred SMS message storage(选择短消息内存)    

AT+CSCA   SMS service center address(短消息中心地址)    

AT+CSCB   Select cell broadcast messages(选择蜂窝广播消息)   

AT+CSMP   Set SMS text mode parameters(设置短消息文本模式参数)

AT+CSMS   Select Message Service(选择短消息服务)

AT+CNMI=2,1,0,0,0          //设置收到新短信存于SIM卡中并发CMTI通知

 

+CMTI:”SM”,1           //收到了短信,自动弹出,其中1表示存在SIM中的序号

AT+CMGR=1             //读取短信,其中1要与上面序号对应

AT+CMGD=1             //删除短信,其中1为短信序号

OK

ATD 拨号命令。这个命令用来设置通话、数据或传真呼叫。

   例 ATD13844019770;
   ATH 挂机命令。
   ATA 接电话。

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

 

3、准备工做

GPRS模块,是具备GPRS数据传输功能的GSM模块。GPRS模块就是一个精简版的手机,集成GSM通讯的主要功能于一块电路板上,具备发送短消息、通话、数据传输等功能。GPRS模块至关于手机的核心部分,若是增长键盘和屏幕就是一个完整的手机。普通电脑或者单片机能够经过RS232串口与GPRS模块相连,经过AT指令控制GPRS模块实现各类基于GSM的通讯功能。 制做串口线将  GPRS模块的串口和开发板的串口链接起来(我链接的是开发的第二个串口,由于第一个串口链接PC了),而后将可使用的手机SIM卡插入 GPRS模块的卡槽;而后启动开发板,接通GPRS模块的电源,而后按下GPRS模块的SW1,让SIM开始工做,搜索网络这时发光二极管D3会闪烁。

 

4、过程实例:

若是内核添加了串口驱动执行以下命令就会看到串口设备:

[root@root /]# ls dev/

td2                   null                   tty3                    ttyS0
mtd2ro             pcmC0D0c            tty30               ttyS1
mtd3                pcmC0D0p            tty31               ttyS2
[root@root /]# microcom -s 115200 /dev/ttyS1 (microcom命令制做跟文件系统时busybox会添加,这里的/dev/ttyS1须要根据你GPRS连                                                                       接的串口选择)

at                    (返回OK则说明你的模块能够正常工做,不然出现故障。)
OK                                                                           

AT+COPS?         (运营商,我用的是联通)                              
+COPS: 0,0,"CHN-UNICOM"

AT+CSQ             (查看SIM信号质量)
+CSQ: 23,0

OK

AT+CPIN?       (查询状态,模块准备好打印以下)
+CPIN: READY

OK

AT+CMGF=1       //首先将短信息格式设为 TEXT 模式,若是为0 则为PDU格式
OK

AT+CSCS="GSM"         //设置字符格式为GSM 模式
OK

//有的说在发短信以前要设置短信中心号码示例:AT+CSCA=”+86138XXXXXXXX”,,可是个人没有设置就能够发短信,示例以下   

at+cmgs="13007110996"         //输入手机号                          

> zhouyou,hello!                          //出现>后输入短信内容,以后不是enter键输入,切记是按ctrl+z,若是错了可按esc返回

+CMGS: 36

OK                                                //发送成功的标志

ATD13007110996;                   //打电话,注意后面的分号不能掉,拨号成功返回OK,插上带话筒的耳机就能够通话了
OK

ATH                                            //挂电话命令,成功后返回OK
OK

 

RING                     //来电话时,会不断打印RING

RING
ATA                       //接听命令,成功后返回OK
OK
ATH
OK

ctrl+x         退出microcom

 

microcom的用法:

http://blog.csdn.net/macrohasdefined/article/details/28258553

你们想深刻了解microcom,能够点开上面的网站。

 

(若是串口没有输出,检查看串口线是不是好的,波特率是否正确,通常咱们的波特率设为115200.)

相关文章
相关标签/搜索