Para luego integrarlo en algo MAS GRANDE
(esto ya es su parte y de momento no se puede contar.)


Manejo:


1) Conectarnos a la red wifi creada por el ESP8266

Una Vez Encendido el ESP8266 aparecera una red WIFI llamada ESP HTTP_Control_1_1.jpg

2) Abrir el navegador y teclear la siguiente direccion: http.//192.168.4.1

HTTP_Control_1_2.jpg

3) Pulsar en el enlace de encender/apagar led.

el led deberia responder.
HTTP_Control_1_4.jpg HTTP_Control_1_3.jpg

Explicacion:


1) El programa crea una RED WIFI llamada ESP

  WiFi.mode(WIFI_AP);
  WiFi.softAP("ESP");


2) Despues Arranca un servidor web con 3 paginas.

  servidor_web.on("/LedOn"  , D4a0         );//en la placa WEMOS d1 mini 
  servidor_web.on("/LedOff" , D4a1         );// el led se enciende al poner D4 a 0
  servidor_web.on("/"           , pag_principal);
  servidor_web.begin();


3) Muestra via serie la Direccion (esto es informativo)

  Serial.println("\n\n Iniciando Red WIFI ESP... ");
  Serial.println(" http://192.168.4.1 ");


4) El truco esta en la combinacion de las funciones y las paginas del servidor.

servidor_web.on("/LedOn"  , D4a0 );

Quiere decir que al abrir la direccion http://192.168.4.1/LedOn se lanzara una llamada a la funcion D4a0() que encendera el led.
( en la placa Wemos D1 el led se enciende al poner D4 a 0 )

void D4a0() {
  pinMode(D4, OUTPUT);
  digitalWrite(D4, 0);
  servidor_web.send(200, "text/plain", "Ok D4=0");
}


En esta funcion Enciendo el LED poniendo el pin D4 a 0.

  pinMode(D4, OUTPUT);
  digitalWrite(D4, 0);

Y muesto resultado.

  servidor_web.send(200, "text/plain", "Ok D4=0");




Aqui teneis el codigo completo.

#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
ESP8266WebServer servidor_web(80);

void setup(){
  Serial.begin(115200);
  Serial.println("\n\nIniciando WIFI ESP...");

  WiFi.mode(WIFI_AP);
  WiFi.softAP("ESP");
  
  servidor_web.on("/LedOn"  , D4a0         );//en el WEMOS d1 mini el led  
  servidor_web.on("/LedOff" , D4a1         );//el led se enciende cuandoesta conectado a D4
  servidor_web.on("/"       , pag_principal);

  servidor_web.begin();
  Serial.println("http://192.168.4.1");
}

void loop(){
  servidor_web.handleClient();
  yield();delay(1);//yield() ayuda a manejar la gestion wifi
}

void D4a0() {
  pinMode(D4, OUTPUT);
  digitalWrite(D4, 0);
  servidor_web.send(200, "text/plain", "Ok D4=0");
}

void D4a1() {
  pinMode(D4, OUTPUT);
  digitalWrite(D4, 1);
  servidor_web.send(200, "text/plain", "Ok D4=1");
}

PROGMEM const char Texto_html_pagina_principal[] = 
R"=====(
<a href=/LedOn > Encener LED </a> | 
<a href=/LedOff> Apagar  LED </a>
)=====";

void pag_principal() {
    servidor_web.send(200, "text/html", Texto_html_pagina_principal );
}


En la proxima revision añadire:

  • que se pueda conectar a un wifi
  • que se pueda leer una patilla analogica (A0)

Asi el programa deberia ser totalmente funcional.