//ESP32 テスト43
#include <WiFi.h>
#include <WebServer.h>
const char* ssid = "ooooooo"; //ssidを入力
const char* passwd = "xxxxxxxxx"; //ネットワークパスワード入力
WebServer server(80); //通信を受けるポート番号(通常は80に設定)
const int led_point1 = 12;
const int led_point2 = 14;
const int led_left = 26;
const int led_right = 25;
const int led_spd = 32;
void setup(){
Serial.begin(115200); //シリアル通信のデータ転送レートを115200bpsで指定
pinMode(led_point1, OUTPUT);
pinMode(led_point2, OUTPUT);
pinMode(led_left, OUTPUT);
pinMode(led_right, OUTPUT);
pinMode(led_spd, OUTPUT);
digitalWrite(led_point1, LOW);
digitalWrite(led_point2, LOW);
digitalWrite(led_left, LOW);
digitalWrite(led_right, LOW);
digitalWrite(led_spd, LOW);
WiFi.begin(ssid, passwd); //アクセスポイント接続のためのIDとパスワードの設定
while (WiFi.status() != WL_CONNECTED){ //接続状態の確認
delay(300); //接続していなければ0.3秒待つ
Serial.print("."); //接続しなかったらシリアルモニタに「.」と表示
}
Serial.println(""); //シリアルモニタ改行
Serial.println("WiFi Connected"); //接続したらシリアルモニタに「WiFi Connected」と表示
Serial.print("IP Address : "); //シリアルモニタに表示
Serial.println(WiFi.localIP()); //割り当てられたIPアドレスをシリアルモニタに表示
server.on("/", handleLedOnOff); //TOPページのアドレスにアクセスしたときの処理関数
server.onNotFound(handleNotFound); //存在しないアドレスにアクセスしたときの処理関数
server.begin(); //WebServer起動
}
void loop(){
server.handleClient();
}
void handleLedOnOff(){ //アクセスしたときの処理関数
if (server.hasArg("point1")){
if (server.arg("point1").equals("on")){
digitalWrite(led_point1, HIGH);
server.send(200, "text/html", "Point No1 is Revers Position");
}
else if (server.arg("point1").equals("off")){
digitalWrite(led_point1, LOW);
server.send(200, "text/html", "Point No1 is Normal Position");
}
}
if (server.hasArg("point2")){
if (server.arg("point2").equals("on")){
digitalWrite(led_point2, HIGH);
server.send(200, "text/html", "Point No2 is Revers Position");
} else if (server.arg("point2").equals("off")){
digitalWrite(led_point2, LOW);
server.send(200, "text/html", "Point No2 is Normal Position");
}
}
if (server.hasArg("direction")){
if (server.arg("direction").equals("left")){
digitalWrite(led_left, HIGH);
server.send(200, "text/html", "LEFT Direction !");
} else if (server.arg("direction").equals("right")){
digitalWrite(led_right, HIGH);
server.send(200, "text/html", "Right Direction !");
} else if (server.arg("direction").equals("stop")){
digitalWrite(led_left, LOW);
digitalWrite(led_right, LOW);
server.send(200, "text/html", "Now STOP");
}
}
if (server.hasArg("speed")){
if (server.arg("speed").equals("up")){
digitalWrite(led_spd, HIGH);
server.send(200, "text/html", "Speed UP !");
} else if (server.arg("speed").equals("down")){
digitalWrite(led_spd, LOW);
server.send(200, "text/html", "Speed DOWN !");
}
}
}
void handleNotFound(void) { //存在しないアドレスへアクセスしたときの処理関数
server.send(404, "text/plain", "Not Found");
}