add sub callback function in esp8266_tc_fw warpper

This commit is contained in:
mculover666
2020-07-29 10:18:09 +08:00
parent c16a12d34b
commit 0f68497eea
5 changed files with 142 additions and 24 deletions

View File

@@ -2,6 +2,15 @@
#include "esp8266_tencent_firmware.h"
#include "tencent_firmware_module_wrapper.h"
void default_message_handler(mqtt_message_t* msg)
{
printf("callback:\r\n");
printf("---------------------------------------------------------\r\n");
printf("\ttopic:%s\r\n", msg->topic);
printf("\tpayload:%s\r\n", msg->payload);
printf("---------------------------------------------------------\r\n");
}
void mqtt_demo_task(void)
{
char payload[256] = {0};
@@ -37,23 +46,23 @@ void mqtt_demo_task(void)
printf("MQTT: %s\n", state == MQTT_STATE_CONNECTED ? "CONNECTED" : "DISCONNECTED");
}
static char topic_name[TOPIC_MAX_SIZE] = {0};
int size = snprintf(topic_name, TOPIC_MAX_SIZE, "%s/%s/data", product_id, device_name);
static char topic_name[TOPIC_NAME_MAX_SIZE] = {0};
int size = snprintf(topic_name, TOPIC_NAME_MAX_SIZE, "%s/%s/data", product_id, device_name);
if (size < 0 || size > sizeof(topic_name) - 1) {
printf("topic content length not enough! content size:%d buf size:%d", size, (int)sizeof(topic_name));
}
if (tos_tf_module_mqtt_sub(topic_name, QOS0) != 0) {
if (tos_tf_module_mqtt_sub(topic_name, QOS0, default_message_handler) != 0) {
printf("module mqtt sub fail\n");
} else {
printf("module mqtt sub success\n");
}
while (1) {
HAL_Delay(1000);
tos_sleep_ms(1000);
/* use AT+PUB AT command */
memset(payload, 0, sizeof(payload));
memset(payload, 0, sizeof(payload));
strncpy(payload, "{\\\"type\\\":\\\"get\\\"\\, \\\"clientToken\\\":\\\"03UKNYBUZG-0\\\"}", sizeof(payload));
printf("message publish: %s\n", payload);
if (tos_tf_module_mqtt_pub(topic_name, QOS0, payload) != 0) {