Construye tu Propio Contador de Objetos IoT con ESP8266 y Firebase - Tutorial

Contador de Objetos con ESP8266 y Firebase (ARDUINO) IoT, este tutorial te será muy útil para realizar el conteo de objetos de manera precisa, fácil y rápido.

La tecnología IoT (Internet of Things) continúa revolucionando la forma en que interactuamos con el mundo que nos rodea, y un contador de objetos basado en ESP8266 y Firebase es un claro ejemplo de ello. Este proyecto permite crear un sistema de alta precisión para contar objetos en tiempo real utilizando la NodeMCU ESP8266 y Firebase, la base de datos en tiempo real de Google. A través de este tutorial, aprenderás a configurar, programar y aprovechar este sistema para leer y escribir datos que podrás consultar desde cualquier red, ya sea LAN, WiFi o móvil (4G y 5G).

¿Por Qué Crear un Contador de Objetos IoT?
Un contador de objetos conectado a Internet tiene aplicaciones prácticas en diversas áreas, como el monitoreo de líneas de producción, conteo de inventarios, control de acceso en eventos y mucho más. Con Firebase como base de datos, el acceso a estos datos se vuelve inmediato y seguro desde cualquier lugar del mundo, ofreciendo una solución escalable y eficiente.

Materiales Necesarios
  • NodeMCU ESP8266
  • Sensor de barrera infrarroja o sensor ultrasónico (según tu preferencia)
  • Protoboard y cables de conexión
  • Resistencias y LEDs para pruebas (opcional)
  • Cuenta en Firebase
  • Editor de código como Arduino IDE
Cómo Funciona el Proyecto
El ESP8266 actúa como el cerebro del sistema, detectando objetos a través de un sensor (por ejemplo, un sensor infrarrojo). Cada vez que un objeto pasa frente al sensor, el ESP8266 registra el evento y actualiza la base de datos en tiempo real de Firebase. Desde ahí, los datos pueden ser consultados y visualizados a través de cualquier dispositivo conectado a Internet.

Contador de Objetos con ESP8266 y Firebase (ARDUINO) #IoT



CÓDIGO ESP8266 Y FIREBASE


#include "FirebaseESP8266.h"
#include <ESP8266WiFi.h>

#define FIREBASE_HOST "your-firebaseio"
#define FIREBASE_AUTH "your-token"
#define WIFI_SSID "your-wifi-name"
#define WIFI_PASSWORD "your-wifi-pass"

//Define FirebaseESP8266 data object
FirebaseData firebaseData;
String path = "/Test";

int data=5;
int conteo=0;

void setup() {
  Serial.begin(9600);
  pinMode(data,INPUT);
  
  WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
  Serial.print("Connecting to Wi-Fi");
  while (WiFi.status() != WL_CONNECTED)
  {
    Serial.print(".");
    delay(300);
  }
  Serial.println();
  Serial.print("Connected with IP: ");
  Serial.println(WiFi.localIP());
  Serial.println();

  Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
  Firebase.reconnectWiFi(true);

  //Permite metodos GET y POST en redes con Firewall
  Firebase.enableClassicRequest(firebaseData, true);

  if(Firebase.getInt(firebaseData, path + "/conteo"))
  {
    conteo=firebaseData.intData();
  }
  
}

void loop() {
  if(digitalRead(data)!=1)
  {
    //conteo++;
    conteo++;
    
    Serial.println("------------------------------------");
    Serial.println("[SET]...");
    Firebase.setInt(firebaseData, path + "/conteo", conteo);
    Serial.println("------------------------------------");
  
    while(digitalRead(data)!=1)
    {
      Serial.println("**************");
      Serial.println("Data =" + String(digitalRead(data)));
      Serial.println("**************");
      delay(100);
    }
  }
  Serial.println("Conteo =" + String(conteo));

  delay(100);
}

CÓDIGO CONTADOR DE OBJETOS DE ALTA PRECISION (Humberto Higinio)


int data=5;
int conteo=0;

void setup() {
Serial.begin(9600);
pinMode(data,INPUT);
}

