20260107:实现简单的MQTT协议。
This commit is contained in:
@@ -12,7 +12,8 @@
|
||||
/* <20><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һһ<D2BB><D2BB>Ӧ<EFBFBD><D3A6> */
|
||||
TaskHandle_t xTaskStateLedHdlr;
|
||||
TaskHandle_t xTaskBufferRxHdlr;
|
||||
TaskHandle_t xTaskApConnectHdlr;
|
||||
TaskHandle_t xTaskWifiJoinApHdlr;
|
||||
TaskHandle_t xTaskWifiMqttInitHdlr;
|
||||
|
||||
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>о<EFBFBD><D0BE><EFBFBD> */
|
||||
QueueHandle_t xQueueUsart1IrqHdlr;
|
||||
@@ -42,7 +43,7 @@ void vTaskStateLed(void *pvParameters)
|
||||
}
|
||||
|
||||
|
||||
void vTaskApConnection(void *pvParameters)
|
||||
void vTaskWifiJoinAp(void *pvParameters)
|
||||
{
|
||||
while (1)
|
||||
{
|
||||
@@ -50,10 +51,43 @@ void vTaskApConnection(void *pvParameters)
|
||||
vEsp8266AtTest();
|
||||
bEsp8266NetModeChoose(STA);
|
||||
while(!bEsp8266JoinAp(ESP8266_APSSID, ESP8266_APPWD));
|
||||
vUsartPrintf(USART1, "Wifi Join To AP Success\r\n");
|
||||
vTaskDelete(NULL);
|
||||
}
|
||||
}
|
||||
|
||||
void vTaskWifiMqttInit(void *pvParameters)
|
||||
{
|
||||
// bool bMqttUserCfgInit = false, bMqttCliIdInit = false, bMqttConnectResult = false;
|
||||
BaseType_t bMqttConnectResult = pdFALSE;
|
||||
while (1)
|
||||
{
|
||||
// MQTT<54><54>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// bMqttUserCfgInit = bEsp8266Command("AT+MQTTUSERCFG=0,1,\"NULL\",\"stm32\",\"IPSK25em.\",0,0,\"\"", "OK", NULL, 1500);
|
||||
// bMqttCliIdInit = bEsp8266Command("AT+MQTTCLIENTID=0,\"TestServer&stm32\"", "OK", NULL, 1500);
|
||||
// bMqttConnectResult = bEsp8266Command("AT+MQTTCONN=0,\"121.36.104.9\",1883,1", "OK", NULL, 2000);
|
||||
// if (bMqttUserCfgInit == true && bMqttCliIdInit == true && bMqttConnectResult == true)
|
||||
// {
|
||||
// /* code */
|
||||
// vUsartPrintf(USART1, "MQTT Init Success\r\n");
|
||||
// break;
|
||||
// } else
|
||||
// {
|
||||
// /* code */
|
||||
// vUsartPrintf(USART1, "MQTT Init Failed, Retry...\r\n");
|
||||
// vDelayMs(2000);
|
||||
// }
|
||||
bMqttConnectResult = bEsp8266MqttInit(ESP8266_MQTT_USERNAME, ESP8266_MQTT_PASSWORD, ESP8266_MQTT_CLIENT_ID, ESP8266_MQTT_SERVER_IP, ESP8266_MQTT_SERVER_PORT);
|
||||
if (bMqttConnectResult == pdFALSE)
|
||||
{
|
||||
vUsartPrintf(USART1, "MQTT Init Failed, Retry...\r\n");
|
||||
vDelayMs(2000);
|
||||
continue;
|
||||
}
|
||||
vUsartPrintf(USART1, "MQTT Init Success\r\n");
|
||||
vTaskDelete(NULL);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>
|
||||
@@ -71,12 +105,19 @@ void vCreateTasksList(void)
|
||||
(UBaseType_t ) 2,
|
||||
(TaskHandle_t * ) &xTaskStateLedHdlr);
|
||||
xTaskCreate(
|
||||
(TaskFunction_t ) vTaskApConnection,
|
||||
(TaskFunction_t ) vTaskWifiJoinAp,
|
||||
(char * ) "TaskName_WifiConnectToAP",
|
||||
(configSTACK_DEPTH_TYPE) 512,
|
||||
(void * ) NULL,
|
||||
(UBaseType_t ) 2,
|
||||
(TaskHandle_t * ) &xTaskApConnectHdlr);
|
||||
(TaskHandle_t * ) &xTaskWifiJoinApHdlr);
|
||||
xTaskCreate(
|
||||
(TaskFunction_t ) vTaskWifiMqttInit,
|
||||
(char * ) "TaskName_WifiInitMQTTProtocol",
|
||||
(configSTACK_DEPTH_TYPE) 512,
|
||||
(void * ) NULL,
|
||||
(UBaseType_t ) 2,
|
||||
(TaskHandle_t * ) &xTaskWifiMqttInitHdlr);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -125,6 +166,7 @@ void vCreateSemaphoresList(void)
|
||||
*/
|
||||
int main(void)
|
||||
{
|
||||
vUsartInit(USART1, 115200);
|
||||
vUsartInit(USART2, 115200);
|
||||
vUsartInit(USART3, 115200);
|
||||
vDelayInit();
|
||||
|
||||
Reference in New Issue
Block a user