ESP8266에서 여러 SSID 사용

5319 단어 ESP8266ESP-WROOM-02
ESP8266씨, 굉장히 편리합니다만, 샘플 코드를 보면 하나의 SSID를 사용하는 코드만으로, 환경에 맞추어 소스 괴롭히고 재기록하지 않으면 안되는 것 귀찮네요.

보통의 PC나 스마트폰과 같이, 복수의 액세스 포인트를 등록해 놓고, 사용할 수 있는 전파를 사용해 주었으면 한다!

그 실현 방법을 소개합니다.

#include <ESP8266WiFiMulti.h>



복수의 SSID를 이용하는 라이브러리가 존재하고, 그 샘플 코드가 하기 URL에 있습니다.

이것을 그대로 이용하면 OK네요.

좀 더 실용적으로



샘플의 소개뿐이라고 예술이 없기 때문에, 좀 더 실용적인 느낌으로 한 코드에 재작성했습니다.

MyWiFiMulti.ino
#include <ESP8266WiFi.h>
#include <ESP8266WiFiMulti.h>

ESP8266WiFiMulti wifiMulti;

wl_status_t prevWifiStatus = WL_IDLE_STATUS;   

void setup() {
  Serial.begin(74880);  // 起動時に合わせて74880bpsにする
  delay(10);

  wifiMulti.addAP("ssid_from_AP_1", "your_password_for_AP_1");
  wifiMulti.addAP("ssid_from_AP_2", "your_password_for_AP_2");
  wifiMulti.addAP("ssid_from_AP_3", "your_password_for_AP_3");

  Serial.println("");
  Serial.println("boot");

  // ここではまだ繋ぎに行かない
}

void loop() {
  wl_status_t wifiStatus = wifiMulti.run();
  if ( prevWifiStatus != wifiStatus ) {
    prevWifiStatus = wifiStatus;
    if( wifiStatus == WL_CONNECTED) {
      Serial.println("WiFi connected");
      Serial.println("SSID: ");
      Serial.println(WiFi.SSID());
      Serial.println("IP address: ");
      Serial.println(WiFi.localIP());
    }
    else {
      // ステータス毎にメッセージ変えたほうがいいかも(各自宿題)
      Serial.println("WiFi error?");
      Serial.println(wifiStatus);
    }
  }

  // do something
}

재접속했을 때 외에, 접속이 끊어졌을 때 등에도 시리얼에 출력하도록 해 보았습니다.

각 자숙제의 곳은
htps //w w. 아르즈이의. C / 엔 / 레후 렌세 / 우 훅 S 타츠 s
참고로 어떻게 해보십시오

좋은 웹페이지 즐겨찾기