ひとまず準備が整った気がする。
サンプルのスケッチがあるので、それをベースに手を加えてサーバとして動作させてみよう。
参考にしたのは
ファイル
→スケッチ例
→
→ESP8266mDNS
→mDNS_Web_Server
と
→ESP8266WebServer
→AdvancedWebServer
の2つ。
#include <ESP8266mDNS.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
const char* ssid = "※アクセスポイント名※";
const char* password = "※パスワード※";
ESP8266WebServer server(80);
void handleRoot() {
server.send(200, "text/html", "<h1>You are connected</h1>");
}
void setup(void) {
Serial.begin(115200);
// Connect to WiFi network
WiFi.begin(ssid, password);
Serial.println("");
// Wait for connection
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.print("Connected to ");
Serial.println(ssid);
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
// Set up mDNS responder:
// - first argument is the domain name, in this example
// the fully-qualified domain name is "esp8266.local"
// - second argument is the IP address to advertise
// we send our IP address on the WiFi network
if (!MDNS.begin("esp8266")) {
Serial.println("Error setting up MDNS responder!");
while(1) {
delay(1000);
}
}
Serial.println("mDNS responder started");
// Start TCP (HTTP) server
server.begin();
Serial.println("TCP server started");
// Add service to MDNS-SD
MDNS.addService("http", "tcp", 80);
server.on("/", handleRoot);
}
void loop(void) {
server.handleClient();
}
あまりイジってないというか、ログを力押しで出力しているのもそのままw
(最初だから多い方が良い)
これをESPr Developerに書き込んで、終わったらボードのリセットボタンを押す。
田舎はDHCPなのでIPアドレスを特定するのが面倒だけど、
このスケッチはシリアルモニタに出力するようにしているので問題なし。
ブラウザに
http://※シリアルモニタに出力されたIP※/
を入力したら
You are connected
が表示されて無事に繋がった。
OKOK。
そのままにしてまたスケッチを眺めていたら、シリアルモニタが何か出力されて動いてる。
epc1=0x40106556 epc2=0x00000000 epc3=0x00000000 excvaddr=0x00000000 depc=0x00000000
ctx: sys
sp: 3ffffd20 end: 3fffffb0 offset: 01a0
>>>stack>>>
3ffffec0: 4020db41 00000000 00080000 ffdfffff
3ffffed0: 3fff1b88 3fff2040 3ffea8ce 4020dd52
(ry
なんかException出てるぞオイw
試しにサンプルスケッチを動かしてみたけど同じようにException発生。
しかも約50秒ごとにループしている。
気持ち悪い。とても気持ち悪い。
ちょっと調べた感じでは見当たらない。
参ったな。
見なかったことにするか。