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

@@ -57,8 +57,8 @@
/* ʱ<><CAB1>Ƭ<EFBFBD><C6AC><EFBFBD>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD>ͬʱִ<CAB1><D6B4> */ /* ʱ<><CAB1>Ƭ<EFBFBD><C6AC><EFBFBD>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD>ͬʱִ<CAB1><D6B4> */
#define configUSE_TIME_SLICING 1 #define configUSE_TIME_SLICING 1
/* <20><><EFBFBD>С<EFBFBD>Ϊ1<CEAA><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ0<CEAA>ر<EFBFBD> */ /* <20><><EFBFBD>С<EFBFBD>Ϊ1<CEAA><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ0<CEAA>ر<EFBFBD> */
#define configUSE_QUEUE_SETS 1 #define configUSE_QUEUE_SETS 0
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֪ͨ<CDA8><D6AA><EFBFBD>ܣ<EFBFBD>Ĭ<EFBFBD>Ͽ<EFBFBD><CFBF><EFBFBD> */ /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֪ͨ<CDA8><D6AA><EFBFBD>ܣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֪ͨ<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>Ĭ<EFBFBD>Ͽ<EFBFBD><EFBFBD><EFBFBD> */
#define configUSE_TASK_NOTIFICATIONS 1 #define configUSE_TASK_NOTIFICATIONS 1
/* <20><><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD><C5BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */ /* <20><><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD><C5BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
#define configUSE_MUTEXES 0 #define configUSE_MUTEXES 0
@@ -70,7 +70,7 @@
#define configQUEUE_REGISTRY_SIZE 10 #define configQUEUE_REGISTRY_SIZE 10
#define configUSE_APPLICATION_TASK_TAG 0 #define configUSE_APPLICATION_TASK_TAG 0
/* FreeRTOS<4F><53><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>й<EFBFBD><D0B9><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1> */ /* FreeRTOS<4F><53><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>й<EFBFBD><D0B9><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1> */
/* ֧<>ֶ<EFBFBD>̬<EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ö<EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>ź<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD> */ /* ֧<>ֶ<EFBFBD>̬<EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD> */
#define configSUPPORT_DYNAMIC_ALLOCATION 1 #define configSUPPORT_DYNAMIC_ALLOCATION 1
/* ֧<>־<EFBFBD>̬<EFBFBD>ڴ<EFBFBD> */ /* ֧<>־<EFBFBD>̬<EFBFBD>ڴ<EFBFBD> */
#define configSUPPORT_STATIC_ALLOCATION 0 #define configSUPPORT_STATIC_ALLOCATION 0
@@ -82,8 +82,6 @@
/* FreeRTOS<4F><53><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4>ռ<EFBFBD><D5BC>йص<D0B9><D8B5><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1> */ /* FreeRTOS<4F><53><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4>ռ<EFBFBD><D5BC>йص<D0B9><D8B5><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1> */
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>ͳ<EFBFBD>ƹ<EFBFBD><C6B9><EFBFBD> */ /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>ͳ<EFBFBD>ƹ<EFBFBD><C6B9><EFBFBD> */
#define configGENERATE_RUN_TIME_STATS 0 #define configGENERATE_RUN_TIME_STATS 0
#define configUSE_STATS_FORMATTING_FUNCTIONS 0
#define configRECORD_STACK_HIGH_ADDRESS 0
/* Co-routine definitions. */ /* Co-routine definitions. */
/* <20><><EFBFBD><EFBFBD>Э<EFBFBD>̣<EFBFBD><CCA3><EFBFBD><EFBFBD><EFBFBD>Э<EFBFBD><D0AD><EFBFBD>Ժ<EFBFBD><D4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>croutine.c */ /* <20><><EFBFBD><EFBFBD>Э<EFBFBD>̣<EFBFBD><CCA3><EFBFBD><EFBFBD><EFBFBD>Э<EFBFBD><D0AD><EFBFBD>Ժ<EFBFBD><D4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>croutine.c */
@@ -118,7 +116,7 @@
* 4.һ<><D2BB>ǿ<EFBFBD><C7BF><EFBFBD>޶<EFBFBD><DEB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD>ĿΪ32 * 4.һ<><D2BB>ǿ<EFBFBD><C7BF><EFBFBD>޶<EFBFBD><DEB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD>ĿΪ32
* һ<><D2BB><EFBFBD><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EEA3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>õģ<C3B5>MCUû<55><C3BB><EFBFBD><EFBFBD>ЩӲ<D0A9><D3B2>ָ<EFBFBD><D6B8><EFBFBD>Ļ<EFBFBD><C4BB>˺<EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ0 ! * һ<><D2BB><EFBFBD><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EEA3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>õģ<C3B5>MCUû<55><C3BB><EFBFBD><EFBFBD>ЩӲ<D0A9><D3B2>ָ<EFBFBD><D6B8><EFBFBD>Ļ<EFBFBD><C4BB>˺<EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ0 !
*/ */
#define configUSE_PORT_OPTIMISED_TASK SELECTION 1 #define configUSE_PORT_OPTIMISED_TASK_SELECTION 1
/* /*
* configUSE_TICKLESS_IDLE * configUSE_TICKLESS_IDLE
@@ -160,7 +158,6 @@ to exclude the API function. */
#else #else
#define configPRIO_BITS 4 #define configPRIO_BITS 4
#endif #endif
/* <20>ж<EFBFBD><D0B6><EFBFBD><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>5-15<31><35>FreeRTOS<4F><53><EFBFBD>Թ<EFBFBD><D4B9><EFBFBD><EFBFBD>ģ<EFBFBD>0-4<><34>FreeRTOS<4F><53><EFBFBD><EFBFBD><EFBFBD>Թ<EFBFBD><D4B9><EFBFBD><EFBFBD>ġ<EFBFBD> */
/* <20>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD> */ /* <20>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD> */
#define configLIBRARY_LOWEST_INTERRUPT_PRIORITY 15 #define configLIBRARY_LOWEST_INTERRUPT_PRIORITY 15
/* ϵͳ<CFB5>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD>ȼ<EFBFBD> */ /* ϵͳ<CFB5>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD>ȼ<EFBFBD> */

