|     Inicio    |   |         |  |   FOROS      |  |      |      
   Elastix - VoIP B4A (Basic4Android) App inventor 2 PHP - MySQL
  Estación meteorológica B4J (Basic4Java) ADB Shell - Android Arduino
  AutoIt (Programación) Visual Basic Script (VBS) FireBase (BD autoactualizable) NodeMCU como Arduino
  Teleco - Emisora de A.M. Visual Basic Cosas de Windows Webs interesantes
Translate:
Búsqueda en este sitio:


.

Tutorial del Internet de las Cosas y Bluetooth con el ESP32
Juan Antonio Villalpando

Volver al índice del tutorial

____________________________

115.- Wemos D1 R32 ESP32. Cliente de un servidor web instalado en el ordenador.

- Vamos a instalar un pequeñísimo servidor web en nuestro ordenador.

- Este servidor tendrá una página web llamada dato.htm su contenido será la frase: Hola amigo.

- El Wemos entrará en esa página web y mostrará en el Monitor Serie esa frase.

- [Más adelante cuando veamos las pantalla LCD, mostrará la frase en la pantalla LCD]

_____________________________________________________________
1.- Instalación de un Servidor web en nuestro ordenador.

- Vamos a esta página:

7B.- Vamos a instalar un pequeño servidor web mediante un archivo de 146 kB.

- Bajamos el archivo: shttp3.exe

- Lo ejecutamos, se creará en nuestro ordenador la siguiente carpeta: C:\shttps

- Entramos en esa carpeta y ejecutamos http.exe

- Vamos a C:\shttps\www y creamos un archivo llamado: dato.htm con este contenido: Hola amigo.

- Si ahora vamos a un navegador web y escribimos la IP del ordenador, por ejemplo: 192.168.1.4/dato.htm

- Saldrá esa frase.

_____________________________________________________________
2.- El ESP32 actúa como cliente y lee la página dato.htm del Servidor del ordenador.

- Ahora la tarjeta del ESP32 entrará en el servidor web del ordenador, leerá el archivo dato.htm y mostrará su contenido en el Monitor Serie.

- En este caso asignaremos a nuestra tarjeta una IP estática.

- Tanto el servidor web del ordenador como nuestra tarjeta con el ESP32 deben estar en la misma red local.

cliente_ip_estatica.ino


#include <WiFi.h>

const char* ssid = "Nombre_de_tu_red_wifi";
const char* password = "La_clave_de_tu_red_wifi";
const char* host     = "192.168.1.4"; // IP del servidor del ordenador o dominio web.
const char* url      = "/dato.htm";   // Página en donde está el dato a mostrar.

IPAddress local_IP(192, 168, 1, 115); // IP estática en la tarjeta del ESP32
IPAddress gateway(192, 168, 1, 1);
IPAddress subnet(255, 255, 255, 0);
IPAddress primaryDNS(8, 8, 8, 8); //opcional
IPAddress secondaryDNS(8, 8, 4, 4); //opcional

void setup()
{
  Serial.begin(115200);

  if (!WiFi.config(local_IP, gateway, subnet, primaryDNS, secondaryDNS)) {
    Serial.println("Fallo en la configuracion de la STACION.");
  }

  Serial.print("Conectado a ");
  Serial.println(ssid);

  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }

  Serial.println("");
  Serial.println("WiFi conectado.");
  Serial.print("IP: ");
  Serial.println(WiFi.localIP());
  Serial.print("ESP Mac: ");
  Serial.println(WiFi.macAddress());
  Serial.print("Máscara de subred: ");
  Serial.println(WiFi.subnetMask());
  Serial.print("Puerta de enlace: ");
  Serial.println(WiFi.gatewayIP());
  Serial.print("DNS: ");
  Serial.println(WiFi.dnsIP());
}

void loop()
{
  delay(5000);

  Serial.print("conectando con ");
  Serial.println(host);

  // WiFiClient es para crear la conexión.
  WiFiClient client;
  const int httpPort = 80;
  if (!client.connect(host, httpPort)) {
    Serial.println("error en la conexión.");
    return;
  }

  Serial.print("Petición de  URL: ");
  Serial.println(url);

  // Esto le envía la petición al servidor web del ordenador.
  client.print(String("GET ") + url + " HTTP/1.1\r\n" +
               "Host: " + host + "\r\n" +
               "Conexión: close\r\n\r\n");
  unsigned long timeout = millis();
  while (client.available() == 0) {
    if (millis() - timeout > 5000) {
      Serial.println(">>> Rebasado 5 segundos.");
      client.stop();
      return;
    }
  }

  // Lee todas las líneas recibidas del servidor y las escribe en el Monitor Serie.
  while (client.available()) {
    String line = client.readStringUntil('\r');
    Serial.print(line);
  }

  Serial.println();
  Serial.println("Conexión cerrada.");
}

_____________________________________________________________
3.- Comentarios.

- Observa que hay un temporizador en el código, en este caso cada 5 segundos chequea la pagina dato.htm, si en el servidor web que tenemos en el ordenador, cambiamos el contenido del archivo dato.htm, se mostrará ese contenido.

- Adaptación de:

https://github.com/espressif/arduino-esp32/blob/master/libraries/WiFi/examples/WiFiClientStaticIP/WiFiClientStaticIP.ino

_____________________________________________________________
4.- Propuesta.

- Además de que salga en el Monitor Serie, que salga en la pantalla LCD, consulta el tutorial 140.

_______________________________

- Mi correo:
juana1991@yahoo.com
- KIO4.COM - Política de cookies. Textos e imágenes propiedad del autor:
© Juan A. Villalpando
No se permite la copia de información ni imágenes.
Usamos cookies propias y de terceros que entre otras cosas recogen datos sobre sus hábitos de navegación y realizan análisis de uso de nuestro sitio.
Si continúa navegando consideramos que acepta su uso. Acepto    Más información