質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

Q&A

解決済

1回答

8324閲覧

ESPr DeveloperでWIFI接続ができない

taka_000826

総合スコア9

Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

0グッド

0クリップ

投稿2017/06/12 14:25

編集2017/06/12 14:34

こんにちわ

Arduino初心者です。宜しくお願いします。

ESPr Developer(Switch Science社)を千石電商さんで購入し、
まずはWIFIに接続したいと
https://www.mgo-tec.com/blog-entry-ss-wroom-howto01.html
を参考に下部のスケッチを書き込みました。

ただ、WIFIへの接続ができず困っております。
シリアルモニタにはずっと「.....」が表示され続けています。

ATコマンドもスケッチを上書きしてしまったからか、
シリアルモニタにATをいれても反応しません。

家のWIFIは他に持っているWIO NODE(ESP-WROOM-02)による接続はできたので
そこは問題ないかと思っています。

いろいろ調べたのですが、どのようにしたら 原因&対策がわかりますでしょうか。
ご教授いただけますと幸いです。

<構成>
Mac OS X Yosemite - USB - ESPr Developer
※ESPr Developerには何も接続させていません。ただ繋げているだけです。

#include <ESP8266WiFi.h> //ご自分のルーターのSSIDを入力してください const char* ssid = "家のSSIDをいれてます"; //ご自分のルーターのパスワード const char* password = "合わせてパスワードをいれてます"; boolean Ini_html_on = false;//ブラウザからの初回HTTPレスポンス完了したかどうかのフラグ WiFiServer server(80); WiFiClient client; void setup() { Serial.begin(115200); // Connect to WiFi network Serial.println(); Serial.print("Connecting to "); Serial.println(ssid); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi connected"); // Start the server server.begin(); Serial.println("Server started"); // Print the IP address Serial.println(WiFi.localIP()); } //************メインループ******************************** void loop() { if(Ini_html_on == false){ Ini_HTTP_Response(); }else if(client.available()){ Serial.print(client.read()); } delay(1);//これは重要かも。これがないと動作かも。 } //*****初回ブラウザからのGET要求によるHTMLタグ吐き出しHTTPレスポンス******* void Ini_HTTP_Response() { client = server.available();//クライアント生成 delay(1); String req; while(client){ if(client.available()){ req = client.readStringUntil('\n'); Serial.println(req); if (req.indexOf("GET / HTTP") >= 0 || req.indexOf("GET /favicon") >= 0){//ブラウザからリクエストを受信したらこの文字列を検知する //Google Chromeの場合faviconリクエストが来るのでそれも検出する Serial.println("-----from Browser FirstTime HTTP Request---------"); Serial.println(req); //ブラウザからのリクエストで空行(\r\nが先頭になる)まで読み込む while(req.indexOf("\r") != 0){ req = client.readStringUntil('\n');//\nまで読み込むが\n自身は文字列に含まれず、捨てられる Serial.println(req); } req = ""; delay(10);//10ms待ってレスポンスをブラウザに送信 //メモリ節約のため、Fマクロで文字列を囲う //普通のHTTPレスポンスヘッダ client.print(F("HTTP/1.1 200 OK\r\n")); client.print(F("Content-Type:text/html\r\n")); client.print(F("Connection:close\r\n\r\n"));//1行空行が必要 //ここからブラウザ表示のためのHTML JavaScript吐き出し client.println(F("<!DOCTYPE html>")); client.println(F("<html>")); client.println(F("<font size=30>")); client.println(F("Hello World")); client.println(F("</html>\r\n")); delay(1);//これが重要!これが無いと切断できないかもしれない。 client.stop();//一旦ブラウザとコネクション切断する。 Serial.println("\nGET HTTP client stop--------------------"); req = ""; Ini_html_on = false; //一回切りの接続にしたい場合、ここをtrueにする。 } } } }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

自己解決したので残しておきます。

結論は、コードも配線もまちがっておらず、電源の問題でした。

macからUSBハブなど使わずに直接ESPr Developerに挿して電源供給していたので
大丈夫かと思っていたのですが、試しに

ESPr DeveloperのマイクロUSB端子にはコンセントから直接電源を供給し、
USBシリアル変換モジュールを用いてESprに書き込みを行ったところ、
WIFIに接続されるようになりました。

参考 https://www.mgo-tec.com/blog-entry-43.html

投稿2017/06/17 05:49

taka_000826

総合スコア9

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問