File diff suppressed because one or more lines are too long

View File

@@ -1,6 +1,6 @@
#include "App_MQTT.h" #include "App_MQTT.h"
bool bMqttNormalSubscribe(char *pcTopic, char *pcMessage) bool bMqttDefaultSubscribe(char *pcTopic, char *pcMessage)
{ {
char cCmd[256] = {0}; char cCmd[256] = {0};
snprintf(cCmd, sizeof(cCmd), "AT+MQTT_SUBSCRIBE=\"%s\",\"%s\"", pcTopic, pcMessage); snprintf(cCmd, sizeof(cCmd), "AT+MQTT_SUBSCRIBE=\"%s\",\"%s\"", pcTopic, pcMessage);

View File

@@ -14,7 +14,7 @@ typedef enum
}eMqttMode_t; }eMqttMode_t;
bool bMqttSubMsgFormat(eMqttMode_t ucMode, char *pcReceivedMsg, char *pcTopic, char *pcMessage); bool bMqttSubMsgFormat(eMqttMode_t ucMode, char *pcReceivedMsg, char *pcTopic, char *pcMessage);
bool bMqttNormalSubscribe(char *pcTopic, char *pcMessage); bool bMqttDefaultSubscribe(char *pcTopic, char *pcMessage);
bool bMqttNormalPublish(char *pcTopic, char *pcMessage); bool bMqttNormalPublish(char *pcTopic, char *pcMessage);
#endif /* __APP_MQTT_H__ */ #endif /* __APP_MQTT_H__ */

View File

