ESP32 WiFi 死亡 2つ目

 今回 WiFi 機能を失った3号機(1号機に次いで2つ目)


http://dl.ftrans.etr.jp/?0b40f7005e114f11bff7f9f236d7c6ef1d51eea3.jpg


 1号機が WiFi.h を include した途端に CPU Halted になるのに対して、本3号機は少し挙動が違います。

void setup() {
  // put your setup code here, to run once: 
  Serial.begin(115200, SERIAL_8N1);

  Serial.print("WiFi connecting to ");
  Serial.print(ssid);
  WiFi.mode(WIFI_STA); 
  WiFi.begin(ssid, pass);
  
  while (1) {
    int status = WiFi.status();
    Serial.println((String)status);
    if(status == WL_CONNECTED) break;
    delay(100);
  }

  Serial.println("");
  Serial.print("WiFi connected");
  Serial.print(" IP:");
  Serial.println(WiFi.localIP());
}

 こんな風で WiFi.status() の値を出力させておくと、6(WL_DISCONNECTED)が連打されたのちに停止。
 恐らくは内部的に 3(WL_CONNECTED)に変化した瞬間だと思うんですね、フリーズするのは。
→ただし「3」は出力されず「6」のままフリーズ


 この3号機は撮影用に組み立てたうえで、Deep Sleep(Hibernation mode)の消費電流を測定するために、ほんの軽ーく使っただけなんで、1号機ほどヘビーなことやってないのに。


 使用開始した3つのうち既に2つ死亡というのは、いったいどういうことだい。


 ちなみに全く同じスケッチを2号機に焼くと全く問題なく動作するので、2/23 に降ってきた最新版 arduino-esp32 の不具合でもなさそう。

  • なにをすると壊れるのか分からない
  • どうすると治るのかも分からない
  • 壊れるときは決まって WiFi 周り
  • ハード的に壊れるんじゃなくてソフト的な不整合が原因な気がする


 完全に工場出荷時に戻すツールを提供してくれ


 壊れた3号機はブレークアウトボードに直貼りしてしまいましたが、原因と対策が確立するまでは脱着可能なピンヘッダバージョンにしておこうと強く心に誓うのでした。
(ブレークアウトボードが足りなくなるため)