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.)

相關文章
相關標籤/搜索