SIM800L GSM模块怎么接线?Arduino发短信打电话避坑指南

2026-10-18 09:39:33 25阅读

让设备“会打电话、会发短信”,不用依赖WiFi,SIM800L是折腾物联网远程提醒最常用的一块GSM模块。它能把短信、语音、GPRS都接进来,接在Arduino上就能远程报警或控制。但它的供电很讲究,这篇文章把要点说全。

SIM800L GSM模块与Arduino接线图

供电是第一步,最容易翻车

SIM800L标称工作在4V左右,典型建议3.4V到4.4V,峰值电流能冲到2A。直接接Arduino的5V会偏高、接3.3V又不够,最稳妥的是用一块LM2596降压模块把电源调成4V左右,或者用一颗满电的锂电池直接带。

为什么供电差会导致“重启循环”?因为模块在发射瞬间电流大,电源一旦被拉垮、电压跌破临界值,模块就会自动复位重启,然后再次发射再次掉电,最后表现成反复开机。所以一定要保证电源能扛住2A的瞬时电流,并做好共地。

连线本身很简单:VCC接4V电源,GND共地,TXD接Arduino的接收端、RXD接主控的发送端。注意模块的行波是2.8V逻辑,直接拿5V主控去驱动它的RX一般没问题,但部分板子建议加个分压电阻更保险。

别忘了接上天线,没有天线就搜不到网络,短信和电话都不通,这是新手最容易忽略的一环。

SIM800L GSM模块远程短信提醒应用场景

AT指令就能发短信打电话

模块通过AT指令控制,先用软件串口和它通信。上电后先发AT回车测试,收到OK表示通信正常;再用AT+CSQ查信号强度,用AT+CREG?看是否注册上网络——信号弱要先调整天线位置再接其他指令。

发短信的经典序列是:AT+CMGF=1把模式切到文本格式,AT+CMGS="手机号",等返回符号后输入内容再发送结束符。打电话更简单,直接ATD+手机号+分号拨出,挂机用ATH。想收短信,设置AT+CNMI=2,1就能在来短信时主动上报。

三个高频坑帮你避掉

坑一:信号弱或没插卡就发给AT指令,会一直返回ERROR或超时,先用AT+CSQ确认强度、确认SIM卡插好且没欠费。

坑二:软件串口波特率要对上,常用9600或115200,模块不同版本默认值不同,先断连测试核对。

坑三:首次上电要等它注册网络的几十秒,别一开机就急着发短信。给器件加个状态灯看网络是否就绪,能省下大量排错时间。

搭好之后,做远程温控报警、宠物粮仓缺料短信、或者离家断电通知,都是很好用的刚需场景。


作者:电机传感器师
链接:https://www.aiddithome.com/p/1ae659356111b9.html
本作版权归作者所有,未经允许请勿转载。若存在违规行为,您可以点击 “举报”。


登录 后发表评论
4条评论
深圳打工人Alan
1楼 · 2026-10-18 09:39:35

先查AT+CSQ信号强度再操作,信号弱发给指令全是ERROR,省好多时间

锡点
2楼 · 2026-10-18 09:39:34

没接天线搜不到网络,短信电话全不通,这个最容易漏

胶佬憨憨
3楼 · 2026-10-18 09:39:34

发射瞬间电流大到2A,电源扛不住就会反复重启,电源要到位

拆机党
4楼 · 2026-10-18 09:39:33

供电是大坑,直接接5V不稳就重启循环,用降压调到4V才是正解