ESP32 与 Air780E 4G 模块配合做 MQTT 数据传输
ESP32 与 Air780E 4G 模块配合做 MQTT 数据传输核心思路是ESP32 作为主控通过串口 UART 向 Air780E 发送 AT 指令由 Air780E 内部协议栈完成 TCP/IP 和 MQTT 的底层工作。你只需要处理好指令时序、响应解析和硬件供电即可。一、硬件连接要点串口交叉连接ESP32 的 TX 接 Air780E 的 RXESP32 的 RX 接 Air780E 的 TX两边 GND 共地。电平匹配Air780E 主串口默认是1.8V TTLESP32 一般为 3.3V。若电平不一致建议加电平转换电路若均为 3.3V 可直接连接部分批次可通过引脚配置为 3.3V。供电非常关键Air780E 射频发射瞬间峰值电流可达1.5~2A务必保证电源能提供持续 1A 以上电流且 VBAT 电压稳定在 3.3V~4.3V否则容易反复重启或搜网失败。控制引脚建议 ESP32 用一个 GPIO 接 Air780E 的 PWRKEY/RESET用于模块硬复位。二、MQTT 通信 AT 指令流程在 ESP32 代码里按以下顺序发送指令并等待对应响应注意返回OK往往只代表“指令已接受”不代表“操作成功”检查 SIM 卡ATCPIN?→ 期望CPIN: READY检查网络附着ATCGATT?→ 期望CGATT: 1配置 MQTT 参数ATMCONFIGclientId,user,password→OK启动 TCP 连接ATMIPSTARThost,port→ 最终收到CONNECT OK仅OK不够发起 MQTT 连接ATMCONNECT1,60clean session1, keepalive60s→ 最终收到CONNACK OK订阅主题ATMSUBtopic,qos→ 最终收到SUBACK发布消息ATMPUBtopic,qos,retain,dataQoS0 时收到OK即可QoS1 需等到PUBACKQoS2 需等到PUBCOMP模块收到订阅消息时会主动上报MSUB: topic,len byte,data。三、注意事项与避坑响应判断要严谨MIPSTART/MCONNECT/MSUB/MPUB的OK只是“开始处理”必须等到对应的最终返回CONNECT OK/CONNACK OK/SUBACK/PUBACK才算成功否则极易出现假连接。KeepAlive 设置建议 60~120 秒。太久可能被基站掐断太短易因网络波动超时断开。ClientID 必须唯一服务器发现重复 ID 会踢掉前一个设备。QoS 选择允许的话优先用 QoS0QoS1/2 会加重网络负担弱网更易掉线。域名解析若用域名确保模块已拿到 IPATCIFSR必要时用ATCDNSGIP测试解析。AT 指令超时与缓冲ESP32 串口接收要做好缓存和超时管理避免漏解析MSUB等 URC 主动上报数据。专网卡/APN公网卡通常自动 APN专网卡需通过ATCPNETAPN设置 APN 参数。如果你需要我可以按 ESP32 Arduino 框架给你整理一个带状态机、自动重连、URC 解析的完整示例代码骨架你直接填 IP/主题就能跑。