Tutorial del Internet de las Cosas y Bluetooth con el ESP32
Juan Antonio Villalpando
Volver al índice del tutorial
____________________________
108B.- Wemos D1 R32 ESP32. Servidor web. Página web. Botón y LED. Bloques.
- Vamos a crear el código con Bloques.


- En el tutorial anterior vimos cómo podemos crear una aplicación para encender/apagar un LED desde una página web. Creamos todo el código textualmente.
- Existen varias web y algunos programas instalables con los que podemos crear el código mediante bloques.
- Por ejemplo:
- Facilino: http://roboticafacil.es/facilino/blockly/Facilino.html
- Arduinoblocks: http://arduinoblocks.com
- EasyCode: http://easycoding.tn/esp32/demos/code/ (Vídeo Tutoriales)
______________________________
- Vamos a ver un ejemplo con este último, EasyCode:
- Entramos en: http://easycoding.tn/esp32/demos/code/
[Esta es la versión para ESP8266: http://easycoding.tn/tuniot/demos/code/]

______________________________
- Características.
- Cuando cambias los bloques automáticamente cambia el código de Arduino.
- Al revés no puedes, es decir No puedes cambiar el código de Arduino para que se actualicen los bloques.
- Puedes guardar el código en .ino.
- Si quieres guardar los bloques para más adelante volverlos a cargar, deber guardarlo en archivo de tipo XML.
- Para recuperar los bloques guardado debes copiar el archivo XML que has guardado.

______________________________
- Ejemplo de código:
Dos_Botones.xml (Botón derecho del ratón. "Guardar enlace como...")
- Cargamos ese archivo mediante: "Copiar de XML"

webserver_botones_led.ino |
// Juan A. Villalpando.
// KIO4.COM
// Enciende y apaga LED. Botones.
/////////////////////////////////
// Generated with a lot of love//
// with TUNIOT FOR ESP32 //
// Website: Easycoding.tn //
/////////////////////////////////
#include <WiFi.h>
String ClientRequest;
String estado;
WiFiServer server(80);
WiFiClient client;
String myresultat;
String ReadIncomingRequest(){
while(client.available()) {
ClientRequest = (client.readStringUntil('\r'));
if ((ClientRequest.indexOf("HTTP/1.1")>0)&&(ClientRequest.indexOf("/favicon.ico")<0)){
myresultat = ClientRequest;
}
}
return myresultat;
}
void setup()
{
ClientRequest = "";
estado = "";
Serial.begin(9600);
pinMode(2, OUTPUT);
Serial.println("");
Serial.print("Conectando con ");
Serial.println("Nombre_de_red");
WiFi.begin("Nombre_de_tu_red_WiFi","Clave_de_red");
while ((!(WiFi.status() == WL_CONNECTED))){
delay(300);
Serial.print(".");
}
Serial.println("Conectado");
Serial.print("Esta es la IP para conectar: ");
Serial.println((WiFi.localIP()));
server.begin();
}
void loop()
{
client = server.available();
if (!client) { return; }
while(!client.available()){ delay(1); }
Serial.print("Nuevo cliente: ");
Serial.println((client.remoteIP()));
ClientRequest = (ReadIncomingRequest());
Serial.println(ClientRequest);
if (ClientRequest.indexOf("on2") != -1) {
digitalWrite(2,HIGH);
estado = "Encendido";
}
if (ClientRequest.indexOf("off2") != -1) {
digitalWrite(2,LOW);
estado = "Apagado";
}
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println("");
client.println("<!DOCTYPE HTML>");
client.println("<html>");
client.println("<head>");
client.println("<meta charset=utf-8>");
client.println("</head>");
client.println("<body>");
client.println("<center><font face=\'Arial\'>");
client.println("<h1 style=""color:#000000"">");
client.println("Servidor web con ESP32");
client.println("</h1>");
client.println("<h2 style=""color:#009900"">");
client.println("KIO4.COM - Juan A. Villalpando");
client.println("</h2>");
client.println("<h3 style=""color:#000000"">");
client.println("Página web.");
client.println("</h3>");
client.println("<br>");
client.println("<br>");
client.println("<a href=");
client.println("on2");
client.println("><button>");
client.println("Enciende");
client.println("</button></a>");
client.println("<a href=");
client.println("off2");
client.println("><button>");
client.println("Apaga");
client.println("</button></a>");
client.println("<br>");
client.println(estado);
client.println("</font></center>");
client.println("</body>");
client.println("</html>");
client.stop();
delay(1);
Serial.print("Cliente desconectado: ");
Serial.println((client.remoteIP()));
client.flush();
}
|

___________________________________________
- Comentarios.
- Puedes editar el archivo XML online mediante: http://xmlgrid.net/
o con un procesador de texto, pero algunos cambios son complicados de hacer.
- El enlace al ESP32 actualmente está en inglés, pero el ESP8266, lo puedes hacer en español, además los códigos para el ESP32 y ESP8266 son similares, puedes construirlo en español para el ESP8266, solo tienes que cambiar la librería.
http://easycoding.tn/tuniot/demos/code/?lang=es
_______________________________
|