资讯详情

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

本文转自:http://www.cnblogs.com/wss-linux/p/3986006.html

一、开发环境

内核版本: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.)

标签: rs1006fl二极管

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

 锐单商城 - 一站式电子元器件采购平台  

 深圳锐单电子有限公司