void loop() {

//Serial.println(digitalRead(pinSensor));

if(digitalRead(data)!=1)
{
  conteo++;
  while(digitalRead(data)!=1)
  {
    Serial.println("**************");
    Serial.println("Data =" + String(digitalRead(data)));
    Serial.println("**************");
    delay(100);
  }
}
Serial.println("Conteo =" + String(conteo));
}

*Si aun no sabes como crear un proyecto con ESP8266 y Firebase - Arduino te dejo este enlace donde puedes ver el tutorial con todos los pasos: https://alex7tutoriales.blogspot.com/2020/03/esp8266-y-firebase-arduino.html

*(Humberto Higinio) ✔️ CONTADOR de OBJETOS de 👍ALTA PRECISION con ARDUINO / MUY FACIL: 


Paso a Paso: Configuración del Proyecto
1. Configuración del Hardware
Conecta el sensor al ESP8266:
  • El pin de señal del sensor al pin GPIO del ESP8266 (por ejemplo, GPIO4).
  • Alimenta el sensor con los pines VCC y GND del ESP8266.
  • Opcional: conecta un LED a otro GPIO para que actúe como indicador visual de conteo.
2. Configuración de Firebase
  • Crea un proyecto en la Consola de Firebase.
  • Activa la base de datos en tiempo real y configura las reglas para permitir lectura y escritura.
  • Toma nota de las credenciales de Firebase, como la URL de la base de datos y la clave de autenticación.
3. Programación del ESP8266
Utiliza el Arduino IDE para escribir el código que conectará el ESP8266 a Firebase y gestionará el conteo. Asegúrate de instalar las librerías necesarias como Firebase ESP8266 y ESP8266WiFi.

Ejemplo de código:
#include <ESP8266WiFi.h>
#include <FirebaseESP8266.h>

#define WIFI_SSID "TuRedWiFi"
#define WIFI_PASSWORD "TuContraseñaWiFi"
#define FIREBASE_HOST "TuProyecto.firebaseio.com"
#define FIREBASE_AUTH "TuClaveFirebase"

#define SENSOR_PIN 4
int contador = 0;

FirebaseData firebaseData;

void setup() {
  pinMode(SENSOR_PIN, INPUT);
  Serial.begin(115200);

  WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.println("Conectando...");
  }

  Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
  Firebase.setInt(firebaseData, "/contador", contador);
}

void loop() {
  if (digitalRead(SENSOR_PIN) == HIGH) {
    contador++;
    Firebase.setInt(firebaseData, "/contador", contador);
    delay(500); // Evitar múltiple conteo para un solo objeto
  }
}

4. Visualización de Datos en Firebase
Abre la consola de Firebase y observa cómo los datos se actualizan en tiempo real a medida que pasan los objetos frente al sensor.
Puedes desarrollar una interfaz web o móvil para visualizar estos datos de forma más amigable.

Aplicaciones Prácticas
  • Industria: Conteo automático de productos en una línea de producción.
  • Eventos: Control de acceso en entradas y salidas.
  • Hogar: Monitoreo de objetos o mascotas en espacios específicos.
Mejoras y Personalizaciones
  • Notificaciones: Configura alertas por correo electrónico o mensajes cuando el conteo alcance un número específico.
  • Gráficos: Integra gráficos en tiempo real utilizando herramientas como Chart.js para representar los datos de Firebase.
  • Seguridad: Implementa reglas de seguridad en Firebase para proteger los datos contra accesos no autorizados.
Este proyecto de contador de objetos IoT con ESP8266 y Firebase demuestra cómo combinar hardware y software para crear soluciones prácticas y escalables. Es una excelente introducción al mundo de la IoT, ideal tanto para principiantes como para profesionales que buscan explorar nuevas tecnologías.

Como siempre, espero que estos videos e información les sea muy útil, no olvides suscribirte a mi canal en YouTube. Saludos 😎

Alex7 Tutoriales

Tutoriales que en algún momento te pueden ser útiles.... Suscribete!

Publicar un comentario

Artículo Anterior Artículo Siguiente