遠隔リセット装置 (9) -スケッチほぼ完成-

Exceptionは腑に落ちないけど、ひとまずコーディングはほぼ完成。

 

遠隔リセット装置 (8) -なんかException-

 

 

 

構造は非常に簡単。

特定のURLにアクセスしたら、それをトリガーに指定したピンから出力するだけ。

Lチカの延長線上だ。

 

 

というわけで、参考にならないかもしれないスケッチ公開。(後悔?

 

#include <ESP8266WiFi.h>
#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

 

カテゴリー: Arduino系, DIY, PC, ガジェット, ソフトウェア, ハードウェア タグ: , , , , ,  [パーマリンク]

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です