2017-02-22 11 views
1

こんにちは、私はarduinoプログラミングには新しく、問題があります。私はesp8266モジュールを使用してWiFiを表示することに成功しました。つまり、コードを実行すると、esp8266モジュールがWi-Fiを作成します。また、パスワードを要求しますが、その後は正常な接続の出力はありません。私はwifi.softAp(ユーザ名、パスワード)の方法を使ってwifiネットワークを作成しています。私は次のコードを書いています:arduinoを使用して8266​​無線LANモジュールに正常に接続できません

#include <ESP8266WiFi.h> 
#include <WiFiClient.h> 
#include <ESP8266WebServer.h> 

const char* ssid = "Jeet";//Wifi username 
const char* password = "wifibin12"; //Wifi password 

ESP8266WebServer server(80); 

void handleRoot() { 
    server.send(200, "text/plain", "<h1>hello from esp8266!</h1>"); 
} 

void setup(void) { 
    // put your setup code here, to run once: 

Serial.begin(115200); 
//WiFi.mode(WIFI_AP); 
Serial.print("this is my pass"); 
Serial.print(password); 
WiFi.softAP(ssid, password); 
Serial.print("Setting soft-Ap ... "); 
// Wait for connection 

while (WiFi.status() != WL_CONNECTED) { 
    delay(500); 
    Serial.print("."); 
    } 


//If connection successful show IP address in serial monitor 
    Serial.println(""); 
    Serial.print("Connected to "); 
    Serial.println(ssid); 
    Serial.print("IP address: "); 
    Serial.println(WiFi.localIP()); //IP address assigned to your ESP 

    server.on("/", handleRoot);  //Which routine to handle at root location 

    server.begin();     //Start server 
    Serial.println("HTTP server started"); 

} 

void loop() { 
    // put your main code here, to run repeatedly: 
server.handleClient(); 
} 

私がコードを実行すると、シリアル出力で連続して出力されます。誰かが私が間違っていることを知っているならば、この問題を解決するのを助けてください。提案も高く評価されます。

答えて

1

whileループに固執しています。 Wifi.status()は、Wi-Fiネットワークに接続されている場合(別のアクセスポイントに)WL_CONNECTEDを返します。だから、あなただけのAPは、あなたがこの試してみてください仕事を得るしたい場合:

#include <ESP8266WiFi.h> 
#include <WiFiClient.h> 
#include <ESP8266WebServer.h> 

const char* ssid = "Jeet";   //Wifi username 
const char* password = "wifibin12"; //Wifi password 

ESP8266WebServer server(80); 

void handleRoot() { 
    server.send(200, "text/plain", "<h1>hello from esp8266!</h1>"); 
} 

void setup(void) { 
    // put your setup code here, to run once: 
    Serial.begin(115200); 
    Serial.print("this is my pass"); 
    Serial.print(password); 
    WiFi.softAP(ssid, password); 
    Serial.print("Setting soft-Ap ... "); 
    // Wait for connection 

//If connection successful show IP address in serial monitor 
    Serial.println(""); 
    Serial.print("AP name "); 
    Serial.println(ssid); 
    Serial.print("IP address: "); 
    Serial.println(WiFi.localIP()); //IP address assigned to your ESP 

    server.on("/", handleRoot);  //Which routine to handle at root location 

    server.begin();     //Start server 
    Serial.println("HTTP server started"); 

} 

void loop() { 
    // put your main code here, to run repeatedly: 
    server.handleClient(); 
} 

とWiFi.localIPを()APのローカルIPアドレスを返しません。デフォルトは192.168.4.1です。

私はここからドキュメントや例を見てお勧めします:https://github.com/esp8266/Arduino/tree/master/doc/esp8266wifi

+0

はあなたに@Petriありがとうございます。それは私のために働いた。しかし私はserial.printコマンド出力を私のシリアルモニタ、すなわち私のシリアルモニタ上で得ることができません。上記のserial.print出力は表示されていません。あなたはこのことについて私を助けたり、なぜそれが出現していないのかを私に示唆してくれますか?私はもう一度あなたの助けに感謝します。 – Jeet

+0

arduino ideのシリアルモニタを使用していますか?正しいボーレート(115200)がありますか?接地接続も確認してください。 –

+0

はい私はarduino ideのシリアルモニタを使用しており、ボーレートを115200に設定しています。どの地上接続を参照しているか教えてください。私はESP 8266 01モジュールを使用しています。正しい出力を得るためにどのようなフラッシュサイズが使えるのか教えてください。私はあなたにツール設定のスクリーンショットのリンクを送っています。スクリーンショットは、\t drive.google.com/open?id=0Bw8dCxSUylyKeUlkNjRZZVpXRHcのリンクからご覧いただけます。変更が再開された場合はお知らせください。私はあなたの助けに非常に感謝しています – Jeet

関連する問題