其实我感觉应该不止用于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
后期移植的话需要修改短信内容就要修改:

  1. 短信内容
  2. 短信内容前面的长度
  3. 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)收发短信 串口调试相关推荐

  1. 基于STM32与GSM模块发送中英文短信

    基于STM32与GSM模块发送中英文短信 最近在做毕业设计有用到GSM模块进行短信报警,模块的功能比较多这里就不介绍了,一般的拨打电话都很简单就只需要一条指令即可,发送英文短信也很简单也只要几条命令也 ...

  2. STM32使用GSM模块发送中英文短信(TEXT模式到PDU模式的转换)

    STM32使用GSM模块发送中英文短信(TEXT模式到PDU模式的转换) 目的是按下按键,短信发送 PDU转换网站 链接: PDU转换网站. 使用硬件: ··· 开发板:正点原子战舰V3 GSM模块: ...

  3. python GSM模块-电脑接收短信

    文章目录 一.GSM模块: 1. 产品介绍 2.前言:最近做了一个需求,需要接收手机短信验证码.因此我这里考虑到了 GSM 模块 一.GSM模块: 1. 产品介绍 ① 一种具有独立的操作系统的功能模块 ...

  4. RPA解决:python GSM 模块 - 电脑接收短信

    学Python,用RPA 艺赛旗RPA2020.1版本 正在免费下载使用中,欢迎下载使用 www.i-search.com.cn/index.html?from=line1 前言: 最近做了一个需求, ...

  5. Wavecom gsm 模块发送中文短信

    Wavecom gsm 模块发送中文短信 这今天被wavecom 模块发送中文短信的事搞的头大,不过最后还是成功了. 说一说整个事的过程吧! 首先说一下这个事情的背景: 我们公司有条产品线是嵌入式计算 ...

  6. gsm模块发中文短信

    用两条AT指令发中文短信 设置为PDU模式 AT+CMGF=0或1回车 //设置短信编码方式  0为PDU模式 1为TEXT模式 TEXT模式只支持字母或数字,要发中文短信,只能用PDU模式 C表达如 ...

  7. 用串口操作手机收发短信总结

    终于完成了用Java操作手机的模块,遇到了不少麻烦,在这里总结一下,也希望对大家有所帮助. 可能有很多人会问,现在的手机与计算机连接都是USB口,那研究串口手机通讯有什么意义?我开始也是这样考虑,所以 ...

  8. GSM MODEM的基本用法-收发短信篇

    第五步.通过绘声绘彩编辑短信并发送: 编辑模板短信: 点击"工具栏"的"新建信息"---->文字短信---->确定,输入短信内容之后,点击确定. 添 ...

  9. 【物联网】AT指令|AT返回错误|AT 指令 收发短信和GPRS上网 SIM508/548

    目录 常用AT命令解释 AT 指令 收发短信和GPRS上网 SIM508/548 AT指令返回错误 解释 CME错误: CMS错误 CME错误(英文) CMS 错误(英文) 短信通信的几种情况和CMS ...

  10. 怎样用电脑收发短信?

    急啊!!急啊!!我有一个西门子GSM模块,想用它与电脑串口连接起来,用VB实现与手机收发短信,该如何实现? 手机与手机之间的是用什么样的数据传输格式? 有关于这方面的书籍或网站吗?,请指教!! 急啊! ...

最新文章

  1. python打包为exe文件_Pyinstaller(python打包为exe文件)
  2. 在线学位课程_如何选择计算机科学学位课程
  3. 查看mysql数据库的主机_MySQL查看或显示数据库(SHOW DATABASES语句)
  4. 用户密码和cookie,session、token还有AKSK
  5. Linux中安装nc(netcat)常见问题
  6. 【原创】modb 功能设计之“支持多消费者单生产者”
  7. HBase 数据库介绍
  8. axure文件如何加密_axure怎么锁定位置
  9. Python第三课小节
  10. 无法连接虚拟设备 sata0:1,因为主机上没有相对应的设备——解决方案
  11. video标签(获取视频时间总长度,视频当前时间,播放暂停方法,视频封面,)
  12. Spyder启动闪退或打开项目编码报错
  13. 低成本撬动TK亿万流量 TK带货视频有多简单?
  14. primocache学生党常用场景设置
  15. 知识体系:如何构建自己的知识体系
  16. 9 款炫酷的 MySQL 可视化管理工具!好用到爆!!
  17. 老牛知点所以然-Deepin Linux搭建Swift开发环境
  18. 初学算法——第二天:斐波那契数列
  19. 比较GBDT与Xgboost、boosting与bagging
  20. 浙江查获5000余张假火车票 系跨省家族式作案网上交易

热门文章

  1. ros在哪里添加虚拟服务器,ros路由 虚拟服务器设置
  2. 七种基本质量工具(7QC)和PDCA循环
  3. docker 容器备份mysql shell脚本
  4. HAV-down1.1vs 大黄峰资源搜索 绿色特别版
  5. JAVA管理信息系统答辩ppt,个人信息管理系统答辩ppt
  6. 如何将华为备忘录转移到小米便签
  7. 中国信通院沈滢:字体开源协议——OFL V1.1介绍及合规要点分析
  8. HDU 4289 Control (最大流最小割)
  9. [Swift]判断字符串是否为空
  10. python批量打印word_Python操作Word批量生成文章的方法