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/ ...
随机推荐
- JDK dump
1. 查看整个JVM内存状态 jmap -heap 1237(pid) 2.生成dump文件 jmap -dump:file=文件名.dump 1237(pid)
- 入门Python实现七夕表白神器
from PIL import Image, ImageDraw, ImageFont font_size = 7 #This var can change the Word's blank size ...
- javaWeb_Css
CSS HTML页面实在太丑了,怎么破?! 第1章 CSS简介 CSS全称为“层叠样式表 (Cascading Style Sheets)”,它主要是用于定义HTML元素(或内容)在浏览器内的显示样式 ...
- Symantec(赛门铁克)非受管检测
为了查找局域网内没有安装赛门铁克客户端的IP,采用Symantec Endpoint Protect Manager 的非受管检测机制进行网段扫描. 非受管检测机制的原理是:每台电脑开机时都会向同网段 ...
- B - Yet Another Palindrome Problem的简单方法
You are given an array aa consisting of nn integers. Your task is to determine if aa has some subseq ...
- 痞子衡嵌入式:测一测i.MXRT1170 Raw NAND启动时间(从POR到进App的Reset_Handler)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是恩智浦i.MX RT1170 Raw NAND启动时间. 关于i.MXRT1170这颗划时代的MCU,痞子衡去年10月在其刚发布的时候, ...
- jquery实现元素的显示和隐藏
这个是指定表格列的隐藏的demo,其余的都大同小异了 $("#account-table tr").find($("#tcNum")).show();//sho ...
- laravel中间件的创建思路分析
网上有很多解析laravel中间件的实现原理,但是不知道有没有读者在读的时候不明白,作者是怎么想到要用array_reduce函数的? 本文从自己的角度出发,模拟了如果我是作者,我是怎么实现这个中间件 ...
- Git入门操作(一)
最近真正用到了Git,感觉还是需要好好整理一下最最基础用法,与萌新共享.^_^ 关于Git的基础介绍,这里不再赘述,下面撸代码了(主要是命令行的操作,属于linux操作系统的,可能没听过,但记住就好了 ...
- 第一个AWK程序的尝试
为了统计API的访问,需要读取8个G的数据,所以学习了下文本处理神器,AWK.简单实例如下: # 以\t分割的文本 awk -F "\t" ' //获取小时的函数 function ...