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:
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user