diff --git a/.vscode/arduino.json b/.vscode/arduino.json index b641ccf..2608395 100644 --- a/.vscode/arduino.json +++ b/.vscode/arduino.json @@ -3,5 +3,5 @@ "board": "esp32:esp32:esp32", "port": "COM4", "programmer": "esp32:esptool", - "sketch": "tcp_client\\tcp_client.ino" + "sketch": "tcp_server\\tcp_server.ino" } \ No newline at end of file diff --git a/tcp_server/tcp_server.ino b/tcp_server/tcp_server.ino index 7684ccb..d2f83de 100644 --- a/tcp_server/tcp_server.ino +++ b/tcp_server/tcp_server.ino @@ -1,47 +1,72 @@ #include #include #include -#define PORT 9100 +#define PORT 9100 //端口号 void SerialRe(void); -uint8_t buffer[512]; -const char* ssid = "yourssid"; -const char* password = "12345678"; +uint8_t buffer[512]; //串口读取缓冲 +const char* ssid = "101_lei"; +const char* password = "leiyun1314"; WiFiServer server(PORT); WiFiClient client; IPAddress myIP; +void taskUartRe(void *parm); void setup() { - Serial.begin(921600); - Serial.setTimeout(1); - Serial.setRxBufferSize(512); - Serial.onReceive(SerialRe,true); - Serial.println(); - Serial.println("Configuring access point..."); + Serial.begin(921600); + Serial.setRxBufferSize(512); //设置接收缓冲 + /**WIFI热点AP模式**/ + // Serial.println("Configuring access point..."); // You can remove the password parameter if you want the AP to be open. - WiFi.softAP(ssid, password); - myIP = WiFi.softAPIP(); - Serial.println("AP IP address: "); - Serial.println(myIP); - server.begin(); + // WiFi.softAP(ssid, password); + // myIP = WiFi.softAPIP(); + // Serial.println("AP IP address: "); + // Serial.println(myIP); + /**WIFI热点AP模式**/ + WiFi.begin(ssid, password); //WIFI STA模式 + while (WiFi.status() != WL_CONNECTED) { + delay(500); + Serial.print("."); + } + /***查询ip,sta模式**/ + Serial.println(""); + Serial.println("WiFi connected"); + Serial.println("IP address: "); + Serial.println(WiFi.localIP()); + /***查询ip,sta模式**/ + + /**查询ip,ap模式**/ + // myIP = WiFi.softAPIP(); + // Serial.println("AP IP address: "); + // Serial.println(myIP); + /**查询ip,ap模式**/ + + server.begin(); //开启TCP服务端并且监听 + xTaskCreate(taskUartRe,"taskUartRe",4096,NULL,1,NULL); } void loop() { - if(!client.connected()){ - myIP = WiFi.softAPIP(); - Serial.println("AP IP address: "); - Serial.println(myIP); - client = server.available(); + if(!client.connected()){ //查询对象client是否处于连接状态 + // myIP = WiFi.softAPIP(); + // Serial.println("AP IP address: "); + // Serial.println(myIP); + Serial.println("IP address: "); + Serial.println(WiFi.localIP()); + client = server.available(); } delay(1000); } -void SerialRe(){ - while(Serial.available()>0){ - int cnt=Serial.available(); - if(cnt<=512){ - Serial.readBytes(buffer,cnt); - if(client) client.write(buffer,cnt); - }else { - Serial.readBytes(buffer,512); - if(client) client.write(buffer,512); +/////////////////////////////////////////////// +void taskUartRe(void *parm){ + Serial.println("taskUartRe create..."); + for(;;){ + while(Serial.available()>0){ + int cnt=Serial.available(); + if(cnt<=512){ + Serial.readBytes(buffer,cnt); + if(client) client.write(buffer,cnt); + }else { + Serial.readBytes(buffer,512); + if(client) client.write(buffer,512); + } } - } + } }