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


.

Tutorial del Internet de las Cosas con el ESP8266
Juan Antonio Villalpando

Volver al índice del tutorial

____________________________

347B.- ESP8266. App Inventor obtiene el valor de un potenciómetro. WiFi.

p147wemos_potenciometro.aia

- Movemos un potenciómetro y obtenemos su valor en una aplicación de App Inventor.

_________________________________
- Diseño.

_________________________________
- Bloques.

- Debes cambiar el número IP.

_________________________________
- Conexiones.

_________________________________
- Código.

AI2_potenciometro.ino

// Juan A. Villalpando.
// KIO4.COM
// Consulta el estado de los pulsadores.

#include <ESP8266WiFi.h>
 
// Nombre y contraseña de tu red WiFi.
const char* ssid = "Nombre_de_tu_Red_WiFi";
const char* password = "Clave_WiFi";

#define Poten  A0 // AO va al terminal intermedio del potenciómetro.
int valor;
String respuesta = "0";

WiFiServer server(80);
 
void setup() {
  Serial.begin(115200);
  
// Conecta a la red wifi.
  Serial.println();
  Serial.print("Conectando con ");
  Serial.println(ssid);
 
  WiFi.begin(ssid, password);
 
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("Conectado con WiFi.");
 
  // Inicio del Servidor web.
  server.begin();
  Serial.println("Servidor web iniciado.");
 
  // Esta es la IP
  Serial.print("Esta es la IP para conectar: ");
  Serial.print("http://");
  Serial.print(WiFi.localIP());
}
 
void loop() {
  // Consulta si se ha conectado algún cliente.
  WiFiClient client = server.available();
  if (!client) {
    return;
  }
 
  Serial.print("Nuevo cliente: ");
  Serial.println(client.remoteIP());

  // Espera hasta que el cliente envíe datos.
  while(!client.available()){ delay(1); }

/////////////////////////////////////////////////////
// Lee la información enviada por el cliente.
String req = client.readStringUntil('\r');
Serial.println(req);

// Realiza la petición del cliente.
if (req.indexOf("estado") != -1){
   valor = analogRead(Poten); // Consulta el valor del potenciómetro.
   respuesta = String(valor);
   Serial.println(respuesta);
   delay(10);
   }

//////////////////////////////////////////////
  // Página WEB. ////////////////////////////
  client.println("HTTP/1.1 200 OK");
  client.println("Content-Type: text/html");
  client.println(""); //  Comillas importantes.
  
  client.println(respuesta);
  
  Serial.print("Cliente desconectado: ");
  Serial.println(client.remoteIP());
  client.flush();
  client.stop();
}

- Si no te funciona, elimina las dos últimas instrucciones:

// client.flush();
// client.stop();

 

_________________________________
- Propuesta.

- Utiliza un reloj en vez del Botón, para obtener el valor.

_________________________________
- Envía un valor aleatorio de temperatura.

- Escribimos http://192.168.1.7/consulta
(Cambiar la IP)

y obtenemos un valor aleatorio de temperatura.

AI2_temperatura.ino

// Juan A. Villalpando.
// KIO4.COM
// Consulta temperatura.

#include <ESP8266WiFi.h>
 
// Nombre y contraseña de tu red WiFi.
const char* ssid = "Nombre_de_tu_Red_WiFi";
const char* password = "Clave_WiFi";


String temperature = "34";

WiFiServer server(80);

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

// Conecta a la red wifi.
Serial.println();
Serial.print("Conectando con ");
Serial.println(ssid);

WiFi.begin(ssid, password);

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

// Inicio del Servidor web.
server.begin();
Serial.println("Servidor web iniciado.");

// Esta es la IP
Serial.print("Esta es la IP para conectar: ");
Serial.print("http://");
Serial.print(WiFi.localIP());
}

void loop() {
// Consulta si se ha conectado algún cliente.
WiFiClient client = server.available();
if (!client) {
return;
}

Serial.print("Nuevo cliente: ");
Serial.println(client.remoteIP());

// Espera hasta que el cliente envíe datos.
while(!client.available()){ delay(1); }

/////////////////////////////////////////////////////
// Lee la información enviada por el cliente.
String req = client.readStringUntil('\r');
Serial.println(req);

// Realiza la petición del cliente.
if (req.indexOf("consulta") != -1){
temperature = String(random(1,100));
Serial.println(temperature);
delay(10);
}

//////////////////////////////////////////////
// Página WEB. ////////////////////////////
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println(""); // Importante.

client.println(temperature);

Serial.print("Cliente desconectado: ");
Serial.println(client.remoteIP());
// client.flush();
}

 

_______________________________

- 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