ESP32 Arduino 개발 환경에서 WiFi 성능을 테스트 해 보자
Arduino WiFi TCP 코드를 수정해 iperf 서버 코드를 만들었다.
#include <WiFi.h>
#ifdef ESP32
#include "esp_task_wdt.h"
#define WDT_TIMEOUT 9
#endif
const char* ssid = STASSID;
const char* password = STAPSK;
int port = 5001;
WiFiServer server(port);
void setup() {
esp_task_wdt_init(WDT_TIMEOUT, 0);
Serial.begin(115200);
Serial.println("ESP32 Simple web Start");
Serial.println(ssid);
// Connect to your wi-fi modem
WiFi.begin(ssid, password);
// Check wi-fi is connected to wi-fi network
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected successfully");
Serial.print("IP: ");
Serial.println(WiFi.localIP()); //Show ESP32 IP on serial
server.begin();
delay(100);
}
void loop() {
byte buf[2048];
unsigned int len = 0;
WiFiClient client = server.available();
if (client) {
Serial.println("Here is new client for check arduino performance");
while (client.connected())
{
len = client.available();
if (len)
{
client.read(buf, 2048);
}
}
// close the connection:
client.stop();
Serial.println("client disonnected");
}
}
코드를 구동하면 iperf에서 TCP 전송률이 3Mbps 로 측정이 된다.
너무 느리다.
Arduino 환경이라 그런가? 우선 ESD-IDF 환경에서 ESP32 WiFi TCP 전송률 테스트를 해 보자.
반응형