如何在Node.js/Express中接收ESP32+SIM800L发送的短信?
直接接收ESP32+SIM800L数据的无依赖方案
既然你不想依赖第三方短信服务或额外设备,最直接的方案是放弃短信传输逻辑,改用SIM800L的GPRS网络直接向你的Express后端发送HTTP请求——个人SIM卡只要开通了基础数据流量就能用,完全绕开短信通道的限制,也不需要任何中间服务。
具体实现步骤
1. ESP32端:通过SIM800L发送HTTP请求
SIM800L支持AT指令直接发起HTTP请求,你可以用AT指令集实现,也可以用封装好的Arduino库简化开发。以下是核心代码示例:
#include <SoftwareSerial.h> SoftwareSerial sim800l(16, 17); // RX、TX引脚,根据实际接线调整 void setup() { sim800l.begin(9600); Serial.begin(115200); // 初始化GPRS连接 sim800l.println("AT+CGATT=1"); // 附着GPRS网络 delay(1000); sim800l.println("AT+SAPBR=3,1,\"CONTYPE\",\"GPRS\""); // 设置连接类型为GPRS delay(1000); sim800l.println("AT+SAPBR=3,1,\"APN\",\"CMNET\""); // 替换为你的运营商APN,联通填UNINET,电信填CTNET delay(1000); sim800l.println("AT+SAPBR=1,1"); // 激活GPRS连接 delay(2000); // 发送POST请求到后端接口 sim800l.println("AT+HTTPINIT"); // 初始化HTTP服务 delay(1000); sim800l.println("AT+HTTPPARA=\"URL\",\"http://你的后端公网地址/api/receive-data\""); // 替换为实际接口地址 delay(1000); sim800l.println("AT+HTTPPARA=\"CONTENT\",\"application/json\""); // 设置请求内容类型为JSON delay(1000); sim800l.println("AT+HTTPDATA=28,10000"); // 声明要发送28字节数据,超时10秒 delay(1000); sim800l.println("{\"deviceId\":\"esp32_001\",\"temp\":25.6}"); // 自定义要发送的业务数据 delay(2000); sim800l.println("AT+HTTPACTION=1"); // 执行POST请求 delay(3000); // 打印后端响应 while(sim800l.available()){ Serial.write(sim800l.read()); } sim800l.println("AT+HTTPTERM"); // 关闭HTTP服务 } void loop() { // 这里可以添加定时上报或触发式上报逻辑 delay(10000); }
2. Express后端:编写接收接口
在你的Node.js/Express项目中添加POST接口,直接接收设备发送的数据:
const express = require('express'); const app = express(); const port = 3000; app.use(express.json()); // 解析JSON格式请求体 // 设备数据接收接口 app.post('/api/receive-data', (req, res) => { const deviceData = req.body; console.log('收到设备数据:', deviceData); // 此处添加你的业务逻辑,比如存储到数据库、触发告警等 res.status(200).json({ status: 'ok', msg: '数据已接收' }); }); app.listen(port, () => { console.log(`后端服务运行在 http://localhost:${port}`); });
关键注意事项
- 确保后端能被公网访问:如果设备不在局域网内,需要给后端做端口映射,或直接部署到云服务器。
- 供电稳定:SIM800L模块需要5V/2A的稳定供电,避免因供电不足导致GPRS连接失败。
- APN参数正确:不同运营商的APN不同,若连接失败可咨询运营商确认。
内容的提问来源于stack exchange,提问作者Jojo Maninang
相关产品推荐
相关产品推荐

