refactor(vd960DBN): MQTT 重构,对标 DBN101GA 参考项目

net_srv.c 改动:
- WCHNET_HandleSockInt IoT 分支:SINT_STAT_CONNECT 直接调 mqtt_connect(),
  SINT_STAT_RECV 调 mqtt_data_manage() — 复用已有的 SocketId_TCP/mqttBuf/mqttData
- 新增 mqtt_data_manage(): 处理 CONNACK/SUBACK/PUBLISH/PINGRESP
- 新增 poll_mqtt(): 心跳 PINGREQ (~9s)

peripheral_main.c 改动:
- IoT 模式下 poll_mqtt() 替代 iot_mqtt_poll()

对标 DBN101GA 的关键差异:
- net_srv.c 已有完整 mqtt_connect/mqtt_publish/MQTT_Subscribe/MQTT_Pingreq
- SocketId_TCP 由 WCHNET_CreateTcpMqttSocket 创建,不再自建 socket
- SINT_STAT_CONNECT 直接发 MQTT CONNECT,不延迟
This commit is contained in:
wangfq
2026-07-06 17:21:48 +08:00
parent 0c8402d726
commit c17b67d185
2 changed files with 89 additions and 3 deletions
@@ -271,7 +271,7 @@ void Main_Circulation(void)
if (g_sub_code_enable.iot_enable) {
iot_mqtt_publish_sensor(); // Push 0xC0 sensor data to MQTT broker
iot_mqtt_poll(); // IoT MQTT state machine + heartbeat
poll_mqtt(); // MQTT PINGREQ heartbeat (in net_srv.c)
} else {
tcp_json_push_sensor(); // Push 0xC0 sensor data to TCP JSON client
tcp_json_poll();