MQTT demo

```language #include "amaziot.h" #define USER_TASK_STACK_SIZE (2048*2) #define USER_TASK_PRIORITY (COS_USER_TASKS_PRIORITY_BASE) static uint8_t Send_MqttData_Flag=0; void UserTask(void *p_arg); void Send_MqttData_Timer(void); typedef struct { char ip[65]; int port; char clientid[100]; UINT16 keeplive; UINT8 cleansession; char username[100]; char password[100]; char subtopic[130]; UINT8 subflag; UINT8 subqos; char pubtopic[130]; UINT8 pubqos; UINT8 duplicate; UINT8 retain; }mqtt_conf; static mqtt_conf mqttconf;//weihu yi ge /* add user task here */ VOID UserCreateTask(void) { COS_CreateTask(UserTask, NULL, NULL, USER_TASK_STACK_SIZE, USER_TASK_PRIORITY, COS_CREATE_DEFAULT, 0, "UserTask"); } void Send_MqttData_Timer(void) { AT_TC(10,"DMH_MQTT_TEST"); if(Mqtt_Connect_Status){ Send_MqttData_Flag = 1; } sxr_StartFunctionTimer(30 SECOND,Send_MqttData_Timer,(VOID*)NULL,0x10); } void UserTask(void *p_arg) { sprintf(mqttconf.ip,"183.230.40.39"); mqttconf.port=6002; sprintf(mqttconf.clientid,"534808251"); mqttconf.keeplive = 120; mqttconf.cleansession = 0; sprintf(mqttconf.username,"259084"); sprintf(mqttconf.password,"subscribe"); sprintf(mqttconf.subtopic,"aaa"); mqttconf.subflag = 1; mqttconf.subqos = 0; sprintf(mqttconf.pubtopic,"aaa"); mqttconf.pubqos = 0; mqttconf.duplicate = 0; mqttconf.retain = 0; AT_WriteUart("OneNet MqttTask Runing\r\n", strlen("OneNet MqttTask Runing\r\n")); /*wait_dev_reg_net*/ wait_dev_reg_net(); /*wait_dev_active_net*/ wait_dev_active_net(); PRO_START: //close mqtt wait_at_mqttdisconn(); //connect wait_at_mqttconn(mqttconf.ip,mqttconf.port,mqttconf.clientid,mqttconf.keeplive,mqttconf.cleansession,mqttconf.username,mqttconf.password); //sub wait_at_sub(mqttconf.subtopic,mqttconf.subflag,mqttconf.subqos); //set flag Mqtt_Connect_Status=1; //start timer sxr_StartFunctionTimer(30 SECOND,Send_MqttData_Timer,(VOID*)NULL,0x10); while (1) { { if(Mqtt_Connect_Status){ if(Send_MqttData_Flag){//send data Send_MqttData_Flag = 0; at_mqtt_publish(mqttconf.pubtopic,"test", mqttconf.duplicate, mqttconf.pubqos,mqttconf.retain); } sleep(1); }else{ goto PRO_START; } } } } ```