Introducción al IoT

1

Fundamentos del Internet de las Cosas: Conceptos y Aplicaciones Básicas

2

Aplicaciones del IoT en Industria, Agricultura e Infraestructura

3

Desarrollo de Proyectos IoT: Hardware y Planificación Esenciales

4

Herramientas básicas para proyectos de electrónica

5

Impacto y Longevidad en Proyectos IoT

Hardware a utilizar en proyectos de IoT

6

Conexión y lectura de datasheets de sensores electrónicos

7

Sensores para Proyectos IoT: Clasificación y Uso

8

Tipos y Funcionamiento de Actuadores: Selección y Aplicaciones

9

Prueba de Voltaje y Corriente en Actuadores Eléctricos

10

Controladores en IoT: PLC, RTU y Raspberry Pi

11

Uso y Configuración Básica de Raspberry Pi

12

Instalación del Sistema Operativo en Raspberry Pi paso a paso

13

Comandos básicos de Linux para configurar Raspberry Pi

14

Configuración de Wi-Fi y actualización en Raspberry Pi

15

Configuración de Raspberry Pi para Acceso Remoto por SSH

16

Comparativa práctica: Arduino vs Raspberry Pi en proyectos IoT

17

Protocolos de Comunicación para Proyectos IoT

Proyecto del Curso

18

Creación de un Medidor de Calidad de Aire con Sensor y Bot de Twitter

19

Lista de Materiales para Proyecto con ESP8266 y Raspberry Pi

20

Conexión y Configuración de Sensores en Circuitos Electrónicos

21

Programación de Sensores IoT con Arduino y API REST

22

Subida y configuración de código en Wemos y Node para monitoreo IoT

23

Revisión de script Bot.py y manejo de API en Python

24

Creación de Bots en Twitter para IoT con Python y Tweepy

25

Automatización de Tweets con Python y Raspberry Pi usando CronTab

Cierre

26

Construcción de Proyectos IoT con Raspberry Pi y Arduino

27

Conceptos básicos de electrónica y comunicaciones industriales

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Subida y configuración de código en Wemos y Node para monitoreo IoT

22/27
Recursos

¿Cómo subir y verificar el código en un dispositivo Wemos?

Para asegurar una correcta conexión y funcionamiento de tu proyecto con un dispositivo Wemos, es esencial seguir una serie de pasos detallados que garantizarán la eficiencia del proceso. Comenzamos verificando que solo un dispositivo Wemos esté conectado al puerto correcto en tu computadora. Esto excluye errores que puedan surgir por conectar otros dispositivos similares.

  1. Verificación del puerto:

    • Chequear que estés en el puerto correcto antes de compilar o subir cualquier código.
    • Si el Wemos es el único dispositivo conectado, debe aparecer un único puerto disponible.
  2. Subida del código:

    • Presionar el botón de subir en el entorno de Arduino.
    • El sistema recompila el código antes de subirlo, similar a usar ‘Verify’.
    • Durante la carga, observa un LED titilante en el Wemos y puntos de confirmación en la pantalla que indican el progreso de carga hasta el 100%.
  3. Confirmación de conexión e IP:

    • Abre el monitor serial tras la carga exitosa del código.
    • Verifica que se conectó a la red WiFi, que el servidor inició exitosamente y que la dirección IP se muestra correctamente.
  4. Visión de datos vía navegador:

    • Comprueba la dirección IP en un navegador como Firefox.
    • Recibe y procesa datos en formato JSON mostrando temperatura, humedad y contaminación.

¿Cómo clonar el código para el Node?

Clonar código para un dispositivo Node implica criterios similares a los seguidos para el Wemos, con adaptaciones específicas. Un punto clave es ajustar conexiones, como la del sensor digital, al puerto adecuado en Node.

  1. Desconexión del Wemos:

    • Antes de comenzar, desconecta el Wemos y enchufa el Node.
  2. Ajustes en el código:

    • Cambia la conexión del sensor digital al puerto 2 en el Node.
    • Guardar el archivo del código como un nuevo archivo, por ejemplo, "Node Done".
  3. Selección del dispositivo correcto:

    • Cambia la configuración en el entorno Arduino al Node versión 1.0, lo cual también modifica el puerto en su configuración interna.
  4. Compilación y verificación:

    • Ejecuta otra compilación y verificación de código con las nuevas configuraciones.
    • Asegura que está todo correcto antes de subir.
  5. Subida y monitorización:

    • Selecciona el puerto apropiado. Si no, genera un error de espera de puerto.
    • Tras la subida, verifica que el monitor serial conecta correctamente a la nueva IP.

¿Cómo asegurar el funcionamiento de las mediciones de tus dispositivos?

Para corroborar el correcto funcionamiento e integridad de los datos que tus dispositivos generan, se requiere un análisis riguroso.

  1. Confirmar datos ambientales:

    • Observa las medidas de temperatura, humedad y contaminación.
    • Realiza pruebas manuales, como soplar sobre el sensor de humedad, para ver cambios y actualizaciones en tiempo real.
  2. Comparación entre dispositivos:

    • Revisa las similitudes y diferencias en las lecturas entre los dispositivos Wemos y Node.
    • Ajusta configuración si los datos son dispares para evitar falsos positivos.
  3. Conexiones adicionales:

    • Una vez establecidos ambos dispositivos, realiza configuraciones opcionales como conectar a un PI para establecer un controlador maestro.

