一、开发环境
    内核版本:linux-3.0
    开发板:FL2440(nandflash:K9F1G08 128M)
    GPRS模块: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为短信序号

OK

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

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

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

三、准备工作

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

 

四、过程实例:

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

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

linux下利用GPRS模块发短信、打电话的更多相关文章

  1. Linux-C实现GPRS模块发送短信

    “GSM模块,是将GSM射频芯片.基带处理芯片.存储器.功放器件等集成在一块线路板上,具有独立的操作系统.GSM射频处理.基带处理并提供标准接口的功能模块.GSM模块根据其提供的数据传输速率又可以分为 ...

  2. 在Linux下用C语言实现短信收发

     本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lyserver/archive/2008/10/01/3007090.aspx 首先,我根据功能需要创建了几个头文件 ...

  3. eclipse开发安卓 发短信打电话发送邮件功能

    1.在mainfiest中添加   //添加拨打电话的功能    <uses-permission android:name="android.permission.CALL_PHON ...

  4. [stm32] SIM808模块之发短信\GPS\TCP\HTTP研究

    SIM8008是四频模块,全球可用.含有TTL电平接口等接口,能够实现发短信.打电话.GPRS传输数据.GPS等功能.[正版资料请找beautifulzzzz·博客园] 一些细节: >> ...

  5. 请问下mtk双卡手机怎样发短信是怎样选择sim卡来发(双卡都可用的情况下)?

    如题,我如今可以获取双卡状态,当仅仅有单一卡的时候可以指定sim卡进行发短信,可是双卡都可用的情况下,程序就默认使用卡1发短信了.即使指定了sim卡编号.

  6. 利用阿里大于接口发短信(Delphi版)

    阿里大于是阿里通信旗下产品,融合了三大运营商的通信能力,提供包括短信.语音.流量直充.私密专线.店铺手机号等个性化服务.每条四分五,价钱还算公道,经老农测试,响应速度非常快,基本上是秒到.官方文档提供 ...

  7. 向android模拟器打电话发短信的简单方法

    在开发android应用程序时,有时候需要测试一下向android手机拨打电话发送短信时该应用程序的反应.譬如编写一个广播接收器,来提示用户有短信收到或者处理短信,就需要向该手机发送短信来进行测试.这 ...

  8. iOS开发——UI进阶篇(七)程序启动原理、打电话、发短信

    一.Info.plist常见的设置 1.建立一个工程后,会在Supporting files文件夹下看到一个“工程名-Info.plist”的文件,该文件对工程做一些运行期的配置,非常重要,不能删除 ...

  9. 读取本地excel发短信

    package com.cmcc.zysoft.sellmanager.controller; import java.io.File; import java.io.FileInputStream; ...

随机推荐

  1. 《java集合概述》

    JAVA集合概述: Collection: |---List有序的:通过索引就可以精确的操作集合中的元素.元素是可以重复的. List提供了增删改查的动作. 增加add(element) add(in ...

  2. android开发虚拟机不能正常启动

    点击 window---perspective---DDMS---查看设备状态, 如果显示没有可用设备,则在AVD manager中重 启即可, 若列表中有设备,但显示offline  可采用一下方式 ...

  3. 使用crosswalk优化ionic2应用包

    ionic plugin add cordova-plugin-crosswalk-webview --save

  4. MFC绘制图片闪烁详解

    用MFC如何高效地绘图             显示图形如何避免闪烁,如何提高显示效率是问得比较多的问题.     而且多数人认为MFC的绘图函数效率很低,总是想寻求其它的解决方案.     MFC的 ...

  5. SQL 基本知识

    四个基础语法 1. insert into 表名 (列名) [values] 值列表 insert into 表名 values 值列表 [扩展]插入多行: 1. insert into <表名 ...

  6. 基于.NET的CAD二次开发学习笔记一:CAD开发入门

    1.AutoCAD .NET API由不同的DLL文件组成,它们提供用于访问图形文件或AutoCAD应用程序的包含丰富的类.结构.方法和事件.每一个DLL文件都定义不同的使用基于功能的库组织组件的命名 ...

  7. htop基本使用

    一.什么是htop? top是所有类unix系统的必备工具,能直观方便的查看到系统负载.内存及进程等信息. 而htop具有top工具的全部功能且还新增了一些额外的功能和使用体验改进.与top相比,其具 ...

  8. BZOJ 2002 && BZOJ 2409 LCT && BZOJ 3282 初步练习

    #include <cstdio> ; inline void Get_Int(int & x) { ; ') ch=getchar(); +ch-'; ch=getchar(); ...

  9. SPM Homework 1 —A Project From My Personal Life

    我所完成的一个项目是上学期WEB的期末作业. 项目本质:使用Java Web编写一个网上银行系统,并实现老师所给的几项要求:分角色2015登陆.开户.存取款.转款.查看明细等. 最初目标:能够完成所有 ...

  10. poj1741 (点分治)

    Problem Tree 题目大意 给一棵树,有边权.求树上距离小于等于K的点对有多少. 解题分析 点分治.对每一棵子树进行dfs,求出每棵子树的重心,继而转化为子问题. 对于经过根的路径i--j,令 ...