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/ ...
随机推荐
- Java-迭代器(新手)
//导入的包.import java.util.ArrayList;import java.util.Collection;import java.util.Iterator;//创建的一个类.pub ...
- router路由的使用
router路由的使用 1.使用nuxt-link来跳转路由 <!-- 要跳转的路由的地址就是pages文件夹中定义的xxx.vue的前缀名--> <nuxt-link to=&qu ...
- Django模板层学习笔记
一. 前言 Django模板层的知识包括标签.过滤器.自定义标签.自定义过滤器以及inclusion_tag,最重要的是模板的继承和导入. 首先模板层最重要的是模板语法,之前我们提过涉及到变量用模板语 ...
- ORM常用字段及方式
创建小型数据库 模型层 ORM常用字段 AutoField int自增列,必须填入参数 primary_key=True.当model中如果没有自增列,则自动会创建一个列名为id的列. Integer ...
- WEB应用之httpd基础入门(四)
前文我们聊到了httpd的虚拟主机实现,状态页的实现,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/12570900.html:今天我们来聊一聊后面的常用基础配 ...
- 带有路径压缩和rank优化的并查集实现
public class unionfind2 implements UF { int[] parent; int[] rank; public unionfind2(int n) { parent= ...
- 主从校验工具pt-table-checksum和pt-table-sync工作原理
pt-table-checksum和pt-table-sync是常用来做MySQL主从数据一致性校验的工具,pt-table-checksum只校验数据,不能对数据进行同步:pt-table-sync ...
- Android初级控件
Android初级控件 从今天开始就对Android进行正式的学习,首先先来学习一下初级的控件 1.TextView 文本框,用于显示文字,不可编辑. 常用属性 android:autoLink ...
- 150+行Python代码实现带界面的数独游戏
150行代码实现图形化数独游戏 Github地址,欢迎各位大佬们fork.star啥的,感谢: 今天闲着没事干,以前做过html+js版的数独,这次做个python版本的,界面由pygame完成,数独 ...
- 本地不安装Oracle时,PLSQL的配置
这篇我在csdn上写过的,文章地址:https://blog.csdn.net/weixin_40404606/article/details/101940542