ESP-WROOM-02 で Wi-Fi 接続

マイコンで Wi-Fi 接続なんて、ローレベル API 叩きまくりですごく煩雑なのではないか?という先入観があったのですが、あっさりできてしまいました。

IEEE 802.11 b/g/n(72.2Mbps) WEP, WPA-PSK(TKIP), WPA-PSK(AES), WPA2-PSK(TKIP), WPA2-PSK(AES) に対応しています。

WPA2-Enterprise (EAP-TLS のみ) は ESP8266 core for Arduino 2.1.0 (2016/2/28) でサポートされました。
Enable WPA2-Enterprise by joostd · Pull Request #1633 · esp8266/Arduino · GitHub
WPA2 -EAP-TLS.ino · GitHub

Wi-Fi のアクセスポイントに接続するには、 ESP8266WiFi ライブラリ か ESP8266WiFiMulti ライブラリ を使います。

ESP8266WiFiMulti ライブラリを使うと複数のアクセスポイントを使えるので、こちらを使ってみます。

#include <ESP8266WiFiMulti.h>

ESP8266WiFiMulti wifiMulti;

void setup() {
  Serial.begin(115200); // シリアルモニタ用
  delay(10);            // おまじない。シリアルモニタを確実に開始するための待ち時間な模様...

  Serial.print("Connecting to Wi-Fi");
  wifiMulti.addAP("SSID_1_IS_HERE", "password1-is-here");
  wifiMulti.addAP("SSID_2_IS_HERE", "password2-is-here");
  wifiMulti.addAP("SSID_3_IS_HERE", "password3-is-here");
  // addAP で好きなだけアクセスポイント追加、使えるアクセスポイントに繋がる

  // Wi-Fi 繋がるまで待つ
  while (wifiMulti.run() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }

  Serial.println("");
  Serial.println("Wi-Fi connected!!!");  
}

addAP と run だけ、ほんの数行でインターネットに繋がります。

Arduino IDE 1.6.7
ESP8266 core for Arduino 2.1.0