/* WiFi-Control-Car */
//esp32_makerdrive
//MakerDrive M1A-pin0 M1B-pin2 M2A-pin4 M2B-pin5
//Thanks to http://mukujii.sakura.ne.jp/esp1.html
#include <WiFi.h>
const char* ssid = "";
const char* password = "";
const char html[] =
"<!DOCTYPE html><html lang='ja'><head><meta charset='UTF-8'>\
<style>input {margin:8px;width:80px;}\
div {font-size:16pt;color:red;text-align:center;width:400px;border:groove 40px orange;}</style>\
<title>WiFi_Car Controller</title></head>\
<body><div><p>Tank Controller</p>\
<form method='get'>\
<input type='submit' name='le' value='左' />\
<input type='submit' name='fo' value='前' />\
<input type='submit' name='ri' value='右' /><br>\
<input type='submit' name='st' value='停止' /><br>\
<input type='submit' name='bl' value='後左' />\
<input type='submit' name='ba' value='後ろ' />\
<input type='submit' name='br' value='後右' /><br><br>\
</form></div></body></html>";
void stop(){
digitalWrite(0, LOW);
digitalWrite(2, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
}
WiFiServer server(80);
void setup()
{
Serial.begin(115200);
pinMode(0, OUTPUT);
pinMode(2, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
delay(10);
Serial.println();
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.");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
server.begin();
}
void loop(){
WiFiClient client = server.available();
if (client) {
Serial.println("New Client.");
String currentLine = "";
while (client.connected()) {
if (client.available()) {
char c = client.read();
Serial.write(c);
if (c == '\n') {
if (currentLine.length() == 0) {
client.println("HTTP/1.1 200 OK");
client.println("Content-type:text/html");
client.println();
client.print(html);
client.println();
break;
} else {
currentLine = "";
}
} else if (c != '\r') {
currentLine += c;
}
if (currentLine.endsWith("GET /?fo")) {
stop();
digitalWrite(0,HIGH);
digitalWrite(2,LOW);
digitalWrite(4,HIGH);
digitalWrite(5,LOW);
}
if (currentLine.endsWith("GET /?le")) {
stop();
digitalWrite(0,HIGH);
digitalWrite(2,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
}
if (currentLine.endsWith("GET /?ri")) {
stop();
digitalWrite(0,LOW);
digitalWrite(2,LOW);
digitalWrite(4,HIGH);
digitalWrite(5,LOW);
}
if (currentLine.endsWith("GET /?ba")) {
stop();
digitalWrite(0,LOW);
digitalWrite(2,HIGH);
digitalWrite(4,LOW);
digitalWrite(5,HIGH);
}
if (currentLine.endsWith("GET /?bl")) {
stop();
digitalWrite(0,LOW);
digitalWrite(2,HIGH);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
}
if (currentLine.endsWith("GET /?br")) {
stop();
digitalWrite(0,LOW);
digitalWrite(2,LOW);
digitalWrite(4,LOW);
digitalWrite(5,HIGH);
}
if (currentLine.endsWith("GET /?st")) {
stop();
}
}
}
client.stop();
Serial.println("Client Disconnected.");
}
}
0 件のコメント:
コメントを投稿