GSM模块(SIM800L)收发短信 串口调试
其实我感觉应该不止用于SIM800L,其他GSM模块也大同小异,估计也差不多。
总结下我调试模块遇到的问题,与大家分享一下,同时也梳理一下自己的思路好移植到单片机上。
我也不打电话,所以模块的接线只用接4个脚,如下图(感觉不用说…)
电源问题
刚买来这个模块也没在意,也没接触过GSM模块,以为和其他普通模块一样,结果它是3.7~4.2V供电,这使我很茫然。亲测3.3V也可以使模块工作,但是貌似总是重启。
具体现象就是时不时地显示下面内容
Call Ready
SMS Ready
这时就要考虑电源问题了。
看卖家和网上说可以用5V(大于等于500mA)电源加一个二极管和一个1000uF的电容就可以解决,以下是卖家的电路图:
这样估计就不会一直重启了。。。好像是。。。
发送中文短信
推荐调试使用 SSCOM 它好用啊!可以存储AT指令,如图:
英文的我发送不了,不知道为什么,但是可以通过信息中心发中文。。。
可能是没买天线,我这里向大家推荐,买这玩意儿一定要带个天线,我当初买的时候没注意2块钱加PCB天线,信号经常不好,这阵儿我还寻思定个天线呢,你说费劲不。。。下回我得做好功课了。。
首先,感谢论坛里大佬们的文章,我很懒,懒得康手册,直接来论坛搜索。。。参考了 嘘、小点声的
GSM短信发送与电话等
这篇博客,十分感谢。我就不再复述了,这位大佬写的很详细,大家先看完再回来(或者不用回来了,估计已经学会了 ( ̄▽ ̄)~*)
说下我都用了哪些AT指令吧。。
AT
OK
//-------------------------------------------
AT+CPIN? //检测SIM卡
+CPIN: READYOK
//-------------------------------------------
AT+CSQ //检查网络信号强度和SIM卡情况
+CSQ: 22,0 //(这次运气好,原来经常0,0)OK
//-------------------------------------------
AT+CMGF=0 //=0 PDU =1 文本模式
OK
//-------------------------------------------
AT+CSCS="GSM" //选择字符集
OK
//-------------------------------------------
AT+CMGS=25 //不一定是25 我学习了 爱听评书 的大佬
> //具体是几 还是去上面分享的链接去康康
//-------------------------------------------
0891683108100005F011000D91683104011415F60008000A62117231542C8BC44E66
//这个码怎么来的 还是在上面的链接里...(做菜博客) 我在下面简单分析一下
//注意这个 “箭头” 这就是 0x1A 如果复制了 就不用单独发下面的0x1A了
//就这行 不要发送回车(0x0D 0x0A)
//-------------------------------------------------------------
//单独发送 0x1A 成功了就会如下
+CMGS: 27OK
//失败了就 ERROR 经常失败 多发几回 我估计是天线的问题,
// 等我买了再试试,到时候评论
到这儿 中文短信就发送完了,祝君成功!
分析一下发送的一串带代表什么含义,和“AT+CMGS=25”中的25是怎么来的。
“AT+CMGS=25”中的25是
0891683108100005F011000D91683104011415F60008000A62117231542C8BC44E66
中的
11000D91683104011415F60008000A62117231542C8BC44E66
字节个数/2
50/2 = 25
后期移植的话需要修改短信内容就要修改:
- 短信内容
- 短信内容前面的长度
- AT+CMGS=?
接收短信
这里我也不是很明白,但是可以接收,大家参考下就好。。。
(其实哪儿都不明白)
每个模块的指令或许有些不同,但是你可以查,比如说设置波特率指令 AT+IPR
AT+IPR?//询问当前波特率是多少
AT+IPR=?//中间加个等号,代表询问波特率能设置成啥,我的模块回复是:
+IPR: (),
(0,1200,2400,4800,9600,19200,38400,57600,115200,230400,460800)
代表参数得写括号里的参数,比如 AT+IPR=19200
再比如说 优先信息存储指令 AT+CPMS
AT+CPMS?//就是询问当前存储设置是什么
AT+CPMS=?//还是,加了个“=”号就是询问这个指令可以填啥,因此,如果你按照其他人的指令设置发现错误了,可以考虑下指令是否不兼容的问题,先查一下,我的模块对此回复的是:
+CPMS: (“SM”,“ME”,“SM_P”,“ME_P”,“MT”),
(“SM”,“ME”,“SM_P”,“ME_P”,“MT”),
(“SM”,“ME”,“SM_P”,“ME_P”,“MT”)
OK
//因此我有5种载体可以选择(但我都不知道啥意思,我不管,就存SIM卡就完事儿了)
AT+CPMS=“SM”,“SM”,“SM”
//具体指令解释 自己Baidu 或者 这个链接
AT指令:AT+CPMS
“AT&W” 指令是保存模块参数设置,比如你把波特率调整为19200,如果保存了,下次开机就是19200,不用再次设置,其他参数也适用(或者大部分,反正挺多设置都保存了),因此,可以先在PC上调整好了,单片机就不用开机一系列调整了。
短信接收不到,可能是没调 新信息指示 用 AT+CNMI指令进行设置,具体指令各参数参见传送门:AT+CNMI指令详解
我查下我的模块此参数设置是
AT+CNMI?
+CNMI: 2,1,0,1,1
设置过后,发送个短信给模块,会收到提示了(不知道用不用设置AT+CSCS="GSM"和AT+CMGF=0,好像得要AT+CMGF=0才能读中文,好像是啊,我不知道,懒得试。。。)
+CMTI: “SM”,6//6说明存储地址
这时可以用 AT+CMGL=0 指令或者用 AT+CMGR=6 指令来查短信内容
AT+CMGL=? //我的列表指令参数是数字,我看网上有的模块是字符串,如“REC UNREAD”、“REC READ”、“ALL”等,因此可以查下,然后再设置
+CMGL: (0,1,2,3,4)
AT+CMGL=0 读取未读消息
AT+CMGL=1 读取已读消息
AT+CMGL=2 读取未发送消息
AT+CMGL=3 读取已发送消息
AT+CMGL=4 表示读取所有的短信
+CMTI: “SM”,6//6说明存储地址
AT+CMGR=6//上面提示我在6号地址,因此我读6
AT+CMGR 意思是: 读短信,信息从AT+CPMS(信息存储指令,上面有交代) 命令设定的存储器读取
OK,解码我还没研究,就先这样吧,感觉啥也没说。。。!
对了,最后我发的短信是 123Hello
祝大家成功!
参考传送门:
AT指令(中文详解版)(一)
AT指令(中文详解版)(二)
AT指令(中文详解版)(三)
GSM之AT操作命令详解20160615
GSM模块(SIM800L)收发短信 串口调试相关推荐
- 基于STM32与GSM模块发送中英文短信
基于STM32与GSM模块发送中英文短信 最近在做毕业设计有用到GSM模块进行短信报警,模块的功能比较多这里就不介绍了,一般的拨打电话都很简单就只需要一条指令即可,发送英文短信也很简单也只要几条命令也 ...
- STM32使用GSM模块发送中英文短信(TEXT模式到PDU模式的转换)
STM32使用GSM模块发送中英文短信(TEXT模式到PDU模式的转换) 目的是按下按键,短信发送 PDU转换网站 链接: PDU转换网站. 使用硬件: ··· 开发板:正点原子战舰V3 GSM模块: ...
- python GSM模块-电脑接收短信
文章目录 一.GSM模块: 1. 产品介绍 2.前言:最近做了一个需求,需要接收手机短信验证码.因此我这里考虑到了 GSM 模块 一.GSM模块: 1. 产品介绍 ① 一种具有独立的操作系统的功能模块 ...
- RPA解决:python GSM 模块 - 电脑接收短信
学Python,用RPA 艺赛旗RPA2020.1版本 正在免费下载使用中,欢迎下载使用 www.i-search.com.cn/index.html?from=line1 前言: 最近做了一个需求, ...
- Wavecom gsm 模块发送中文短信
Wavecom gsm 模块发送中文短信 这今天被wavecom 模块发送中文短信的事搞的头大,不过最后还是成功了. 说一说整个事的过程吧! 首先说一下这个事情的背景: 我们公司有条产品线是嵌入式计算 ...
- gsm模块发中文短信
用两条AT指令发中文短信 设置为PDU模式 AT+CMGF=0或1回车 //设置短信编码方式 0为PDU模式 1为TEXT模式 TEXT模式只支持字母或数字,要发中文短信,只能用PDU模式 C表达如 ...
- 用串口操作手机收发短信总结
终于完成了用Java操作手机的模块,遇到了不少麻烦,在这里总结一下,也希望对大家有所帮助. 可能有很多人会问,现在的手机与计算机连接都是USB口,那研究串口手机通讯有什么意义?我开始也是这样考虑,所以 ...
- GSM MODEM的基本用法-收发短信篇
第五步.通过绘声绘彩编辑短信并发送: 编辑模板短信: 点击"工具栏"的"新建信息"---->文字短信---->确定,输入短信内容之后,点击确定. 添 ...
- 【物联网】AT指令|AT返回错误|AT 指令 收发短信和GPRS上网 SIM508/548
目录 常用AT命令解释 AT 指令 收发短信和GPRS上网 SIM508/548 AT指令返回错误 解释 CME错误: CMS错误 CME错误(英文) CMS 错误(英文) 短信通信的几种情况和CMS ...
- 怎样用电脑收发短信?
急啊!!急啊!!我有一个西门子GSM模块,想用它与电脑串口连接起来,用VB实现与手机收发短信,该如何实现? 手机与手机之间的是用什么样的数据传输格式? 有关于这方面的书籍或网站吗?,请指教!! 急啊! ...
最新文章
- python打包为exe文件_Pyinstaller(python打包为exe文件)
- 在线学位课程_如何选择计算机科学学位课程
- 查看mysql数据库的主机_MySQL查看或显示数据库(SHOW DATABASES语句)
- 用户密码和cookie,session、token还有AKSK
- Linux中安装nc(netcat)常见问题
- 【原创】modb 功能设计之“支持多消费者单生产者”
- HBase 数据库介绍
- axure文件如何加密_axure怎么锁定位置
- Python第三课小节
- 无法连接虚拟设备 sata0:1,因为主机上没有相对应的设备——解决方案
- video标签(获取视频时间总长度,视频当前时间,播放暂停方法,视频封面,)
- Spyder启动闪退或打开项目编码报错
- 低成本撬动TK亿万流量 TK带货视频有多简单?
- primocache学生党常用场景设置
- 知识体系:如何构建自己的知识体系
- 9 款炫酷的 MySQL 可视化管理工具!好用到爆!!
- 老牛知点所以然-Deepin Linux搭建Swift开发环境
- 初学算法——第二天:斐波那契数列
- 比较GBDT与Xgboost、boosting与bagging
- 浙江查获5000余张假火车票 系跨省家族式作案网上交易
热门文章
- ros在哪里添加虚拟服务器,ros路由 虚拟服务器设置
- 七种基本质量工具(7QC)和PDCA循环
- docker 容器备份mysql shell脚本
- HAV-down1.1vs 大黄峰资源搜索 绿色特别版
- JAVA管理信息系统答辩ppt,个人信息管理系统答辩ppt
- 如何将华为备忘录转移到小米便签
- 中国信通院沈滢:字体开源协议——OFL V1.1介绍及合规要点分析
- HDU 4289 Control (最大流最小割)
- [Swift]判断字符串是否为空
- python批量打印word_Python操作Word批量生成文章的方法