@@ -60,7 +60,6 @@ bool bEsp8266Command ( char * pcCmd, char * pcAck1, char * pcAck2, uint32_t ulWa
return true; return true;
vDelayMs( ulWaittime ); //<2F><>ʱ vDelayMs( ulWaittime ); //<2F><>ʱ
xSerialFrameRecord .cSerialReceivedBuffer [ xSerialFrameRecord .Bits_t .usFrameLength ] = '\0'; xSerialFrameRecord .cSerialReceivedBuffer [ xSerialFrameRecord .Bits_t .usFrameLength ] = '\0';
// macPC_Usart ( "%s", xSerialFrameRecord .cSerialReceivedBuffer );
if ( ( pcAck1 != 0 ) && ( pcAck2 != 0 ) ) if ( ( pcAck1 != 0 ) && ( pcAck2 != 0 ) )
return ( ( bool ) strstr ( xSerialFrameRecord .cSerialReceivedBuffer, pcAck1 ) || return ( ( bool ) strstr ( xSerialFrameRecord .cSerialReceivedBuffer, pcAck1 ) ||
( bool ) strstr ( xSerialFrameRecord .cSerialReceivedBuffer, pcAck2 ) ); ( bool ) strstr ( xSerialFrameRecord .cSerialReceivedBuffer, pcAck2 ) );

View File

@@ -50,29 +50,42 @@ typedef enum{
#define macESP8266_CH_PD_CLK RCC_APB2Periph_GPIOA #define macESP8266_CH_PD_CLK RCC_APB2Periph_GPIOA
#define macESP8266_CH_PD_PORT GPIOA #define macESP8266_CH_PD_PORT GPIOA
#define macESP8266_CH_PD_PIN GPIO_Pin_5 #define macESP8266_CH_PD_PIN GPIO_Pin_5
#define macESP8266_RST_CLK RCC_APB2Periph_GPIOA #define macESP8266_RST_CLK RCC_APB2Periph_GPIOA
#define macESP8266_RST_PORT GPIOA #define macESP8266_RST_PORT GPIOA
#define macESP8266_RST_PIN GPIO_Pin_6 #define macESP8266_RST_PIN GPIO_Pin_6
#define macESP8266_USART_BAUD_RATE 115200
#define macESP8266_USART USART2
#define macESP8266_USART_CLK RCC_APB1Periph_USART2
#define macESP8266_USART_GPIO_CLK RCC_APB2Periph_GPIOA
#define macESP8266_USART_TX_PORT GPIOA
#define macESP8266_USART_TX_PIN GPIO_Pin_2
#define macESP8266_USART_RX_PORT GPIOA
#define macESP8266_USART_RX_PIN GPIO_Pin_3
/* ESP8266 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAB6A8> */ /* ESP8266 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAB6A8> */
// #define vEsp8266Printf(*format, ...) vUsartPrintf(macESP8266_USART, *format, ...) // #define vEsp8266Printf(*format, ...) vUsartPrintf(macESP8266_USART, *format, ...)
#define macESP8266_CH_ENABLE() GPIO_SetBits ( macESP8266_CH_PD_PORT, macESP8266_CH_PD_PIN ) #define macESP8266_CH_ENABLE() GPIO_SetBits ( macESP8266_CH_PD_PORT, macESP8266_CH_PD_PIN )
#define macESP8266_CH_DISABLE() GPIO_ResetBits ( macESP8266_CH_PD_PORT, macESP8266_CH_PD_PIN ) #define macESP8266_CH_DISABLE() GPIO_ResetBits ( macESP8266_CH_PD_PORT, macESP8266_CH_PD_PIN )
#define macESP8266_RST_HIGH_LEVEL() GPIO_SetBits ( macESP8266_RST_PORT, macESP8266_RST_PIN ) #define macESP8266_RST_HIGH_LEVEL() GPIO_SetBits ( macESP8266_RST_PORT, macESP8266_RST_PIN )
#define macESP8266_RST_LOW_LEVEL() GPIO_ResetBits ( macESP8266_RST_PORT, macESP8266_RST_PIN ) #define macESP8266_RST_LOW_LEVEL() GPIO_ResetBits ( macESP8266_RST_PORT, macESP8266_RST_PIN )
/* <20>û<EFBFBD><C3BB><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>õIJ<C3B5><C4B2><EFBFBD> */
#define ESP8266_APSSID "CMCC-5bjx" // Ҫ<><D2AA><EFBFBD>ӵ<EFBFBD><D3B5>ȵ<EFBFBD><C8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// #define ESP8266_APSSID "TESTAP"
#define ESP8266_APPWD "jp7qpqn3" // Ҫ<><D2AA><EFBFBD>ӵ<EFBFBD><D3B5>ȵ<EFBFBD><C8B5><EFBFBD><EFBFBD><EFBFBD>Կ
#define ALIYUN 0
#define EMQX 1
#define ESP8266_MQTT_SERVER_MODE ALIYUN // ѡ<><D1A1>MQTT<54><54><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ<C4A3><CABD>ALIYUN/EMQX
#define ESP8266_EMQX_MQTT_SERVER_IP "121.36.104.9" // MQTT<54><54><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IP<49><50>ַ
#define ESP8266_EMQX_MQTT_SERVER_PORT 1883 // MQTT<54><54><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˿ں<CBBF>
#define ESP8266_EMQX_MQTT_CLIENTID "LoRaEnvAssistant&stm32" // MQTT<54>ͻ<EFBFBD><CDBB><EFBFBD>ID
#define ESP8266_EMQX_MQTT_USERNAME "stm32" // MQTT<54>û<EFBFBD><C3BB><EFBFBD>
#define ESP8266_EMQX_MQTT_PASSWORD "123456789" // MQTT<54><54><EFBFBD><EFBFBD>
#define ESP8266_EMQX_MQTT_SUBSCRIBE_TOPIC "/LoRaEnvAssistant/LoRaEnvAssistant&mqttfx/topics" // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define ESP8266_EMQX_MQTT_PUBLISH_TOPIC "/LoRaEnvAssistant/LoRaEnvAssistant&stm32/topics" // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define ESP8266_ALIYUN_MQTT_IP "iot-06z00by9al78fmz.mqtt.iothub.aliyuncs.com"
#define ESP8266_ALIYUN_MQTT_PORT 1883
#define ESP8266_ALIYUN_MQTT_CLIENTID "k11ilqnf8mF.GATEWAY_STM32_ESP8266|securemode=2\\,signmethod=hmacsha256\\,timestamp=1768415322303|"
#define ESP8266_ALIYUN_MQTT_USERNAME "GATEWAY_STM32_ESP8266&k11ilqnf8mF"
#define ESP8266_ALIYUN_MQTT_PASSWORD "a74261b04d7dda672342776b88e956f26f74f4d9d104461f8b65cbf544ab9c03"
#define ESP8266_ALIYUN_MQTT_SUBSCRIBE_TOPIC "/k11ilqnf8mF/GATEWAY_STM32_ESP8266/user/get"
#define ESP8266_ALIYUN_MQTT_PUBLISH_TOPIC "/k11ilqnf8mF/GATEWAY_STM32_ESP8266/user/update"
/* ESP8266 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */ /* ESP8266 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
void vEsp8266GpioConfig ( void ); void vEsp8266GpioConfig ( void );
void vEsp8266Rst ( void ); void vEsp8266Rst ( void );
@@ -97,31 +110,6 @@ bool bEsp8266SendString ( FunctionalState xE
uint32_t ulStrLength, eIdNo_t xId ); uint32_t ulStrLength, eIdNo_t xId );
char * pcEsp8266ReceiveString ( FunctionalState xEnumEnUnvarnishTx ); char * pcEsp8266ReceiveString ( FunctionalState xEnumEnUnvarnishTx );
/* <20>û<EFBFBD><C3BB><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>õIJ<C3B5><C4B2><EFBFBD> */
// #define ESP8266_APSSID "CMCC-5bjx" // Ҫ<><D2AA><EFBFBD>ӵ<EFBFBD><D3B5>ȵ<EFBFBD><C8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define ESP8266_APSSID "TESTAP"
#define ESP8266_APPWD "jp7qpqn3" // Ҫ<><D2AA><EFBFBD>ӵ<EFBFBD><D3B5>ȵ<EFBFBD><C8B5><EFBFBD><EFBFBD><EFBFBD>Կ
#define ALIYUN 0
#define EMQX 1
#define ESP8266_MQTT_SERVER_MODE ALIYUN // ѡ<><D1A1>MQTT<54><54><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ<C4A3><CABD>ALIYUN/EMQX
#define ESP8266_EMQX_MQTT_SERVER_IP "121.36.104.9" // MQTT<54><54><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IP<49><50>ַ
#define ESP8266_EMQX_MQTT_SERVER_PORT 1883 // MQTT<54><54><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˿ں<CBBF>
#define ESP8266_EMQX_MQTT_CLIENTID "LoRaEnvAssistant&stm32" // MQTT<54>ͻ<EFBFBD><CDBB><EFBFBD>ID
#define ESP8266_EMQX_MQTT_USERNAME "stm32" // MQTT<54>û<EFBFBD><C3BB><EFBFBD>
#define ESP8266_EMQX_MQTT_PASSWORD "123456789" // MQTT<54><54><EFBFBD><EFBFBD>
#define ESP8266_EMQX_MQTT_SUBSCRIBE_TOPIC "/LoRaEnvAssistant/LoRaEnvAssistant&mqttfx/topics" // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define ESP8266_EMQX_MQTT_PUBLISH_TOPIC "/LoRaEnvAssistant/LoRaEnvAssistant&stm32/topics" // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define ESP8266_ALIYUN_MQTT_IP "iot-06z00by9al78fmz.mqtt.iothub.aliyuncs.com"
#define ESP8266_ALIYUN_MQTT_PORT 1883
#define ESP8266_ALIYUN_MQTT_CLIENTID "k11ilqnf8mF.GATEWAY_STM32_ESP8266|securemode=2\\,signmethod=hmacsha256\\,timestamp=1768415322303|"
#define ESP8266_ALIYUN_MQTT_USERNAME "GATEWAY_STM32_ESP8266&k11ilqnf8mF"
#define ESP8266_ALIYUN_MQTT_PASSWORD "a74261b04d7dda672342776b88e956f26f74f4d9d104461f8b65cbf544ab9c03"
#define ESP8266_ALIYUN_MQTT_SUBSCRIBE_TOPIC "/k11ilqnf8mF/GATEWAY_STM32_ESP8266/user/get"
#define ESP8266_ALIYUN_MQTT_PUBLISH_TOPIC "/k11ilqnf8mF/GATEWAY_STM32_ESP8266/user/update"
/* <20>ⲿȫ<E2B2BF>ֱ<EFBFBD><D6B1><EFBFBD> */ /* <20>ⲿȫ<E2B2BF>ֱ<EFBFBD><D6B1><EFBFBD> */
#endif /* __ESP8266_H */ #endif /* __ESP8266_H */

View File

@@ -116,7 +116,7 @@
* 4.һ<><D2BB>ǿ<EFBFBD><C7BF><EFBFBD>޶<EFBFBD><DEB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD>ĿΪ32 * 4.һ<><D2BB>ǿ<EFBFBD><C7BF><EFBFBD>޶<EFBFBD><DEB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD>ĿΪ32
* һ<><D2BB><EFBFBD><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EEA3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>õģ<C3B5>MCUû<55><C3BB><EFBFBD><EFBFBD>ЩӲ<D0A9><D3B2>ָ<EFBFBD><D6B8><EFBFBD>Ļ<EFBFBD><C4BB>˺<EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ0 ! * һ<><D2BB><EFBFBD><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EEA3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>õģ<C3B5>MCUû<55><C3BB><EFBFBD><EFBFBD>ЩӲ<D0A9><D3B2>ָ<EFBFBD><D6B8><EFBFBD>Ļ<EFBFBD><C4BB>˺<EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ0 !
*/ */
#define configUSE_PORT_OPTIMISED_TASK SELECTION 1 #define configUSE_PORT_OPTIMISED_TASK_SELECTION 1
/* /*
* configUSE_TICKLESS_IDLE * configUSE_TICKLESS_IDLE

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -925,8 +925,8 @@
</Group> </Group>
<Group> <Group>
<GroupName>System</GroupName> <GroupName>BSP</GroupName>
<tvExp>1</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel> <cbSel>0</cbSel>
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>
@@ -937,7 +937,7 @@
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>.\System\Delay.c</PathWithFileName> <PathWithFileName>.\BSP\Delay.c</PathWithFileName>
<FilenameWithoutPath>Delay.c</FilenameWithoutPath> <FilenameWithoutPath>Delay.c</FilenameWithoutPath>
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
@@ -949,7 +949,7 @@
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>.\System\Delay.h</PathWithFileName> <PathWithFileName>.\BSP\Delay.h</PathWithFileName>
<FilenameWithoutPath>Delay.h</FilenameWithoutPath> <FilenameWithoutPath>Delay.h</FilenameWithoutPath>
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
@@ -961,7 +961,7 @@
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>.\System\USART.c</PathWithFileName> <PathWithFileName>.\BSP\USART.c</PathWithFileName>
<FilenameWithoutPath>USART.c</FilenameWithoutPath> <FilenameWithoutPath>USART.c</FilenameWithoutPath>
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
@@ -973,7 +973,7 @@
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>.\System\USART.h</PathWithFileName> <PathWithFileName>.\BSP\USART.h</PathWithFileName>
<FilenameWithoutPath>USART.h</FilenameWithoutPath> <FilenameWithoutPath>USART.h</FilenameWithoutPath>
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
@@ -982,7 +982,7 @@
<Group> <Group>
<GroupName>Drivers</GroupName> <GroupName>Drivers</GroupName>
<tvExp>1</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel> <cbSel>0</cbSel>
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>

View File

@@ -341,7 +341,7 @@
<MiscControls>--no-multibyte-chars</MiscControls> <MiscControls>--no-multibyte-chars</MiscControls>
<Define>USE_STDPERIPH_DRIVER</Define> <Define>USE_STDPERIPH_DRIVER</Define>
<Undefine></Undefine> <Undefine></Undefine>
<IncludePath>.\SystemFiles;.\Libraries\inc;.\User;.\System;.\Drivers;.\FreeRTOS\inc;.\FreeRTOS\portable\RVDS\ARM_CM3;.\FreeRTOS\config;.\Application\NetFIFO</IncludePath> <IncludePath>.\SystemFiles;.\Libraries\inc;.\User;.\BSP;.\Drivers;.\FreeRTOS\inc;.\FreeRTOS\portable\RVDS\ARM_CM3;.\FreeRTOS\config;.\Application\NetFIFO</IncludePath>
</VariousControls> </VariousControls>
</Cads> </Cads>
<Aads> <Aads>
@@ -678,27 +678,27 @@
</Files> </Files>
</Group> </Group>
<Group> <Group>
<GroupName>System</GroupName> <GroupName>BSP</GroupName>
<Files> <Files>
<File> <File>
<FileName>Delay.c</FileName> <FileName>Delay.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>.\System\Delay.c</FilePath> <FilePath>.\BSP\Delay.c</FilePath>
</File> </File>
<File> <File>
<FileName>Delay.h</FileName> <FileName>Delay.h</FileName>
<FileType>5</FileType> <FileType>5</FileType>
<FilePath>.\System\Delay.h</FilePath> <FilePath>.\BSP\Delay.h</FilePath>
</File> </File>
<File> <File>
<FileName>USART.c</FileName> <FileName>USART.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>.\System\USART.c</FilePath> <FilePath>.\BSP\USART.c</FilePath>
</File> </File>
<File> <File>
<FileName>USART.h</FileName> <FileName>USART.h</FileName>
<FileType>5</FileType> <FileType>5</FileType>
<FilePath>.\System\USART.h</FilePath> <FilePath>.\BSP\USART.h</FilePath>
</File> </File>
</Files> </Files>
</Group> </Group>

View File

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

View File

@@ -19,3 +19,8 @@ ulTaskNotifyTake(pdTRUE, portMAX_DELAY);
**3<><33>** **3<><33>**
<EFBFBD>޸IJ<EFBFBD><EFBFBD>ֺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֿ⡣ <EFBFBD>޸IJ<EFBFBD><EFBFBD>ֺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֿ⡣
### 2026.1.17<EFBFBD><EFBFBD>
**1<><31>**
֧<EFBFBD><EFBFBD><EFBFBD><EFBFBD>json<EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD>mqtt<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݡ<EFBFBD>