LoginSignup
2
2

More than 1 year has passed since last update.

ESP32とのWiFi経由通信で遅延がひどかった話(Arduino)(Telnet)

Posted at

ESP32にTelnetを実装しようとしていた時に引っかかったので記録します。

問題

ESP32上でTelnet経由で文字列を送っていた時に、文字の更新間隔にラグがあることに気づいた。

何かが遅延していると考えPingを打ってみると

ESP32 からの応答: バイト数 =32 時間 =44ms TTL=255
ESP32 からの応答: バイト数 =32 時間 =270ms TTL=255
ESP32 からの応答: バイト数 =32 時間 =87ms TTL=255
ESP32 からの応答: バイト数 =32 時間 =312ms TTL=255

やっぱり何かが遅延している

原因

ESP32 ping slowで検索

一番上のサイトに直行

サイトのコードは所々スペルミスをしているので注意

調べてみた結果

原因はESP32がWiFi省電力モードに入っているために起こる遅延だったようです

対策

原因がWiFi省電力モードのため、そいつを無効化してやればいい

詳細はespサイトで説明してくれています。

省電力モードを無効化するためには、

#include "esp_wifi.h"

void setup(){
    WiFi.mode(WIFI_MODE_STA);
    WiFi.begin(ssid, password);

    esp_wifi_set_ps(WIFI_PS_NONE);
}

みたいな感じでWiFiの設定後にesp_wifi_set_ps(WIFI_PS_NONE)を呼び出せば良いみたい。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2