————————————————————————————————————————————— 
主机操作系统:Centos 6.7
开发板平台: FL2440 
Linux内核版本: linux-3.0 
开发模块: SIM900 GPRS 
邮箱:leiyuxing205@gmail.com 
—————————————————————————————————————————————

开发提醒:在开发gprs模块打电话发短信之前需满足开发板能正常加载linux内核及文件系统,并且开发板的串口已经使能,同时需准备一张开通gprs流量的sim卡。

一.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数据传输功能。”

二.gprs常用的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为短信序号

三.测试

在开发板上测试硬件连接: 

>:microcom -s 115200 /dev/ttyS1 ATOK

发送AT 是否能返回 Ok 检查模块和板子是不是连接好的模块能不能正常的工作(microcom是在制作根文件系统时busybox里自带命令

 1:发短信

     at+cmgf=1  //cmgf=0是以PUD模式发送的。为1是以文本方式发送at+cmgs="182********"    //是你要发送给的手机的号码〉HELLO                  //你发送的你内容

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

2:打电话

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

例:

(AT+CSQ+CSQ: 6,0 //确认有信号OKAT+CREG=1OKAT+COPS?+COPS: 0,0,"CHINA MOBILE"//确认已注册上中国移动OKATD182********;//拨打电话OK)ATH           //挂断 电话

3  接听电话 

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

  ata     //接听电话ath    //挂断电话
4.检测SIM卡是否注册上
AT+CPIN?
返回值:READY

5.检SIM卡是否注册上网络,其中”,”后的值为SIM卡的注册状态

如果状态值为0,表示未注册;

如果为1,表示本地号码注册上;

如果为2,表示正在搜索运营商注册,但没注册上;

如果为3,表示拒绝注册;

如果为4,未知状态;

如果为5,漫游号码注册上。

AT+CREG?+CREG:0,1OK

可以看到我这张卡注册上了!

6.检测SIM卡的信号强度
AT+CSQ
返回值:+CSQ 29,99

7.查询模块版本

AT+CGMR
返回值:R4A021      CXC1122528(版本信息)

8.发英文短信

AT+CMGF=1/0(PS:1是文本模式;0是PDU模式)
AT+CMGS="号码"
>短信内容(只能是英文或者数字,要发中文,要进行PDU编码,比较麻烦,想学的可以直接百度)
Ctrl+Z(发送)

linux 下GPRS模块使用sim900打电话发短信相关推荐

  1. linux下GPRS模块的应用程序

    ---------------------------------------------------------------------------------------------------- ...

  2. SIM71004G模块使用Linux C语言实现打电话发短信

    为了方便查看博客,特意申请了一个公众号,附上二维码,有兴趣的朋友可以关注,和我一起讨论学习,一起享受技术,一起成长. 一.实验目的: SIM71004G模块使用Linux C语言实现打电话发短信. 二 ...

  3. sim900GPRS使用C语言打电话发短信

    --------------------------------------------- 主机操作系统:Centos 6.5 交叉编译器环境:arm-linux-gcc-4.5.4 开发板平台: F ...

  4. android 发送短信 广播 demo,向Android模拟器打电话发短信的简单方法

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

  5. android虚拟机接收真实短信,向Android模拟器打电话发短信的简单方法

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

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

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

  7. android 拨打多个电话号码,和多号如何使用副号打电话/发短信

    和多号副号不能开机?和多号副号不能发短信打电话?那估计是你的设置有问题吧,想要知道和多号如何使用副号打电话/发短信么?那就往下看和多号副号使用方法教程吧!相信通过小编的点拨大家都能轻松使用和多号副号哦 ...

  8. GPRS SIM900A电脑测试,发短信

    GPRS SIM900A电脑测试,发短信 一. 准备工作 一块SIM900A开发板 USB转tt模块(我选择的)或者USB–232 模块 若干根杜邦线 二. 连线操作 USB–TTL 模块与 SIM9 ...

  9. 手把手教你如何在安卓平台上实现打电话发短信的功能

    首发地址 http://www.eoeandroid.com/thread-228079-1-1.html 1 案例目的 本案例通过一个简单通讯工具来巩固android的activity.Linear ...

最新文章

  1. Spring Cloud Alibaba 一致性挑战:微服务架构下的数据一致性解决方案
  2. linux开启防火墙挂载nfs
  3. [转发]R语言数据挖掘实践——使用party包构建决策树
  4. RPC框架性能基本比较测试
  5. 海外高校毕业证的颜色
  6. delphi7 中文注释字体_使用nerd-font/font-patcher为字体添加字体图标
  7. python中定义数据结构_Python中的数据结构。
  8. 内核全新优化UI界面影视双端源码
  9. 算法科普:有趣的霍夫曼编码
  10. 不懂就问,Spring 是如何判定原型循环依赖和构造方法循环依赖的?
  11. 统计学习方法第15章-奇异值分解SVD
  12. 10.leetcode83-Remove Diplicates from Sorted List
  13. 利用计算机的随机模拟结果帮助学生,数学《教学反思》 初中白小曼
  14. android 行政区域,最新Android使用Jsoup获取省市县行政区划代码行政编码(附源码与Json数据)...
  15. 人生定位 读后感(1)
  16. dotnet OpenXML PPT 动画框架入门
  17. [IOS]从零开始搭建基于Xcode7的IOS开发环境和免开发者帐号真机调试运行第一个IOS程序HelloWorld
  18. Gspay 和 95epay
  19. linux mysql常用基本操作,Linux下MySQL数据库常用基本操作 一
  20. 一次搞懂数据大屏适配方案 (vw vh、rem、scale)

热门文章

  1. 系统架构设计师-企业信息化战略与实施
  2. 微信社群私域流量建设流程运营规划方案SOP
  3. js添加元素的三种方法
  4. 知识图谱—知识推理综述(一)
  5. golang协程goroutine简介
  6. MobaXterm下docker容器中运行界面程序
  7. pdf注释上锁_如何在iPad上突出显示和注释PDF
  8. zato oracle_Zato-基于Python的ESB和后端应用服务器
  9. 开源流程引擎Snaker
  10. unity2020配steamvr,参考这两个