Exceptionは腑に落ちないけど、ひとまずコーディングはほぼ完成。
構造は非常に簡単。
特定のURLにアクセスしたら、それをトリガーに指定したピンから出力するだけ。
Lチカの延長線上だ。
というわけで、参考にならないかもしれないスケッチ公開。(後悔?
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#define OUT_PORT 14
#define PUSH_TIME 1000
const char* ssid = "※アクセスポイント名※";
const char* password = "※パスワード※";
ESP8266WebServer server(80);
void handleRoot() {
 server.send(200, "text/html", "<h1>Root Page</h1>");
 digitalWrite(OUT_PORT, LOW);
}
void ResetOn(){
 server.send(200, "text/html", "<h1>Reset ON!</h1>");
 digitalWrite(OUT_PORT, HIGH);
 delay(PUSH_TIME);
 digitalWrite(OUT_PORT, LOW);
}
void setup(void) { 
 Serial.begin(115200);
 pinMode(OUT_PORT, OUTPUT);
 // Connect to Wi-Fi network
 WiFi.config(IPAddress(※IPアドレス※), IPAddress(※GWのIPアドレス※), IPAddress(※サブネットマスク※));
 WiFi.begin(ssid, password);
 WiFi.mode(WIFI_STA);
 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());
 server.on("/", handleRoot);
 server.on("/on/", ResetOn);
 // Start TCP (HTTP) server
 server.begin();
 Serial.println("TCP server started");
}
void loop(void) {
 server.handleClient();
}
指定がない場合はDHCPになるけど、自宅で使うことを想定してIPを固定にする。
なおIPアドレスはピリオドではなくカンマ区切りなので注意。
×:192.168.1.123 ○:192, 168, 1, 123
これをボードに書き込めばhttp://※IPアドレス※/で「Root Page」が表示されるはず。
http://※IPアドレス※/on/にすると「Reset ON!」が表示されて
14番ピンから出力される。
こんな単純な構造だったらRootだけで良い気もするけど、まぁ その辺は勢いでw
 
                        
