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 😎
Tags
ESP8266
ESP8266 y Firebase
Firebase
Internet de las Cosas
Internet Of Things
IoT
NodeMCU
Real Time Data Base