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

一、开发环境

内核版本: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会闪烁。

 

四、过程实例:

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

[[email protected] /]# ls dev/

td2                   null                   tty3                    ttyS0
mtd2ro             pcmC0D0c            tty30               ttyS1
mtd3                pcmC0D0p            tty31               ttyS2
[[email protected] /]# 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

如果串口没有输出,检查看串口线是否是好的,波特率是否正确,一般我们的波特率设为115200.

时间: 2024-10-24 20:54:19

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

linux下利用mutt来发mail

1.Install sudo apt-get install mutt msmtp 2.Config sudo vim /etc/Muttrc 增加如下内容 set sendmail="/usr/bin/msmtp" set use_from=yes set envelope_from=yes set realname="yourname" set [email protected] 然后msmtp的配置文件为~/.msmtprc,有时候不会自动创建,可以找个模板自

adb操作手机打电话、发短信

当我们使用adb命令操作手机的时候经常会报错 这个错误一般是adb的端口(5037)被占用,造成adb server无法启动,解决问题的思路就是查看是哪个程序占用了adb调试端口,然后结束掉它就行. 查找哪个进程占用了5037端口 netstat -aon|findstr "5037" 2.结束对应进程 可以看到PID为12500的程序占用了5037端口,打开任务管理器找到该进程对应程序sjk_daemon.exe,该进程是金山毒霸自带的金山手机助手,强制结束后会自动重启,只有卸掉金山

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

SIM8008是四频模块,全球可用.含有TTL电平接口等接口,能够实现发短信.打电话.GPRS传输数据.GPS等功能.[正版资料请找beautifulzzzz·博客园] 一些细节: >>  5V供电1A以上(用USB转TTL模块上的电源可以驱动,亲试) >> 上图黑色的线是VCC,白色线是GND,绿色线是TXD连接单片机或USB转TTL的RXD引脚,橙色的线类推. >> 其中GPS的天线一般要放在室外,否则无法收到有效信号. >> 三个LED指示灯: 一个是

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

阿里大于是阿里通信旗下产品,融合了三大运营商的通信能力,提供包括短信.语音.流量直充.私密专线.店铺手机号等个性化服务.每条四毛五,价钱还算公道,经老农测试,响应速度非常快,基本上是秒到.官方文档提供了以下语言的 Demo JAVA .NET PHP Python CURL C/C++ NodeJS 唯独没有 Dephi,这不能怪马云,毕竟 Delphi 实在太小众了. 最近用 Delphi 写个 App,注册用户需要用到手机短信验证,于是找到的阿里大于,使用 Delphi 10.1 berli

利用手机中存储的电话号码给联系人打电话与发短信

1.将存储在数据库中的数据布局到手机界面上,其操作请见http://blog.csdn.net/xia09222826/article/details/28660653 2.三种效果显示出的效果分别是: 1)自定义的效果 2)单选的效果 3)多选的效果 3.点击某一个联系人进行拨打电话或者发送短信(以自定义的效果为例) 1)效果视图(比如点击了序号1的联系人):从手机电话备份界面跳转到PhoneandemailActitvity界面 2)程序实现 ①注册点击事件         lv_users

调用系统的打电话,发短信,邮件,蓝牙

在开发某些应用时可能希望能够调用iOS系统内置的电话.短信.邮件.浏览器应用,此时你可以直接使用UIApplication的OpenURL:方法指定特定的协议来打开不同的系统应用.常用的协议如下: 打电话:tel:或者tel://.telprompt:或telprompt://(拨打电话前有提示) 发短信:sms:或者sms:// 发送邮件:mailto:或者mailto:// 启动浏览器:http:或者http:// 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

让小米路由器变成一个聪明的WIFI(1):有人回家,它就发短信告诉你

我想让我的小米路由器变成一个聪明的WIFI,idea是这样的:当老婆回到家,小米路由器就自动发一条短信告诉我. 折腾了几天,搞定,分享一下: 我的路由器型号:小米路由器mini (129元在官网淘的) 步骤一:首先要开启小米路由器SSH, 获得root 这个方面小米是开放的,操作方法网上有,不详述了,见 点击打开链接 步骤二:用SSH登录进去, 了解小米路由器是什么样 在你的电脑上输入以下命令,登录小米路由器 (我的路由器IP是192.168.31.1) ssh [email protected

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

在开发android应用程序时,有时候需要测试一下向android手机拨打电话发送短信时该应用程序的反应.譬如编写一个广播接收器,来提示用户有短信收到或者处理短信,就需要向该手机发送短信来进行测试.这里介绍一种简单的向android模拟器打电话发短信的方法. 该方法利用了eclipse ADT的DDMS来实现,首先点击打开DDMS,在eclipse界面的右上角,如图: 如果找不到,就点左边的图标,再点击others就会看到. 打开之后,在界面的左边中部会看见有一个Emulator Control

Android 2.3发短信详细流程

在android中,APP通过SmsManager.java一系列方法实现发送短信的功能,而发送的内容有很很多种,比如sendTextMessage.sendMultipartTextMessage.sendDataMessage等等,在这篇文章里我们就以其中一个为例阐述发送短信的完整流程,如果有不对的地方,请大家指正,一起学习. 1. 起点:SmsManager.java (frameworks/base/telephony/java/android/telephony/SmsManager.