一、基本数据

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串口进行短信的发送。的更多相关文章

  1. php实现的IMEI限制的短信验证码发送类

    php实现的IMEI限制的短信验证码发送类 <?php class Api_Sms{ const EXPIRE_SEC = 1800; // 过期时间间隔 const RESEND_SEC = ...

  2. Android短信的发送和接收监听

    /**发送与接收的广播**/ String SENT_SMS_ACTION = "SENT_SMS_ACTION"; String DELIVERED_SMS_ACTION = & ...

  3. 基于android 社会的app短信分享 发送回调事件的实现

    摘要 前一段时间.由于项目的需要,采用ShareSDK该共享功能.其中包含 短信股吧.和呼叫系统,以分享要与成功处理服务器交互的消息后,(我不在乎在这里,收到.仅仅关心发出去了).可是ShareSDk ...

  4. .NET 微信开放平台接口(接收短信、发送短信)

    .NET 微信开放平台接口(接收短信.发送短信) 前两天做个项目用到了微信api功能.项目完成后经过整理封装如下微信操作类. 以下功能的实现需要开发者已有微信的公众平台账号,并且开发模式已开启.接口配 ...

  5. Android 短信模块分析(四) MMS之短信的发送与接收

     MMS之短信的发送与接收分析: 一.信息发送: com.android.mms.data.WorkingMessage.java 类 send()函数: public void send() { . ...

  6. iPhone上将短信内容发送到指定邮箱的方法

    iPhone上将短信内容发送到指定邮箱的方法 迄今为止,移动应用安全基本聚焦在以下几个方面,一是移动设备管理BYOD(bring your own device),二是移动恶意软件分析,三是移动设备用 ...

  7. (转)Android短信的发送和接收监听

    /**发送与接收的广播**/     String SENT_SMS_ACTION = "SENT_SMS_ACTION";     String DELIVERED_SMS_AC ...

  8. PHP实现对短信验证码发送次数的限制(防机刷验证码)

    PHP实现对短信验证码发送限制(防止机刷验证码) 对用户获取短信验证码的手机号.ip.和浏览器(使用唯一标识)进行限制.本文介绍的方法是对用户每天只能通过同一浏览器或同一ip地址获取验证码10次或者同 ...

  9. Android 节日短信送祝福(UI篇:3-选择短信与发送短信的Activity的实现)

    一.ChooseMsgActivity的实现 1.布局文件 <RelativeLayout xmlns:android="http://schemas.android.com/apk/ ...

随机推荐

  1. Jmeter中使用MD5方法

    在现在这家公司做测试的项目有用到鉴权,token的生成方式有使用到md5,具体的请求url和入参就不方便透露,讲一讲使用方法吧! 自带的Jmeter插件中是没有这个md5的所以,我们可以 (1)打开选 ...

  2. 实用干货丨如何使用Prometheus配置自定义告警规则

    前 言 Prometheus是一个用于监控和告警的开源系统.一开始由Soundcloud开发,后来在2016年,它迁移到CNCF并且称为Kubernetes之后最流行的项目之一.从整个Linux服务器 ...

  3. Postman从入门到入门

    1.Postman简介 Postman是一个接口测试工具,在做接口测试的时候, Postman相当于一个客户端,可以发送请求到服务器端.Postman分为Chrome插件版本(不再更新维护)和Nati ...

  4. Django ajax的简单使用、自定义分页器

    一. ajax初识 1. 前后端传输数据编码格式contentType 使用form表单向后端提交数据时,必须将form表单的method由默认的get改为post,如果提交的数据中包含文件,还要将f ...

  5. drf 权限认证

    目录 复习 前期准备 三大认证简介 AbstracUser源码分析 自定义User下的权限六表 models.py 到settings.py中注册 注意点: 执行数据迁移的俩条命令 创建超级用户 t_ ...

  6. 《JavaScript 模式》读书笔记(4)— 函数4

    这篇文章我们主要来学习下即时对象初始化.初始化时分支.函数属性-备忘模式以及配置对象.这篇的内容会有点多. 六.即时对象初始化 保护全局作用域不受污染的另一种方法,即时对象初始化模式.这种模式使用带有 ...

  7. Linux Namespace 入门系列:Namespace API

    Linux Namespace 是 Linux 提供的一种内核级别环境隔离的方法.用官方的话来说,Linux Namespace 将全局系统资源封装在一个抽象中,从而使 namespace 内的进程认 ...

  8. web----HTML(HTML的概念)

    ##HTML 1.概念:最基础的网页开发语言 *Hyper Text Markup Lanugage 超文本标记语言 *超文本:超文本是用超链接的方法,将各种不同空间的文字信息组织在一起的网状文本. ...

  9. 洛谷 P1438 无聊的数列 题解

    原题链接 首先,我们考虑用差分解决问题. 用 \(x_i\) 表示原数列,\(a_i = x_i - x_{i-1}\) 那么,先普及一下差分: 如果我们只需要维护区间加值,单点求值的话,你会发现两个 ...

  10. 什么是CPU load

    最近经常收到告警,CPU load大于阈值告警.查看系统的CPU是12核,告警阈值设置的是8.对于CPU load一直有个模糊的概念,具体是什么意思还真搞不明白,趁这个机会好好搞搞究竟. 1.查看CP ...