ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

esp32 c3 AT 指令 +MQTTSUBRECV 最大长度

esp32 c3 AT 指令 +MQTTSUBRECV 最大长度

ESP32-C3 的 ESP-AT里,+MQTTSUBRECV:<LinkID>,"topic",<data_length>,data这一条单次能吐出来的最大长度主要受 **ESP-MQTT 的接收缓冲区(MQTT Buffer)**限制:

  • 默认情况:如果设备收到的 MQTT 消息长度超过 1024 字节(包含 MQTT header + payload),AT 会把它拆成多条+MQTTSUBRECV输出,所以你会看到连续多条+MQTTSUBRECV。(Espressif Systems)
    ⇒ 因此单条+MQTTSUBRECVdata一般不会超过约 1024 字节量级(实际 payload 还要扣掉 MQTT 头等开销)。

  • 即使没超过 1024:也可能因为MTU/链路分片/路由策略被拆成多条+MQTTSUBRECV。(Espressif Systems)

  • 想变大:在 ESP-AT 工程里把 MQTT buffer 调大(官方示例里提到可设到1460来减少拆包):
    menuconfig → Component config → ESP-MQTT Configurations → MQTT Using custom configurations → Default MQTT Buffer Size(Espressif Systems)

返回列表