SIM900A 通过RS232串口进行短信的发送。
一、基本数据
1、SIM900A模块支持RS232串口和LVTTL串口。保留了232口,在学习或者开发时可以监听51低端单片机和模块指令执行情况,能更快的找出原因,节省开发和学习的时间。
2、此模块供电要求:5V 供电 ,电脑调试初期电脑USB供电可以满足要求。因为我们加了1000UF的大电容。长时间传输数据用电量大推荐1A以上的直流,TTL电平串口自适应兼容3.3V和5V单片机。可以直接连接单片机。待机在80MA左右。
3.电脑调试USB转232和USB转TTL均可,根据各人配件而定。支持短信,数据,彩信,上网等。
二、模块的接线
三、模块确认
1.上电后,会发现红灯闪烁,一开始闪烁频率很快。在寻找基站,请等待一会。(一般到新的地方等待的时间比较长)经过十几秒,红灯闪烁频率变低,说明连接到基站。
2.打开串口软件,根据电脑自动识别的串口号,选择正确的串口号。
3.波特率默认为9600,如需更改,输入AT+IPR=xxxx就可以更改,也可以在软件界面更改。
4.接收发送先设置为ASCII,其余设置请见下图。
5.输入:
AT+CPIN? //检查是否插入SIM卡,是否牢固
AT+COPS? //检查是否能上网
如果返回ok,则说明连接正常。(常见的AT指令网上有很多资料常见的AT指令请看看这位博主,这里不再赘述)
四、发送短信
1.发送英文短信
(1)先设置"GSM"字符集(AT+CSCS=“GSM”) ,文本模式(AT+CMGF=1) 。
(2)如果我们要给手机号: 1xxxxx, 发送一条短信, 则发送: AT+CMGS=“1xxxx”,然后模块返回:>
(3) 此时我们输入我们需要发送的内容:“hello world” ,直接点击发送按钮。
(4)在发送完内容以后,输入1A(即 0X1A),注意发送设置为十六进制(HEX)格式 ,直接点击发送按钮。
注 1:0X1A, 即 “CTRL+Z” 的键值, 用于告诉 SIM900A, 要执行发送操作。 另外还可以发送: 0X1B,即“ESC”的键值,用于告诉 SIM900A,取消本次操作,不执行发送。
2.发送中文短信(中英文混合)
(1)发送:AT+CMGF=1,设置为文本模式。
(2)发送:AT+CSMP=17,167,2,25,设置文本模式参数。
(3)发送:AT+CSCS=“UCS2”,设置为 UCS2 编码字符集。(unicode编码字符),即所有字符/数字/汉字,都必须使用 UNICODE 编码。如果想参考汉字和Unicode转化请单击
(4)假定我们要给手机号10086发送一条中英文短信,内容为“我爱你” 。我们首先要将汉字转化为Unicode字符。”我爱你“的Unicode字符为 621172314f60 。同样将电话号码也转换为Unicode编码。
(5)然后,发送:AT+CMGS="(里面内容为电话号码的Unicode编码)"。 然后模块返回: >, 此时我们输入我们需要发送内容的Unicode编码:621172314f60。
(6)在发送完内容以后,输入1A(即 0X1A),注意发送设置为十六进制(HEX)格式 ,直接点击发送按钮。
如果没有理解清楚,见下图:
到此为止,SIM900A最基本的短信功能已经实现。
SIM900A 通过RS232串口进行短信的发送。的更多相关文章
- php实现的IMEI限制的短信验证码发送类
php实现的IMEI限制的短信验证码发送类 <?php class Api_Sms{ const EXPIRE_SEC = 1800; // 过期时间间隔 const RESEND_SEC = ...
- Android短信的发送和接收监听
/**发送与接收的广播**/ String SENT_SMS_ACTION = "SENT_SMS_ACTION"; String DELIVERED_SMS_ACTION = & ...
- 基于android 社会的app短信分享 发送回调事件的实现
摘要 前一段时间.由于项目的需要,采用ShareSDK该共享功能.其中包含 短信股吧.和呼叫系统,以分享要与成功处理服务器交互的消息后,(我不在乎在这里,收到.仅仅关心发出去了).可是ShareSDk ...
- .NET 微信开放平台接口(接收短信、发送短信)
.NET 微信开放平台接口(接收短信.发送短信) 前两天做个项目用到了微信api功能.项目完成后经过整理封装如下微信操作类. 以下功能的实现需要开发者已有微信的公众平台账号,并且开发模式已开启.接口配 ...
- Android 短信模块分析(四) MMS之短信的发送与接收
MMS之短信的发送与接收分析: 一.信息发送: com.android.mms.data.WorkingMessage.java 类 send()函数: public void send() { . ...
- iPhone上将短信内容发送到指定邮箱的方法
iPhone上将短信内容发送到指定邮箱的方法 迄今为止,移动应用安全基本聚焦在以下几个方面,一是移动设备管理BYOD(bring your own device),二是移动恶意软件分析,三是移动设备用 ...
- (转)Android短信的发送和接收监听
/**发送与接收的广播**/ String SENT_SMS_ACTION = "SENT_SMS_ACTION"; String DELIVERED_SMS_AC ...
- PHP实现对短信验证码发送次数的限制(防机刷验证码)
PHP实现对短信验证码发送限制(防止机刷验证码) 对用户获取短信验证码的手机号.ip.和浏览器(使用唯一标识)进行限制.本文介绍的方法是对用户每天只能通过同一浏览器或同一ip地址获取验证码10次或者同 ...
- Android 节日短信送祝福(UI篇:3-选择短信与发送短信的Activity的实现)
一.ChooseMsgActivity的实现 1.布局文件 <RelativeLayout xmlns:android="http://schemas.android.com/apk/ ...
随机推荐
- springboot基础-redis集群
一.pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="h ...
- drf 简介以及部分源码分析
目录 复习 drf框架 全称:django-rest framework 知识点 接口 restful接口规范 基于restful规范的原生Django接口 主路由:url.py api组件的子路由: ...
- MongoDB操作符之$elemMatch
问题 如果MongoDB 数据库集合中仅存在一条记录 { "_id" : ObjectId("5e6b4ef546b5f44e5c5b276d"), " ...
- [Unity] Unity 2019.1.14f 在Terrain中使用Paint Texture的方法
1.点击Terrain中的Paint Texture按钮2.将按钮下面的下拉菜单选择paint texture3.点击Edit Terrain Layers按钮T4.点击弹出菜单的Create Lay ...
- Selenium系列(九) - 针对alert窗口的处理(警告框、确认框、对话框)
如果你还想从头学起Selenium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1680176.html 其次,如果你不懂前端基础知识, ...
- sql-lib闯关61-65
第六十一关 和六十关基本一样,就是变成了单引号和双括号,这好像是第一次遇见双括号 爆数据库名 ?id=1'))and extractvalue(1, concat(0x5c, (select da ...
- java物流查询接口测试代码-快递100
测试代码 返回json格式,xml/html格式自行修改参数 import java.io.IOException; import java.io.InputStream; import java.n ...
- Building Applications with Force.com and VisualForce(Dev401)(十):Designing Applications for Multiple Users: Building Business Processes that You Want
Dev401-011: Building Business Processes that You Want Course Objectives1.Describe the capabilities o ...
- .Net Web Api返回Json数据中原对象变量名大小写问题
这两天在工作中使用SignalR的WebSocket做数据实时传递的功能开发,在后端主动向前端广播数据以Json传递时,前端获取的Json中对应类的变量名首字母默认传递的是大写.而前端一直获取到的后台 ...
- CI / CD /CD 持续集成 持续交付 持续部署
CI / CD /CD 持续集成 持续交付 持续部署 CI CD 是啥?干了啥? CI continuous integration 持续集成 CD continuous delivery 持续交付 ...