Adicionalmente, anotar todos los pasos seguidos y tener un registro de cada activación y ajuste realizado, permitirá un control más eficiente y evitará futuros errores o confusiones en la actualización de los datos o en las configuraciones realizadas. Embarcándote en estos proyectos, adquieres destreza en electrónica y programación, camino al dominio de tecnologías emergentes. ¡Sigue en ello!

Aportes 12

Preguntas 6

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Inicie Arduino y abra la ventana de Preferencias.

Ingrese https://arduino.esp8266.com/stable/package_esp8266com_index.jsonen el campo URL de Board Manager adicional . Puede agregar varias URL, separándolas con comas.

Instale en Herramientas>Administrador de librerias> ESP8266, tambien DHT libreria.

Abra Boards Manager desde Herramientas> Menú de placa e instale la plataforma esp8266 generic(y no olvide seleccionar su placa WeMos desde Herramientas> Menú de placa después de la instalación).

Una pregunta, no hay una capa de seguridad al usar la librería aREST? o sea, me refiero, cualquier persona que entre en mi red y conozca de la librería podría pedir datos al nodo

Cordial Saludo..... tengo una duda por qué aparece en el navegador los colores de las letras en verde, azul y fucsia.... además también aparece tabulados y ordenados.... en mi caso en mi navegador aparece todo en una sola línea y en blanco y negro...

En el segundo sensor no se cambio el ID ni el Name

Hola Comunidad Buenas tardes
este es mi código y lo estoy subiendo a una placa ESP8266

//      PROYECTO MEDICION VARIEBLES AMBIENTALES
//        AUTORES:
//          JUAN PABLO MURILLO URREGO
//          ESTEBAN MURILLO URREGO
//      JUNIO 2019

//Incluir Librerias en el Proyecto
#include <ESP8266WiFi.h>
#include <aREST.h>
#include <DHT.h>
#include <DHT_U.h>
#include <Adafruit_Sensor.h>

// Definir Puertos
#define DHTPIN 5
#define DHTTYPE DHT11
#define MQ A0

//Inicializar sensores
DHT dht(DHTPIN, DHTTYPE);

//Crear API Rest
aREST rest = aREST();

//Definir red Wifi a conectar el dispositivo
const char* ssid = "Area Ingenieros Consultores";
const char* password = "ingenieros1975";

// Definir puertos IP para recibir informacion
#define LISTEN_PORT 80

//Crear Instancia de Servidor
WiFiServer server(LISTEN_PORT);


//Definicion de Variables
float mq, humidity, temperature;


//Definir la preparacion del codigo con SETUP
//el Setup solo corre una vez y luego corre el LOOP
void setup(){
  Serial.begin(9600);   // para que los sensores lean a la misma velocidad
  dht.begin();          // Inicializar el sensor

 //Inicializar Variables API
  rest.variable("temperature",&temperature);
  rest.variable("humidity",&humidity);
  rest.variable("contaminacion",&mq);
  
// Nombres de los Dispositivos
  rest.set_id("1");
  rest.set_name("sensor_wemos");

// Conectarse a Internet
  WiFi.begin(ssid, password);
  //Cliclo While para verificar coneccion a wifi. tiempo en milisegundos
  while (WiFi.status() != WL_CONNECTED ){
    delay(500);
    Serial.print(".");
    }
  Serial.println("");
  Serial.println("WiFi connected");

// Inicializar Servidor
  server.begin();
  Serial.println("Server Started");

// IP
  Serial.println(WiFi.localIP());
}


//Ciclo Loop para sensar constantemente
void loop(){
  delay(1000);  //Tiempo entre medidas
//Lectura de Sensores
  mq = analogRead(MQ);    //MQ 135 Concentracion de Gases
  humidity = dht.readHumidity(); // Humedad Relativa 0% - 100% (Punto de Rocio)
  temperature = dht.readTemperature();  // Temperatura 0°C - 120°C

// LLamados al API Rest
  WiFiClient client = server.available(); // esta disponoble el servidor
  if (!client){
    return;
    }
   while(!client.available()){
    delay(1);
    }
  rest.handle(client);
}

Pero cuando voy a a ver los datos json los valores de humedad y temperatura me sale nan

{"variables": {"temperature": nan, "humidity": nan, "contaminacion": 205.00}, "id": "1", "name": "sensor_wemos", "hardware": "esp8266", "connected": true}

me podrían ayudar …
muchas gracias por su atención

En mi caso estoy usando el ESP32 Dev Module.
Tenía unos errores en la versión de la librería aREST:
aREST.h:463:190: error: no matching function for call to 'aREST::addToBufferF(const char [158])'
La corrección a este error es modificar el archivo aREST.h, agregando la siguiente línea después de los defines;
#define __FlashStringHelper char

ejemplo:

#ifndef aRest_h
#define aRest_h
#define __FlashStringHelper char

Espero que les sirva.
Saludos!

Gracias por la información

Muy buena clase

Para este curso necesitamos un Arduino UNO? O funciona con sensores que compramos?

Me aparece Error: ESP8266WiFi.h: No such file or Directory

Tenía un problema; la respuesta de temperatura y humedad me aparecía:

"temperature": nan, "humidity": nan

Esto al tenerlo conectado por USB a la computadora, al conectarlo con un cargador de celular se solucionó, ahora veo:

"temperature": 32.40, "humidity": 28.50

No me abre con la direccion IP 😦