fix(iot_mqtt): 传感数据 topic 改为 V1.01 双主题协议 dld960/{sn}/dev

原 iot_make_topic("dev","data","loop") → dld960/{sn}/dev/data/loop (V1.00)
改为直接用 g_iot_topic.topic_pub → dld960/{sn}/dev (V1.01)
与 report_config 等命令响应共用同一 topic,DBNMQTTool 订阅 dld960/+/dev 可接收到
This commit is contained in:
wangfq
2026-07-08 16:54:23 +08:00
parent 8425b473d3
commit 4c6d23a951
@@ -432,15 +432,14 @@ void iot_mqtt_publish_sensor(void) {
"{\"msg_id\":%d,\"cmd\":\"loop_data\",\"ts\":%lu,\"data\":%s}", "{\"msg_id\":%d,\"cmd\":\"loop_data\",\"ts\":%lu,\"data\":%s}",
++g_iot_msg_id, mstick() / 1000, data_json); ++g_iot_msg_id, mstick() / 1000, data_json);
char topic[IOT_MQTT_TOPIC_MAX_LEN];
iot_make_topic(topic, sizeof(topic), "dev", "data", "loop");
{ {
uint16_t plen = (uint16_t)strlen(payload); uint16_t plen = (uint16_t)strlen(payload);
if (plen > 450) { if (plen > 450) {
PRINT("IOT: payload too large (%u bytes), skipping\n", plen); PRINT("IOT: payload too large (%u bytes), skipping\n", plen);
} else { } else {
/* Use net_srv.c mqtt_publish() -- same path as command responses (proven stable) */ /* V1.01: publish to g_iot_topic.topic_pub = dld960/{sn}/dev */
mqtt_publish(topic, payload, 0); char *pub_topic = (char *)g_iot_topic.topic_pub;
mqtt_publish(pub_topic, payload, 0);
} }
} }