20260117:支持以json格式向mqtt服务器发布数据。

This commit is contained in:
2026-01-18 02:44:38 +08:00
parent 7708a22a6e
commit dd946595c4
19 changed files with 580 additions and 4350 deletions

View File

@@ -109,27 +109,31 @@ void vTaskMqttPublishTest(void *pvParameters)
{
/* <20><><EFBFBD><EFBFBD>֪ͨ<CDA8><D6AA><EFBFBD>պ<EFBFBD><D5BA><EFBFBD> */
ulTaskNotifyTake(pdTRUE, portMAX_DELAY);
char cCmd[256] = {0};
char pcCmd[256] = {0};
char *pcJsonMsg = "{\"temperature\":23,\"humidity\":60}";
while (1)
{
/* code */
#if (ESP8266_MQTT_SERVER_MODE == ALIYUN)
const char* pcMsg = "test";
sprintf(cCmd, "AT+MQTTPUB=0,\"%s\",\"%s\",1,0",
ESP8266_ALIYUN_MQTT_PUBLISH_TOPIC, pcMsg);
if (bEsp8266Command(cCmd, "OK", NULL, 3000) == pdTRUE)
uint8_t ucLen = strlen(pcJsonMsg);
snprintf(pcCmd, sizeof(pcCmd), "AT+MQTTPUBRAW=0,\"%s\",%d,1,0",
ESP8266_ALIYUN_MQTT_PUBLISH_TOPIC, ucLen);
if (bEsp8266Command(pcCmd, "OK", ">", 3000) == pdTRUE &&
bEsp8266Command(pcJsonMsg, "OK", NULL, 3000) == pdTRUE)
{
/* code */
vUsartSendString(USART1, "Aliyun MQTT Publish Successfully.\r\n");
} else
{
/* code */
vUsartSendString(USART1, "Aliyun MQTT Publish Failed.\r\n");
}
vTaskDelay(500);
#elif (ESP8266_MQTT_SERVER_MODE == EMQX)
const char* pcMsg = "test";
sprintf(cCmd, "AT+MQTTPUB=0,\"%s\",\"%s\",0,0", ESP8266_EMQX_MQTT_PUBLISH_TOPIC, pcMsg);
if (bEsp8266Command(cCmd, "OK", NULL, 3000) == pdTRUE)
uint8_t ucLen = strlen(pcJsonMsg);
snprintf(pcCmd, sizeof(pcCmd), "AT+MQTTPUBRAW=0,\"%s\",%d,1,0",
ESP8266_EMQX_MQTT_PUBLISH_TOPIC, ucLen);
if (bEsp8266Command(pcCmd, "OK", ">", 3000) == pdTRUE &&
bEsp8266Command(pcJsonMsg, "OK", NULL, 3000) == pdTRUE)
{
vUsartSendString(USART1, "EMQX MQTT Publish Successfully.\r\n");
} else