linux 下使用sim900打电话发短信

============================================

GPRS模块:sim900

开发板:FL2440

操作系统:linux 3.0

作者:guanlei  [email protected]

===========================================

 一:GPRS介绍

    

GSM模块,是将GSM射频芯片、基带处理芯片、存储器、功放器件等集成在一块线路板上,具有独立的操作系统、GSM射频处理、基带处理并提供标准接口的功能模块。GSM模块根据其提供的数据传输速率又可以分为GPRS模块、EDGE模块和纯短信模块。短信模块只支持语音和短信服务。GPRS,可说是GSM的延续。它经常被描述成“2.5G”,也就是说这项技术位于第二代(2G)和第三代(3G)移动通讯技术之间。GPRS的传输速率从56K到114Kbps不等,理论速度最高达171k。相对于GSM的9.6kbps的访问速度而言,GPRS拥有更快的访问数据通信速度,GPRS技术还具有在任何时间、任何地点都能实现连接,永远在线、按流量计费等特点。EDGE技术进一步提升了数据传输的速率到384K-473K,被称为"2.75G",数据传输速率更2倍于GPRS。目前,国内的GSM网络普遍具有GPRS通讯功能,移动和联通的网络都支持GPRS,EDGE在部分省市实现了网络覆盖。

GPRS模块,是具有GPRS数据传输功能的GSM模块。GPRS模块就是一个精简版的手机,集成GSM通信的主要功能于一块电路板上,具有发送短消息、通话、数据传输等功能。GPRS模块相当于手机的核心部分,如果增加键盘和屏幕就是一个完整的手机。普通电脑或者单片机可以通过RS232串口与GPRS模块相连,通过AT指令控制GPRS模块实现各种基于GSM的通信功能。

GPRS模块区别于传统的纯短信模块,两者都是GSM模块,但是短信模块只能收发短信和语音通讯,而GPRS模块还具有GPRS数据传输功能。

 二:AT命令

    使用sim900发短信打电话之前,必须了解at命令怎么使用。下面是一些常用的命令

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(读短消息)    

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

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

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

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为短信序号

三:测试

   开发板开机之后使用sercure ctr 敲下面的命令

     >:microcom -s 115200 /dev/ttyS1

    按AT  是否能返回 Ok 检查模块和板子是不是连接好的模块能不能正常的工作,退出按ctrl+x,以下测试都是在这个基础上做的。

 1:发短信

     at+cmgf=1  //cmgf=0是以PUD模式发送的。为1是以文本方式发送

     at+cmgs="159********"    //是你要发送给的手机的号码

    〉hello world !                    //你发送的你内容

    注意:每敲完一条指令都要按回车,直到返回“>”后开始输入信息,但是在输入完短信内容后不能敲回车而应该按组合键“ctrl+z”作为结束符。回车键在ascii码中的数值是“\r”,“ctrl+z”在ascii码中的数值是“0x1a”,所以在编程时可以直接在信息内容后进行字符串拼接。

 2:打电话

   ATD159********;    //千万不要忘记后边的分号!

   ATH           //挂断 电话

3  接听电话 

   当显示RING这个单词的时候就说明有电话打过来了

  ata     //接听电话

  ath    //挂断电话     


    

你可能感兴趣的:(gprs)