« ESP8266のTOUTピンの入力電圧とADC値 | トップページ | ArduinoのESP8266でアクセスポイントに接続してみる »

2015年7月22日 (水)

ESP8266 でアクセスポイント機能を無効にする

ESP8266 でアクセスポイント機能を無効にする

7月5日に「ESP8266でアクセスポイント機能が勝手に有効になる」と言うエントリを書きました。
もちろんアクセスポイント機能はWiFI.mode()APIにより有効・無効が切り替え出来ます。

そこで次のような実験を行う
・WiFiAccessPointスケッチを実行しアクセスポイントを有効しアクセスポイントを確認する。
・WiFiとは関係ないBlinkを実行してアクセスポイントが有効な事を確認する。
・blinkにWiFi.mode()でアクセスポイントを無効(ステーションモードにする)にしてアクセスポイントを確認する。

WiFiAccessPointスケッチ実行
タブレットから「ESPap」というアクセスポイントが確認出来た。

Blinkスケッチ実行
タブレットから「ESPap」というアクセスポイントが確認出来た。
電源off/onしても「ESPap」は確認できた。

Blinkにアクセスポイント無効コードを追加して実行
次の2行をプログラムの先頭とsetup()内に追加

#include <ESP8266WiFi.h>
WiFi.mode(WIFI_STA);

「ESPap」アクセスポイントが消えた。

WiFi.mode(m)のmにはWIFI_AP, WIFI_STAとWIFI_AP_STAが指定できる。

解ったこと
・アクセスポイントの設定は電源Offでも記憶される
・アクセスポイント有効の状態でWiFiに関係ないプログラムを実行してもアクセスポイントは有効のまま。
・WiFiに関係ないプログラムでもWiFi.mode(WIFI_STA)を実行してアクセスポイント無効にする必要がある。

ステーションモードのみにした blink のコード

#include <ESP8266WiFi.h>

void setup() {
  pinMode(5, OUTPUT);  // オリジナルは13だがテスト環境の都合で5に変えてある。
  WiFi.mode(WIFI_STA);
}

void loop() {
  digitalWrite(5, HIGH);
  delay(1000);
  digitalWrite(5, LOW);
  delay(1000);
}

« ESP8266のTOUTピンの入力電圧とADC値 | トップページ | ArduinoのESP8266でアクセスポイントに接続してみる »

Arduino」カテゴリの記事

コメント

ESPを使う上で無線LANのサーチ参考になりました

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/569662/61937473

この記事へのトラックバック一覧です: ESP8266 でアクセスポイント機能を無効にする:

« ESP8266のTOUTピンの入力電圧とADC値 | トップページ | ArduinoのESP8266でアクセスポイントに接続してみる »