mimikakimemo

自分用メモ。

ESP8266 を WiFi につなげる

超特急Web接続! ESPマイコン・プログラム全集』を読んで、製作のための部品を手配中。その間に、WiFi 接続を試したい。現状だとまだ電源が必要なので、ワイヤレスにはならないが…。

WiFi を使うための機能は最初にインストールした ESP8266 Arduino Core に入っているので、追加でインストールする必要はない。公式サイトに WiFi クライアントを使うための quick start があったので、それを参考にした。

#include <ESP8266WiFi.h>

const char *ssid = "my-ssid";
const char *password = "my-password";

WiFiClient client;

void setup()
{
  Serial.begin(115200);

  // WiFi に接続する
  WiFi.begin(ssid, password);

  // 接続完了まで待つ
  Serial.print("Connecting");
  while (WiFi.status() != WL_CONNECTED)
  {
    delay(500);
    Serial.print(".");
  }
  Serial.println();

  Serial.print("Connected, IP address: ");
  Serial.println(WiFi.localIP());

  // WiFi の状態をシリアルモニターに表示
  WiFi.printDiag(Serial);
}

実行結果。ルータの DHCP から IP アドレスが割り当てられている。

f:id:mimikakimemo:20210124154015p:plain

Arduino のスケッチ(.ino ファイル)に自分の SSID とパスワードを書いてしまうと、Git/GitHub での管理が面倒そうなので、本当は環境変数で外から設定できるようにしたい。が、Arduino IDE からではできないっぽい…?

PlatformIO を使えば簡単なのかな? あとで試してみる。

You can inject system environment variable using sysenv as a section. For example, ${sysenv.HOME}.