20260107:实现简单的MQTT协议。
This commit is contained in:
@@ -17,12 +17,12 @@ typedef enum{
|
||||
STA,
|
||||
AP,
|
||||
STA_AP
|
||||
} ENUM_Net_ModeTypeDef;
|
||||
} eNetMode_t;
|
||||
|
||||
typedef enum{
|
||||
enumTCP,
|
||||
enumUDP,
|
||||
} ENUM_NetPro_TypeDef;
|
||||
} eNetPro_t;
|
||||
|
||||
typedef enum{
|
||||
Multiple_ID_0 = 0,
|
||||
@@ -31,7 +31,7 @@ typedef enum{
|
||||
Multiple_ID_3,
|
||||
Multiple_ID_4,
|
||||
Single_ID_0,
|
||||
} ENUM_ID_NO_TypeDef;
|
||||
} eIdNo_t;
|
||||
|
||||
typedef enum{
|
||||
OPEN = 0,
|
||||
@@ -39,24 +39,7 @@ typedef enum{
|
||||
WPA_PSK,
|
||||
WPA2_PSK,
|
||||
WPA_WPA2_PSK,
|
||||
} ENUM_AP_PsdMode_TypeDef;
|
||||
|
||||
/* ESP8266 <20>ⲿȫ<E2B2BF>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||
#define RX_BUF_MAX_LEN 1024 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ջ<EFBFBD><D5BB><EFBFBD><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>
|
||||
|
||||
extern struct STRUCT_USARTx_Fram // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֡<EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD>ṹ<EFBFBD><E1B9B9>
|
||||
{
|
||||
char Data_RX_BUF [ RX_BUF_MAX_LEN ];
|
||||
union {
|
||||
__IO uint16_t InfAll;
|
||||
struct {
|
||||
__IO uint16_t FramLength :15; // 14:0
|
||||
__IO uint16_t FramFinishFlag :1; // 15
|
||||
} InfBit;
|
||||
};
|
||||
} strEsp8266_Fram_Record;
|
||||
|
||||
extern volatile uint8_t ucTcpClosedFlag;
|
||||
} eApPsdMode_t;
|
||||
|
||||
/* ESP8266 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŷ<EFBFBD><C5B6><EFBFBD> */
|
||||
#define macESP8266_CH_PD_CLK RCC_APB2Periph_GPIOA
|
||||
@@ -89,25 +72,31 @@ extern volatile uint8_t ucTcpClosedFlag;
|
||||
static void vEsp8266GpioConfig ( void );
|
||||
void vEsp8266Init ( void );
|
||||
void vEsp8266Rst ( void );
|
||||
bool bEsp8266Command ( char * cCmd, char * cReply1, char * cReply2, uint32_t ulWaittime );
|
||||
bool bEsp8266Command ( char * pcCmd, char * pcAck1, char * pcAck2, uint32_t ulWaittime );
|
||||
void vEsp8266AtTest ( void );
|
||||
bool bEsp8266NetModeChoose ( ENUM_Net_ModeTypeDef enumMode );
|
||||
bool bEsp8266JoinAp ( char * pSSID, char * pPassWord );
|
||||
bool bEsp8266BuildAp ( char * pSSID, char * pPassWord, ENUM_AP_PsdMode_TypeDef enunPsdMode );
|
||||
bool bEsp8266EnableMultipleId ( FunctionalState enumEnUnvarnishTx );
|
||||
bool bEsp8266LinkServer ( ENUM_NetPro_TypeDef enumE, char * ip, char * ComNum, ENUM_ID_NO_TypeDef id);
|
||||
bool bEsp8266StartOrShutServer ( FunctionalState enumMode, char * pPortNum, char * pTimeOver );
|
||||
bool bEsp8266NetModeChoose ( eNetMode_t xMode );
|
||||
bool bEsp8266JoinAp ( char * pcSsid, char * pcPassWord );
|
||||
bool bEsp8266MqttInit ( char * pcMqttUser, char * pcMqttPwd, char * pcMqttCliId, char * pcMqttServerIp, char * usMqttServerPort );
|
||||
bool bEsp8266BuildAp ( char * pcSsid, char * pcPassWord, eApPsdMode_t xPsdMode );
|
||||
bool bEsp8266EnableMultipleId ( FunctionalState xEnumEnUnvarnishTx );
|
||||
bool bEsp8266LinkServer ( eNetPro_t enumE, char * pcIp, char * pcComNum, eIdNo_t xId);
|
||||
bool bEsp8266StartOrShutServer ( FunctionalState xMode, char * pcPortNum, char * pcTimeOver );
|
||||
uint8_t ucEsp8266GetLinkStatus ( void );
|
||||
uint8_t ucEsp8266GetIdLinkStatus ( void );
|
||||
uint8_t ucEsp8266InquireApIp ( char * pApIp, uint8_t ucArrayLength );
|
||||
uint8_t ucEsp8266InquireApIp ( char * pcApIp, uint8_t ucArrayLength );
|
||||
bool bEsp8266UnvarnishSend ( void );
|
||||
void vEsp8266ExitUnvarnishSend ( void );
|
||||
bool bEsp8266SendString ( FunctionalState enumEnUnvarnishTx, char * pStr, uint32_t ulStrLength, ENUM_ID_NO_TypeDef ucId );
|
||||
char * pcEsp8266ReceiveString ( FunctionalState enumEnUnvarnishTx );
|
||||
bool bEsp8266SendString ( FunctionalState xEnumEnUnvarnishTx, char * pcStr, uint32_t ulStrLength, eIdNo_t xId );
|
||||
char * pcEsp8266ReceiveString ( FunctionalState xEnumEnUnvarnishTx );
|
||||
|
||||
/* <20>û<EFBFBD><C3BB><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>õIJ<C3B5><C4B2><EFBFBD> */
|
||||
#define ESP8266_APSSID "TESTAP666" // Ҫ<><D2AA><EFBFBD>ӵ<EFBFBD><D3B5>ȵ<EFBFBD><C8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
#define ESP8266_APSSID "TESTAP66667" // Ҫ<><D2AA><EFBFBD>ӵ<EFBFBD><D3B5>ȵ<EFBFBD><C8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
#define ESP8266_APPWD "123345567" // Ҫ<><D2AA><EFBFBD>ӵ<EFBFBD><D3B5>ȵ<EFBFBD><C8B5><EFBFBD><EFBFBD><EFBFBD>Կ
|
||||
#define ESP8266_MQTT_SERVER_IP "121.36.104.9" // MQTT<54><54><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IP<49><50>ַ
|
||||
#define ESP8266_MQTT_SERVER_PORT "1883" // MQTT<54><54><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˿ں<CBBF>
|
||||
#define ESP8266_MQTT_CLIENT_ID "TestServer&stm32" // MQTT<54>ͻ<EFBFBD><CDBB><EFBFBD>ID
|
||||
#define ESP8266_MQTT_USERNAME "stm32" // MQTT<54>û<EFBFBD><C3BB><EFBFBD>
|
||||
#define ESP8266_MQTT_PASSWORD "123456789" // MQTT<54><54><EFBFBD><EFBFBD>
|
||||
|
||||
/* <20>ⲿȫ<E2B2BF>ֱ<EFBFBD><D6B1><EFBFBD> */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user