Components and supplies
Dual H-Bridge motor drivers L298
Jumper wires (generic)
Arduino UNO
LED (generic)
DC motor (generic)
Resistor 1k ohm
Breadboard (generic)
ESP8266 ESP-01
Project description
Code
Code2: SoftwareSerial
arduino
Software to parse serial data from ESP8266 and move motors controlled by L298N motor drive.
1/* 2SoftwareSerialParser 3(based on SoftwareSerialExample.ino) 4 5Description: Software to parse serial data from ESP8266 and 6move motors controlled by L298N motor drive. 7 8Author: Lucio A. Rocha 9Last update: 12/03/2017 10 11 */ 12#include <SoftwareSerial.h> 13 14int IN3 = 8; //IN3 motor = pino no arduino 15int IN4 = 7; 16int ENB = 6; // ENB eh o pino de controle de velocidade no motor 17 18int IN1 = 5; //IN1 motor = pino no arduino 19int IN2 = 4; 20int ENA = 3; // ENA eh o pino de controle de velocidade no motor 21 22int TIME_MOVE=2000; //Tempo de cada movimento 23 24SoftwareSerial mySerial(0, 1); // RX, TX 25 26void setup() { 27 28 pinMode(ENB, OUTPUT); 29 pinMode(IN3, OUTPUT); 30 pinMode(IN4, OUTPUT); 31 32 pinMode(ENA, OUTPUT); 33 pinMode(IN1, OUTPUT); 34 pinMode(IN2, OUTPUT); 35 36 // Open serial communications and wait for port to open: 37 Serial.begin(9600); 38 while (!Serial) { 39 ; // wait for serial port to connect. Needed for native USB port only 40 } 41 42 43 Serial.println("SoftwareSerialParser Started!"); 44 45 // set the data rate for the SoftwareSerial port 46 mySerial.begin(9600); 47 mySerial.println("Hello, world?"); 48} 49 50 51void moveMotor(char c){ 52 53 Serial.println(c); 54 55 switch (c){ 56 //Up 57 case '1': 58 //Prepara a saida do motor 59 digitalWrite(IN1, LOW); 60 digitalWrite(IN2, HIGH); 61 //Prepara a saida do motor 62 digitalWrite(IN3, HIGH); 63 digitalWrite(IN4, LOW); 64 //Move 65 analogWrite(ENA, 255); 66 analogWrite(ENB, 255); 67 delay(TIME_MOVE); 68 //Desliga o motor e espera 69 analogWrite(ENA, 0); 70 analogWrite(ENB, 0); 71 break; 72 //LeftUp 73 case '2': 74 //Prepara a saida do motor 75 digitalWrite(IN3, HIGH); 76 digitalWrite(IN4, LOW); 77 //Move 78 analogWrite(ENB, 255); 79 delay(TIME_MOVE); 80 //Desliga o motor e espera 81 analogWrite(ENB, 0); 82 break; 83 //RightUp 84 case '3': 85 //Prepara a saida do motor 86 digitalWrite(IN1, LOW); 87 digitalWrite(IN2, HIGH); 88 //Move 89 analogWrite(ENA, 255); 90 delay(TIME_MOVE); 91 //Desliga o motor e espera 92 analogWrite(ENA, 0); 93 break; 94 //LeftDown 95 case '4': 96 //Prepara a saida do motor 97 digitalWrite(IN3, LOW); 98 digitalWrite(IN4, HIGH); 99 //Move 100 analogWrite(ENB, 255); 101 delay(TIME_MOVE); 102 //Desliga o motor e espera 103 analogWrite(ENB, 0); 104 break; 105 //RightDown 106 case '5': 107 //Prepara a saida do motor 108 digitalWrite(IN1, HIGH); 109 digitalWrite(IN2, LOW); 110 //Move 111 analogWrite(ENA, 255); 112 delay(TIME_MOVE); 113 //Desliga o motor e espera 114 analogWrite(ENA, 0); 115 break; 116 //Down 117 case '6': 118//Prepara a saida do motor 119 digitalWrite(IN1, HIGH); 120 digitalWrite(IN2, LOW); 121 //Prepara a saida do motor 122 digitalWrite(IN3, LOW); 123 digitalWrite(IN4, HIGH); 124 //Move 125 analogWrite(ENA, 255); 126 analogWrite(ENB, 255); 127 delay(TIME_MOVE); 128 //Desliga o motor e espera 129 analogWrite(ENA, 0); 130 analogWrite(ENB, 0); 131 break; 132 //Stop 133 case '7': 134 //Desliga o motor e espera 135 analogWrite(ENA, 0); 136 analogWrite(ENB, 0); 137 break; 138 default: 139 break; 140 }//end switch 141 142} 143 144 145void parseMove(String response){ 146 Serial.print("["); 147 String movement=""; 148 int i=0; 149 char c = response[i]; 150 while (i<4){ //Take first 5 chars from readings of ESP8266 line 151 c = response[i]; 152 movement+=c; 153 Serial.print(c); 154 i=i+1; 155 } 156 //Takes on more char to identify the number of movement 157 c = response[i]; 158 if (movement=="SETM"){ 159 movement+=c; 160 Serial.println("\ 161==========================================="); 162 Serial.println(movement); 163 Serial.println(c); 164 165 //c is the number of movement 166 moveMotor(c); 167 168 Serial.println("-------------------------------------------"); 169 } 170 Serial.print("]"); 171} 172 173void loop() { // run over and over 174 String response = ""; 175 bool achou=false; 176 while (mySerial.available()) { 177 response = mySerial.readStringUntil('\n'); 178 Serial.println(response); 179 180 parseMove(response); 181 182 } 183} 184
Code2: SoftwareSerial
arduino
Software to parse serial data from ESP8266 and move motors controlled by L298N motor drive.
1/* 2SoftwareSerialParser 3(based on SoftwareSerialExample.ino) 4 5Description: Software to parse serial data from ESP8266 and 6move motors controlled by L298N motor drive. 7 8Author: Lucio A. Rocha 9Last update: 12/03/2017 10 11 */ 12#include <SoftwareSerial.h> 13 14int IN3 = 8; //IN3 motor = pino no arduino 15int IN4 = 7; 16int ENB = 6; // ENB eh o pino de controle de velocidade no motor 17 18int IN1 = 5; //IN1 motor = pino no arduino 19int IN2 = 4; 20int ENA = 3; // ENA eh o pino de controle de velocidade no motor 21 22int TIME_MOVE=2000; //Tempo de cada movimento 23 24SoftwareSerial mySerial(0, 1); // RX, TX 25 26void setup() { 27 28 pinMode(ENB, OUTPUT); 29 pinMode(IN3, OUTPUT); 30 pinMode(IN4, OUTPUT); 31 32 pinMode(ENA, OUTPUT); 33 pinMode(IN1, OUTPUT); 34 pinMode(IN2, OUTPUT); 35 36 // Open serial communications and wait for port to open: 37 Serial.begin(9600); 38 while (!Serial) { 39 ; // wait for serial port to connect. Needed for native USB port only 40 } 41 42 43 Serial.println("SoftwareSerialParser Started!"); 44 45 // set the data rate for the SoftwareSerial port 46 mySerial.begin(9600); 47 mySerial.println("Hello, world?"); 48} 49 50 51void moveMotor(char c){ 52 53 Serial.println(c); 54 55 switch (c){ 56 //Up 57 case '1': 58 //Prepara a saida do motor 59 digitalWrite(IN1, LOW); 60 digitalWrite(IN2, HIGH); 61 //Prepara a saida do motor 62 digitalWrite(IN3, HIGH); 63 digitalWrite(IN4, LOW); 64 //Move 65 analogWrite(ENA, 255); 66 analogWrite(ENB, 255); 67 delay(TIME_MOVE); 68 //Desliga o motor e espera 69 analogWrite(ENA, 0); 70 analogWrite(ENB, 0); 71 break; 72 //LeftUp 73 case '2': 74 //Prepara a saida do motor 75 digitalWrite(IN3, HIGH); 76 digitalWrite(IN4, LOW); 77 //Move 78 analogWrite(ENB, 255); 79 delay(TIME_MOVE); 80 //Desliga o motor e espera 81 analogWrite(ENB, 0); 82 break; 83 //RightUp 84 case '3': 85 //Prepara a saida do motor 86 digitalWrite(IN1, LOW); 87 digitalWrite(IN2, HIGH); 88 //Move 89 analogWrite(ENA, 255); 90 delay(TIME_MOVE); 91 //Desliga o motor e espera 92 analogWrite(ENA, 0); 93 break; 94 //LeftDown 95 case '4': 96 //Prepara a saida do motor 97 digitalWrite(IN3, LOW); 98 digitalWrite(IN4, HIGH); 99 //Move 100 analogWrite(ENB, 255); 101 delay(TIME_MOVE); 102 //Desliga o motor e espera 103 analogWrite(ENB, 0); 104 break; 105 //RightDown 106 case '5': 107 //Prepara a saida do motor 108 digitalWrite(IN1, HIGH); 109 digitalWrite(IN2, LOW); 110 //Move 111 analogWrite(ENA, 255); 112 delay(TIME_MOVE); 113 //Desliga o motor e espera 114 analogWrite(ENA, 0); 115 break; 116 //Down 117 case '6': 118//Prepara a saida do motor 119 digitalWrite(IN1, HIGH); 120 digitalWrite(IN2, LOW); 121 //Prepara a saida do motor 122 digitalWrite(IN3, LOW); 123 digitalWrite(IN4, HIGH); 124 //Move 125 analogWrite(ENA, 255); 126 analogWrite(ENB, 255); 127 delay(TIME_MOVE); 128 //Desliga o motor e espera 129 analogWrite(ENA, 0); 130 analogWrite(ENB, 0); 131 break; 132 //Stop 133 case '7': 134 //Desliga o motor e espera 135 analogWrite(ENA, 0); 136 analogWrite(ENB, 0); 137 break; 138 default: 139 break; 140 }//end switch 141 142} 143 144 145void parseMove(String response){ 146 Serial.print("["); 147 String movement=""; 148 int i=0; 149 char c = response[i]; 150 while (i<4){ //Take first 5 chars from readings of ESP8266 line 151 c = response[i]; 152 movement+=c; 153 Serial.print(c); 154 i=i+1; 155 } 156 //Takes on more char to identify the number of movement 157 c = response[i]; 158 if (movement=="SETM"){ 159 movement+=c; 160 Serial.println("\ 161==========================================="); 162 Serial.println(movement); 163 Serial.println(c); 164 165 //c is the number of movement 166 moveMotor(c); 167 168 Serial.println("-------------------------------------------"); 169 } 170 Serial.print("]"); 171} 172 173void loop() { // run over and over 174 String response = ""; 175 bool achou=false; 176 while (mySerial.available()) { 177 response = mySerial.readStringUntil('\ 178'); 179 Serial.println(response); 180 181 parseMove(response); 182 183 } 184} 185
Code1: esp8266_L298N.ino
arduino
Create a WiFi access point and provide a web server on it to move robot.
1/* Create a WiFi access point and provide a web server on it to move robot. 2 * 3 * Important: Use without ATMega328 chip, or wire RST in GND 4 * 5 * Author: Lucio A. Rocha 6 * Last Update: 25 Jan 2017 7 * 8 */ 9 10#include <ESP8266WiFi.h> 11#include <WiFiClient.h> 12#include <ESP8266WebServer.h> 13 14/* Set these to your desired credentials. */ 15const char *ssid = "utfprbot"; 16const char *password = "654321"; 17 18ESP8266WebServer server(80); 19 20const int led = 2; //GPIO2 21 22/* Just a little test message. Go to http://192.168.4.1 in a web browser 23 * connected to this access point to see it. 24 */ 25void handleRoot() { 26 27 int size=1000; 28 char temp[size]; 29 30 int sec = millis() / 1000; 31 int min = sec / 60; 32 int hr = min / 60; 33 34 snprintf ( temp, size, 35 36"<html>\\ 37 <head>\ 38 <title>UTFPRBOT-1.0</title>\\ 39 <style>\\ 40 body { background-color: #cccccc; font-family: Arial, Helvetica, Sans-Serif; Color: #000088; }\\ 41 </style>\\ 42 </head>\\ 43 <body>\\ 44 <h3>You are connected on UTFPRBOT #1!</h3>\\ 45 <p>Uptime: %02d:%02d:%02d</p>\ 46 <p>Status: Light ON</h1></p>\\ 47 <p><a href=\\"http://192.168.4.1/on\\"><h1>Turn ON</h1></a></p>\\ 48 <p></p>\\ 49 <p><a href=\\"http://192.168.4.1/of\\"><h1>Turn OFF</h1></a></p>\ 50 <p></p>\\ 51 <p><a href=\\"http://192.168.4.1/st\\"><h1 align=\\"center\\">STOP</h1></a></p>\\ 52 <p></p>\\ 53 <p><a href=\\"http://192.168.4.1/up\\"><h1 align=\\"center\\">/\\\\/\\\\</h1></a></p>\\ 54 <p></p>\\ 55 <p><a href=\\"http://192.168.4.1/lu\\"><h1 align=\\"center\\">/\\\\_____</h1></a><a href=\\"http://192.168.4.1/ru\\"><h1 align=\\"center\\">_____/\\\\</h1></a></p>\\ 56 <p></p>\\ 57 <p><a href=\\"http://192.168.4.1/ld\\"><h1 align=\\"center\\">\\\\/_____</h1></a><a href=\\"http://192.168.4.1/rd\\"><h1 align=\\"center\\">_____\\\\/</h1></a></p>\\ 58 <p><a href=\\"http://192.168.4.1/do\\"><h1 align=\\"center\\">\\\\/\\\\/</h1></a></p>\\ 59 <p></p>\\ 60 </body>\\ 61</html>", 62 63 hr, min % 60, sec % 60 64 ); 65 server.send ( 200, "text/html", temp ); 66 67} 68 69void setup() { 70 delay(1000); 71 Serial.begin(9600); 72 Serial.println(); 73 Serial.print("Configuring access point..."); 74 75 /* You can remove the password parameter if you want the AP to be open. */ 76 WiFi.softAP(ssid, password); 77 78 IPAddress myIP = WiFi.softAPIP(); 79 Serial.print("AP IP address: "); 80 Serial.println(myIP); 81 82 pinMode(led, OUTPUT); 83 digitalWrite ( led, HIGH ); 84 85 //URLs available to query 86 server.on("/", handleRoot); 87 server.on ( "/up", moveUp ); //1 88 server.on ( "/lu", moveLeftUp ); //2 89 server.on ( "/ru", moveRightUp ); //3 90 server.on ( "/ld", moveLeftDown ); //4 91 server.on ( "/rd", moveRightDown ); //5 92 server.on ( "/do", moveDown ); //6 93 server.on ( "/st", moveStop ); //7 94 server.on ( "/on", turnOn ); //8 95 server.on ( "/of", turnOff ); //9 96 97 server.begin(); 98 Serial.println("HTTP server started"); 99 100} 101 102void moveUp(){ 103 104 digitalWrite ( led, HIGH ); 105 106 int size=1000; 107 char temp[size]; 108 109 int sec = millis() / 1000; 110 int min = sec / 60; 111 int hr = min / 60; 112 113 snprintf ( temp, size, 114 115"<html>\\ 116 <head>\\ 117 <title>UTFPRBOT - 1.0</title>\\ 118 <style>\\ 119 body { background-color: #cccccc; font-family: Arial, Helvetica, Sans-Serif; Color: #000088; }\\ 120 </style>\\ 121 </head>\\ 122 <body>\\ 123 <h3>Request: Move UP</h3>\\ 124 <p>Uptime: %02d:%02d:%02d</p>\\ 125 <p><a href=\\"http://192.168.4.1/on\\"><h1>Turn ON</h1></a></p>\\ 126 <p></p>\\ 127 <p><a href=\\"http://192.168.4.1/of\\"><h1>Turn OFF</h1></a></p>\ 128 <p></p>\\ 129 <p><a href=\\"http://192.168.4.1/st\\"><h1 align=\\"center\\">STOP</h1></a></p>\\ 130 <p></p>\\ 131 <p><a href=\\"http://192.168.4.1/up\\"><h1 align=\\"center\\">/\\\\/\\\\</h1></a></p>\\ 132 <p></p>\\ 133 <p><a href=\\"http://192.168.4.1/lu\\"><h1 align=\\"center\\">/\\\\_____</h1></a><a href=\\"http://192.168.4.1/ru\\"><h1 align=\\"center\\">_____/\\\\</h1></a></p>\\ 134 <p></p>\\ 135 <p><a href=\\"http://192.168.4.1/ld\\"><h1 align=\\"center\\">\\\\/_____</h1></a><a href=\\"http://192.168.4.1/rd\\"><h1 align=\\"center\\">_____\\\\/</h1></a></p>\\ 136 <p><a href=\\"http://192.168.4.1/do\\"><h1 align=\\"center\\">\\\\/\\\\/</h1></a></p>\\ 137 <p></p>\\ 138 </body>\\ 139</html>", 140 141 hr, min % 60, sec % 60 142 ); 143 144 server.send ( 200, "text/html", temp); 145 Serial.println("SETM1"); 146 147} 148 149void moveLeftUp(){ 150 151 digitalWrite ( led, HIGH ); 152 153 int size=1000; 154 char temp[size]; 155 156 int sec = millis() / 1000; 157 int min = sec / 60; 158 int hr = min / 60; 159 160 snprintf ( temp, size, 161 162"<html>\\ 163 <head>\\ 164 <title>UTFPRBOT - 1.0</title>\\ 165 <style>\\ 166 body { background-color: #cccccc; font-family: Arial, Helvetica, Sans-Serif; Color: #000088; }\\ 167 </style>\\ 168 </head>\\ 169 <body>\\ 170 <h3>Request: Move LEFT-UP</h3>\\ 171 <p>Uptime: %02d:%02d:%02d</p>\\ 172 <p><a href=\\"http://192.168.4.1/on\\"><h1>Turn ON</h1></a></p>\\ 173 <p></p>\\ 174 <p><a href=\\"http://192.168.4.1/of\\"><h1>Turn OFF</h1></a></p>\ 175 <p></p>\\ 176 <p><a href=\\"http://192.168.4.1/st\\"><h1 align=\\"center\\">STOP</h1></a></p>\\ 177 <p></p>\\ 178 <p><a href=\\"http://192.168.4.1/up\\"><h1 align=\\"center\\">/\\\\/\\\\</h1></a></p>\\ 179 <p></p>\\ 180 <p><a href=\\"http://192.168.4.1/lu\\"><h1 align=\\"center\\">/\\\\_____</h1></a><a href=\\"http://192.168.4.1/ru\\"><h1 align=\\"center\\">_____/\\\\</h1></a></p>\\ 181 <p></p>\\ 182 <p><a href=\\"http://192.168.4.1/ld\\"><h1 align=\\"center\\">\\\\/_____</h1></a><a href=\\"http://192.168.4.1/rd\\"><h1 align=\\"center\\">_____\\\\/</h1></a></p>\\ 183 <p><a href=\\"http://192.168.4.1/do\\"><h1 align=\\"center\\">\\\\/\\\\/</h1></a></p>\\ 184 <p></p>\\ 185 </body>\\ 186</html>", 187 188 hr, min % 60, sec % 60 189 ); 190 191 server.send ( 200, "text/html", temp); 192 Serial.println("SETM2"); 193 194} 195 196void moveLeftDown(){ 197 198 digitalWrite ( led, HIGH ); 199 200 int size=1000; 201 char temp[size]; 202 203 int sec = millis() / 1000; 204 int min = sec / 60; 205 int hr = min / 60; 206 207 snprintf ( temp, size, 208 209"<html>\\ 210 <head>\\ 211 <title>UTFPRBOT - 1.0</title>\\ 212 <style>\\ 213 body { background-color: #cccccc; font-family: Arial, Helvetica, Sans-Serif; Color: #000088; }\\ 214 </style>\\ 215 </head>\\ 216 <body>\\ 217 <h3>Request: Move LEFT-DOWN</h3>\\ 218 <p>Uptime: %02d:%02d:%02d</p>\\ 219 <p><a href=\\"http://192.168.4.1/on\\"><h1>Turn ON</h1></a></p>\\ 220 <p></p>\\ 221 <p><a href=\\"http://192.168.4.1/of\\"><h1>Turn OFF</h1></a></p>\ 222 <p></p>\\ 223 <p><a href=\\"http://192.168.4.1/st\\"><h1 align=\\"center\\">STOP</h1></a></p>\\ 224 <p></p>\\ 225 <p><a href=\\"http://192.168.4.1/up\\"><h1 align=\\"center\\">/\\\\/\\\\</h1></a></p>\\ 226 <p></p>\\ 227 <p><a href=\\"http://192.168.4.1/lu\\"><h1 align=\\"center\\">/\\\\_____</h1></a><a href=\\"http://192.168.4.1/ru\\"><h1 align=\\"center\\">_____/\\\\</h1></a></p>\\ 228 <p></p>\\ 229 <p><a href=\\"http://192.168.4.1/ld\\"><h1 align=\\"center\\">\\\\/_____</h1></a><a href=\\"http://192.168.4.1/rd\\"><h1 align=\\"center\\">_____\\\\/</h1></a></p>\\ 230 <p><a href=\\"http://192.168.4.1/do\\"><h1 align=\\"center\\">\\\\/\\\\/</h1></a></p>\\ 231 <p></p>\\ 232 </body>\\ 233</html>", 234 235 hr, min % 60, sec % 60 236 ); 237 238 server.send ( 200, "text/html", temp); 239 Serial.println("SETM4"); 240 241} 242 243void moveRightUp(){ 244 245 digitalWrite ( led, HIGH ); 246 247 int size=1000; 248 char temp[size]; 249 250 int sec = millis() / 1000; 251 int min = sec / 60; 252 int hr = min / 60; 253 254 snprintf ( temp, size, 255 256"<html>\\ 257 <head>\\ 258 <title>UTFPRBOT - 1.0</title>\\ 259 <style>\\ 260 body { background-color: #cccccc; font-family: Arial, Helvetica, Sans-Serif; Color: #000088; }\\ 261 </style>\\ 262 </head>\\ 263 <body>\\ 264 <h3>Request: Move RIGHT-UP</h3>\\ 265 <p>Uptime: %02d:%02d:%02d</p>\\ 266 <p><a href=\\"http://192.168.4.1/on\\"><h1>Turn ON</h1></a></p>\\ 267 <p></p>\\ 268 <p><a href=\\"http://192.168.4.1/of\\"><h1>Turn OFF</h1></a></p>\ 269 <p></p>\\ 270 <p><a href=\\"http://192.168.4.1/st\\"><h1 align=\\"center\\">STOP</h1></a></p>\\ 271 <p></p>\\ 272 <p><a href=\\"http://192.168.4.1/up\\"><h1 align=\\"center\\">/\\\\/\\\\</h1></a></p>\\ 273 <p></p>\\ 274 <p><a href=\\"http://192.168.4.1/lu\\"><h1 align=\\"center\\">/\\\\_____</h1></a><a href=\\"http://192.168.4.1/ru\\"><h1 align=\\"center\\">_____/\\\\</h1></a></p>\\ 275 <p></p>\\ 276 <p><a href=\\"http://192.168.4.1/ld\\"><h1 align=\\"center\\">\\\\/_____</h1></a><a href=\\"http://192.168.4.1/rd\\"><h1 align=\\"center\\">_____\\\\/</h1></a></p>\\ 277 <p><a href=\\"http://192.168.4.1/do\\"><h1 align=\\"center\\">\\\\/\\\\/</h1></a></p>\\ 278 <p></p>\\ 279 </body>\\ 280</html>", 281 282 hr, min % 60, sec % 60 283 ); 284 285 server.send ( 200, "text/html", temp); 286 Serial.println("SETM3"); 287 288} 289 290void moveRightDown(){ 291 292 digitalWrite ( led, HIGH ); 293 294 int size=1000; 295 char temp[size]; 296 297 int sec = millis() / 1000; 298 int min = sec / 60; 299 int hr = min / 60; 300 301 snprintf ( temp, size, 302 303"<html>\\ 304 <head>\\ 305 <title>UTFPRBOT - 1.0</title>\\ 306 <style>\\ 307 body { background-color: #cccccc; font-family: Arial, Helvetica, Sans-Serif; Color: #000088; }\\ 308 </style>\\ 309 </head>\\ 310 <body>\\ 311 <h3>Request: Move RIGHT-DOWN</h3>\\ 312 <p>Uptime: %02d:%02d:%02d</p>\\ 313 <p><a href=\\"http://192.168.4.1/on\\"><h1>Turn ON</h1></a></p>\\ 314 <p></p>\\ 315 <p><a href=\\"http://192.168.4.1/of\\"><h1>Turn OFF</h1></a></p>\ 316 <p></p>\\ 317 <p><a href=\\"http://192.168.4.1/st\\"><h1 align=\\"center\\">STOP</h1></a></p>\\ 318 <p></p>\\ 319 <p><a href=\\"http://192.168.4.1/up\\"><h1 align=\\"center\\">/\\\\/\\\\</h1></a></p>\\ 320 <p></p>\\ 321 <p><a href=\\"http://192.168.4.1/lu\\"><h1 align=\\"center\\">/\\\\_____</h1></a><a href=\\"http://192.168.4.1/ru\\"><h1 align=\\"center\\">_____/\\\\</h1></a></p>\\ 322 <p></p>\\ 323 <p><a href=\\"http://192.168.4.1/ld\\"><h1 align=\\"center\\">\\\\/_____</h1></a><a href=\\"http://192.168.4.1/rd\\"><h1 align=\\"center\\">_____\\\\/</h1></a></p>\\ 324 <p><a href=\\"http://192.168.4.1/do\\"><h1 align=\\"center\\">\\\\/\\\\/</h1></a></p>\\ 325 <p></p>\\ 326 </body>\\ 327</html>", 328 329 hr, min % 60, sec % 60 330 ); 331 332 server.send ( 200, "text/html", temp); 333 Serial.println("SETM5"); 334 335} 336 337void moveDown(){ 338 339 digitalWrite ( led, HIGH ); 340 341 int size=1000; 342 char temp[size]; 343 344 int sec = millis() / 1000; 345 int min = sec / 60; 346 int hr = min / 60; 347 348 snprintf ( temp, size, 349 350"<html>\\ 351 <head>\\ 352 <title>UTFPRBOT - 1.0</title>\\ 353 <style>\\ 354 body { background-color: #cccccc; font-family: Arial, Helvetica, Sans-Serif; Color: #000088; }\\ 355 </style>\\ 356 </head>\\ 357 <body>\\ 358 <h3>Request: Move DOWN</h3>\ 359 <p>Uptime: %02d:%02d:%02d</p>\\ 360 <p><a href=\\"http://192.168.4.1/on\\"><h1>Turn ON</h1></a></p>\\ 361 <p></p>\\ 362 <p><a href=\\"http://192.168.4.1/of\\"><h1>Turn OFF</h1></a></p>\ 363 <p></p>\\ 364 <p><a href=\\"http://192.168.4.1/st\\"><h1 align=\\"center\\">STOP</h1></a></p>\\ 365 <p></p>\\ 366 <p><a href=\\"http://192.168.4.1/up\\"><h1 align=\\"center\\">/\\\\/\\\\</h1></a></p>\\ 367 <p></p>\\ 368 <p><a href=\\"http://192.168.4.1/lu\\"><h1 align=\\"center\\">/\\\\_____</h1></a><a href=\\"http://192.168.4.1/ru\\"><h1 align=\\"center\\">_____/\\\\</h1></a></p>\\ 369 <p></p>\\ 370 <p><a href=\\"http://192.168.4.1/ld\\"><h1 align=\\"center\\">\\\\/_____</h1></a><a href=\\"http://192.168.4.1/rd\\"><h1 align=\\"center\\">_____\\\\/</h1></a></p>\\ 371 <p><a href=\\"http://192.168.4.1/do\\"><h1 align=\\"center\\">\\\\/\\\\/</h1></a></p>\\ 372 <p></p>\\ 373 </body>\\ 374</html>", 375 376 hr, min % 60, sec % 60 377 ); 378 379 server.send ( 200, "text/html", temp); 380 Serial.println("SETM6"); 381 382} 383 384 385void moveStop(){ 386 387 digitalWrite ( led, HIGH ); 388 389 int size=1000; 390 char temp[size]; 391 392 int sec = millis() / 1000; 393 int min = sec / 60; 394 int hr = min / 60; 395 396 snprintf ( temp, size, 397 398"<html>\\ 399 <head>\\ 400 <title>UTFPRBOT - 1.0</title>\\ 401 <style>\\ 402 body { background-color: #cccccc; font-family: Arial, Helvetica, Sans-Serif; Color: #000088; }\\ 403 </style>\\ 404 </head>\\ 405 <body>\\ 406 <h3>Request: STOP</h3>\\ 407 <p>Uptime: %02d:%02d:%02d</p>\\ 408 <p><a href=\\"http://192.168.4.1/on\\"><h1>Turn ON</h1></a></p>\\ 409 <p></p>\\ 410 <p><a href=\\"http://192.168.4.1/of\\"><h1>Turn OFF</h1></a></p>\ 411 <p></p>\\ 412 <p><a href=\\"http://192.168.4.1/st\\"><h1 align=\\"center\\">STOP</h1></a></p>\\ 413 <p></p>\\ 414 <p><a href=\\"http://192.168.4.1/up\\"><h1 align=\\"center\\">/\\\\/\\\\</h1></a></p>\\ 415 <p></p>\\ 416 <p><a href=\\"http://192.168.4.1/lu\\"><h1 align=\\"center\\">/\\\\_____</h1></a><a href=\\"http://192.168.4.1/ru\\"><h1 align=\\"center\\">_____/\\\\</h1></a></p>\\ 417 <p></p>\\ 418 <p><a href=\\"http://192.168.4.1/ld\\"><h1 align=\\"center\\">\\\\/_____</h1></a><a href=\\"http://192.168.4.1/rd\\"><h1 align=\\"center\\">_____\\\\/</h1></a></p>\\ 419 <p><a href=\\"http://192.168.4.1/do\\"><h1 align=\\"center\\">\\\\/\\\\/</h1></a></p>\\ 420 <p></p>\\ 421 </body>\\ 422</html>", 423 424 hr, min % 60, sec % 60 425 ); 426 427 server.send ( 200, "text/html", temp); 428 Serial.println("SETM7"); 429 430} 431 432void turnOn(){ 433 434 digitalWrite ( led, HIGH ); 435 436 int size=1000; 437 char temp[size]; 438 439 int sec = millis() / 1000; 440 int min = sec / 60; 441 int hr = min / 60; 442 443 snprintf ( temp, size, 444 445"<html>\\ 446 <head>\ 447 <title>UTFPRBOT - 1.0</title>\\ 448 <style>\\ 449 body { background-color: #cccccc; font-family: Arial, Helvetica, Sans-Serif; Color: #000088; }\\ 450 </style>\\ 451 </head>\\ 452 <body>\\ 453 <h3>Request: Light ON</h3>\\ 454 <p>Uptime: %02d:%02d:%02d</p>\\ 455 <p>Status: Light ON</p>\ 456 <p><a href=\\"http://192.168.4.1/on\\"><h1>Turn ON</h1></a></p>\\ 457 <p></p>\\ 458 <p><a href=\\"http://192.168.4.1/of\\"><h1>Turn OFF</h1></a></p>\ 459 <p></p>\\ 460 <p><a href=\\"http://192.168.4.1/st\\"><h1 align=\\"center\\">STOP</h1></a></p>\\ 461 <p></p>\\ 462 <p><a href=\\"http://192.168.4.1/up\\"><h1 align=\\"center\\">/\\\\/\\\\</h1></a></p>\\ 463 <p></p>\\ 464 <p><a href=\\"http://192.168.4.1/lu\\"><h1 align=\\"center\\">/\\\\_____</h1></a><a href=\\"http://192.168.4.1/ru\\"><h1 align=\\"center\\">_____/\\\\</h1></a></p>\\ 465 <p></p>\\ 466 <p><a href=\\"http://192.168.4.1/ld\\"><h1 align=\\"center\\">\\\\/_____</h1></a><a href=\\"http://192.168.4.1/rd\\"><h1 align=\\"center\\">_____\\\\/</h1></a></p>\\ 467 <p><a href=\\"http://192.168.4.1/do\\"><h1 align=\\"center\\">\\\\/\\\\/</h1></a></p>\\ 468 <p></p>\\ 469 </body>\\ 470</html>", 471 472 hr, min % 60, sec % 60 473 ); 474 475 server.send ( 200, "text/html", temp); 476 Serial.println("SETM8"); 477} 478 479void turnOff(){ 480 481 digitalWrite ( led, LOW ); 482 483 int size=1000; 484 char temp[size]; 485 486 int sec = millis() / 1000; 487 int min = sec / 60; 488 int hr = min / 60; 489 490 snprintf ( temp, size, 491 492"<html>\\ 493 <head>\ 494 <title>UTFPRBOT - 1.0</title>\\ 495 <style>\\ 496 body { background-color: #cccccc; font-family: Arial, Helvetica, Sans-Serif; Color: #000088; }\\ 497 </style>\\ 498 </head>\\ 499 <body>\\ 500 <h3>Request: Light OFF</h3>\\ 501 <p>Uptime: %02d:%02d:%02d</p>\\ 502 <p>Status: Light OFF</p>\ 503 <p><a href=\\"http://192.168.4.1/on\\"><h1>Turn ON</h1></a></p>\\ 504 <p></p>\\ 505 <p><a href=\\"http://192.168.4.1/of\\"><h1>Turn OFF</h1></a></p>\ 506 <p></p>\\ 507 <p><a href=\\"http://192.168.4.1/st\\"><h1 align=\\"center\\">STOP</h1></a></p>\\ 508 <p></p>\\ 509 <p><a href=\\"http://192.168.4.1/up\\"><h1 align=\\"center\\">/\\\\/\\\\</h1></a></p>\\ 510 <p></p>\\ 511 <p><a href=\\"http://192.168.4.1/lu\\"><h1 align=\\"center\\">/\\\\_____</h1></a><a href=\\"http://192.168.4.1/ru\\"><h1 align=\\"center\\">_____/\\\\</h1></a></p>\\ 512 <p></p>\\ 513 <p><a href=\\"http://192.168.4.1/ld\\"><h1 align=\\"center\\">\\\\/_____</h1></a><a href=\\"http://192.168.4.1/rd\\"><h1 align=\\"center\\">_____\\\\/</h1></a></p>\\ 514 <p><a href=\\"http://192.168.4.1/do\\"><h1 align=\\"center\\">\\\\/\\\\/</h1></a></p>\\ 515 <p></p>\\ 516 </body>\\ 517</html>", 518 519 hr, min % 60, sec % 60 520 ); 521 522 server.send ( 200, "text/html", temp); 523 Serial.println("SETM9"); 524} 525 526void loop() { 527 //IPAddress myIP = WiFi.softAPIP(); 528 //Serial.print("AP IP address: "); 529 //Serial.println(myIP); 530 server.handleClient(); 531} 532
Downloadable files
ESP8266 witing to deploy HTTP Web Server with Arduino Board
ESP8266 witing to deploy HTTP Web Server with Arduino Board
ESP8266 wiring to firmware update with FLASH Download Tools
ESP8266 wiring to firmware update with FLASH Download Tools
Arduino + L298N motor drive wiring
Arduino + L298N motor drive wiring
ESP8266 witing to deploy HTTP Web Server with Arduino Board
ESP8266 witing to deploy HTTP Web Server with Arduino Board
ESP8266 wiring to firmware update with FLASH Download Tools
ESP8266 wiring to firmware update with FLASH Download Tools
Arduino + L298N motor drive wiring
Arduino + L298N motor drive wiring
Comments
Only logged in users can leave comments
luciorocha
0 Followers
โข0 Projects
Table of contents
Intro
26
0