2016-05-02 4 views
3

WIFI_APモードではすべてがうまくいっていますが、WIFI_STAモードではまだWIFI_STA_APモードです。esp8266 arduinoのステーション専用モードを設定できません

ソフトウェアアクセスポイントがない場合にのみ、ステーションにWiFiを設定するにはどうすればよいですか。

if(wmode == "AP") { 
    Serial.println("Starting in AP mode"); 
    WiFi.mode(WIFI_AP); 
    WiFi.softAP(ssid, pwd); 
    WiFi.softAPConfig(charToIPAddress(ip), charToIPAddress(gateway), mask); 
    } else if (wmode == "STA") { 
    Serial.println("Starting in STA mode"); 
    WiFi.mode(WIFI_STA); 
    WiFi.begin(ssid, pwd); 
    WiFi.config(charToIPAddress(ip), charToIPAddress(gateway), mask); 
    } 

EDIT:これはおよそwmodeはありませんが、このコードのif文が正常に動作し、再:arduinoのStringクラス演算子(速記)

+0

「モード」の定義は何ですか? – fluter

+0

oh thats irrelevant ... "AP"または "STA"のみに設定された内部Stringクラスの変数です。 – ChrisAdmin

+0

プログラムCはありますか? – fluter

答えて

4

あなたの代わりにWiFi.beginを使用する場合ESP8266はに思わORモードパラメータこれを設定するだけでなく、以前にどのモードになっていたかを記憶しています(たとえば再起動など)。 WiFi.disconnect();に続いてWiFi.softAPdisconnect(true);をコールすると、インフラストラクチャモードまたはAPモードであることを現在実行中のすべてのWiFi操作を無効にするようにESPに明示する必要があります。

関連する問題