20260324
This commit is contained in:
189
IAPV1.1/Driver/esp8266/tcp.c
Normal file
189
IAPV1.1/Driver/esp8266/tcp.c
Normal file
@ -0,0 +1,189 @@
|
||||
#include "tcp.h"
|
||||
#include "esp8266.h"
|
||||
//volatile u8 TcpClosedFlag = 0;
|
||||
/*
|
||||
void ESP8266_STA_TCPClient_Test(void)
|
||||
{
|
||||
u8 res;
|
||||
|
||||
char str[100]={0};
|
||||
ESP8266_AT_Test();
|
||||
|
||||
ESP8266_Net_Mode_Choose(STA);
|
||||
while(!ESP8266_JoinAP(User_ESP8266_SSID, User_ESP8266_PWD));
|
||||
ESP8266_Enable_MultipleId ( DISABLE );
|
||||
while(!ESP8266_Link_Server(enumTCP, User_ESP8266_TCPServer_IP, User_ESP8266_TCPServer_PORT));
|
||||
while(!ESP8266_UnvarnishSend());
|
||||
|
||||
while ( 1 )
|
||||
{
|
||||
sprintf (str,"<22><><EFBFBD><EFBFBD><EFBFBD>а<EFBFBD><D0B0>ſɿƼ<C9BF><C6BC><EFBFBD><EFBFBD><EFBFBD>˾" );//<2F><>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>TCP<43><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//ESP8266_SendString ( ENABLE, str, 0, Single_ID_0 );
|
||||
UART_PutStr(USART1,str);
|
||||
delay_ms(1000);
|
||||
if(TcpClosedFlag) //<2F>ж<EFBFBD><D0B6>Ƿ<EFBFBD>ʧȥ<CAA7><C8A5><EFBFBD><EFBFBD>
|
||||
{
|
||||
ESP8266_ExitUnvarnishSend(); //<2F>˳<EFBFBD><EFBFBD><CDB8>ģʽ
|
||||
do
|
||||
{
|
||||
res = ESP8266_Get_LinkStatus(); //<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>״̬
|
||||
}
|
||||
while(!res);
|
||||
|
||||
if(res != 3) //if(res == 4) ȷ<><C8B7>ʧȥ<CAA7><C8A5><EFBFBD>ӣ<EFBFBD><D3A3><EFBFBD><EFBFBD><EFBFBD>
|
||||
{
|
||||
|
||||
|
||||
while (!ESP8266_JoinAP(User_ESP8266_SSID, User_ESP8266_PWD ) );
|
||||
while (!ESP8266_Link_Server(enumTCP, User_ESP8266_TCPServer_IP, User_ESP8266_TCPServer_PORT) );
|
||||
}
|
||||
while(!ESP8266_UnvarnishSend());
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
//void ESP8266_SendStr(char *str)
|
||||
//{
|
||||
// u8 res=0;
|
||||
// do
|
||||
// {
|
||||
// res = ESP8266_Get_LinkStatus(); //<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>״̬
|
||||
// } while(!res);
|
||||
// if(res != 3) //if(res == 4) ȷ<><C8B7>ʧȥ<CAA7><C8A5><EFBFBD>ӣ<EFBFBD><D3A3><EFBFBD><EFBFBD><EFBFBD>
|
||||
// {
|
||||
//
|
||||
// ESP8266_Net_Mode_Choose(STA);
|
||||
// while (!ESP8266_JoinAP(User_ESP8266_SSID, User_ESP8266_PWD ) );
|
||||
// while (!ESP8266_Link_Server(enumTCP, User_ESP8266_TCPServer_IP, User_ESP8266_TCPServer_PORT) );
|
||||
// }
|
||||
// while(!ESP8266_UnvarnishSend());
|
||||
// UART_PutStr(USART1,str);
|
||||
//
|
||||
//}
|
||||
|
||||
|
||||
void ESP8266_AP_TCPServer_Config(char *ssid,char *pwd,char *port)
|
||||
{
|
||||
u8 i=0;
|
||||
// ESP8266_Send_AT_Cmd("AT+RESTORE","ready",NULL,500);
|
||||
PWR_CTRLTFWF_L;
|
||||
// PWR_CTRL3V3_L;
|
||||
delay_ms(1000);
|
||||
PWR_CTRLTFWF_H;
|
||||
// PWR_CTRL3V3_H;
|
||||
delay_ms(1000);
|
||||
ESP8266_AT_Test();//<2F>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
while((!ESP8266_Send_AT_Cmd("ATE0","OK",NULL,500))&(i<100))
|
||||
{
|
||||
i++;
|
||||
|
||||
}
|
||||
i=0;
|
||||
while((!ESP8266_CWSAP_Set ( ssid, pwd,5, 3 ))&(i<100))
|
||||
{
|
||||
i++;
|
||||
|
||||
}
|
||||
i=0;
|
||||
while((!ESP8266_Net_Mode_Choose(AP))&(i<100))
|
||||
{
|
||||
i++;
|
||||
|
||||
}
|
||||
i=0;
|
||||
while((!ESP8266_Enable_MultipleId ( ENABLE ))&(i<10))
|
||||
{
|
||||
i++;
|
||||
|
||||
}
|
||||
i=0;
|
||||
while((!ESP8266_Server_Create( port,ENABLE ))&(i<100))
|
||||
{
|
||||
i++;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
/*void Parse_ESP8266_Buffer(void)
|
||||
{
|
||||
char *subString;
|
||||
char *subStringNext;
|
||||
char i = 0;
|
||||
clear_Init_Data_Equipment();
|
||||
for (i = 0 ; i <= 9 ; i++)
|
||||
{
|
||||
if (i == 0)
|
||||
{
|
||||
subString = strstr(ESP8266_Fram_Record_Struct.Data_RX_BUF, "CMD");
|
||||
subString++;
|
||||
subString++;
|
||||
subString++;//<2F>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD><EFBFBD>ַ
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
subString++;
|
||||
if ((subStringNext = strstr(subString, ",")) != NULL)
|
||||
{
|
||||
|
||||
switch(i)
|
||||
{
|
||||
case 1:memcpy(Init_Data_Equipment.Bc25_Ip, subString, subStringNext - subString);break; //<2F><>ȡUTCʱ<43><CAB1>
|
||||
case 2:memcpy(Init_Data_Equipment.Bc25_Port, subString, subStringNext - subString);break; //<2F><>ȡUTCʱ<43><CAB1>
|
||||
case 3:memcpy(Init_Data_Equipment.ESP8266_AP_Ports, subString, subStringNext - subString);break; //<2F><>ȡγ<C8A1><CEB3><EFBFBD><EFBFBD>Ϣ
|
||||
case 4:memcpy(Init_Data_Equipment.ESP8266_AP_SSIDs, subString, subStringNext - subString);break; //<2F><>ȡN/S
|
||||
case 5:memcpy(Init_Data_Equipment.ESP8266_AP_PWDs, subString, subStringNext - subString);break; //<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
||||
case 6:memcpy(Init_Data_Equipment.Measure_Interval, subString, subStringNext - subString);break; //<2F><>ȡE/W
|
||||
case 7:memcpy(Init_Data_Equipment.Pub_Mode, subString, subStringNext - subString);break; //<2F><>ȡE/W
|
||||
case 8:memcpy(Init_Data_Equipment.Pub_Time, subString, subStringNext - subString);break; //<2F><>ȡE/W
|
||||
case 9:memcpy(Init_Data_Equipment.Equipment_ID, subString, subStringNext - subString);break; //<2F><>ȡE/W
|
||||
|
||||
default:break;
|
||||
}
|
||||
|
||||
subString = subStringNext;
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Usart4_ReceiveBuff_Clear();
|
||||
}
|
||||
*/
|
||||
|
||||
void WIFI_Process(void)
|
||||
{
|
||||
u8 times=0;
|
||||
ESP8266_Init(115200);
|
||||
ESP8266_AP_TCPServer_Config(Init_Data_Equipment.ESP8266_AP_SSIDs,
|
||||
Init_Data_Equipment.ESP8266_AP_PWDs,
|
||||
Init_Data_Equipment.ESP8266_AP_Ports);
|
||||
while(times<60) //60S<30>ȴ<EFBFBD><C8B4>ⲿ<EFBFBD><E2B2BF><EFBFBD><EFBFBD>WIFI
|
||||
{
|
||||
times++;
|
||||
osDelay(1000);
|
||||
if(ESP8266_Get_LinkStatus()==2)times=61;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user