Pues bueno en este pequeño espacio les compartiré una serie de tutoriales que realicé para darles un abre bocas de lo fascinante que es este tipo de aplicaciones usando Arduino o específicamente la placa ESP8266.
Después de ver esto podrán tener el punto de partida para que impresionen a sus Maestros o Profesores con sus proyectos.
Bueno antes de ir de lleno primero es necesario que conozcan un poco de las herramientas que se van a utilizar, quizás es muy probable que ya estés familiarizado con Arduino o la Placa ESP8266, pero ademas de ello es importante que conozcan un poco la base de datos donde se alojarán las variables que enviaremos y recibiremos desde la placa ESP8266 (Arduino).Firebase es una base de datos en tiempo real de Google, por su estructura es una base de datos NoSQL ya que se asemeja a un gran objeto JSON y no usa tablas para almacenar datos, bueno para no enredarlos mucho y hacer la explicación más amigable, hagan de cuenta que la base de datos Firebase es una estructura con ramificaciones, en las cuales se irán almacenando los datos, les dejare una imagen a modo de ejemplo...
Les comparto las pruebas de funcionamiento antes de ver como programar el ESP8266, la conexión entre el ESP8266 y Firebase se probó con la red 4G del Celular y la Red Wifi de hogar.
ESP8266 y Firebase - Prueba de Conexión Arduino a WIFI (IoT)
Links IMPORTANTES:
- Link Gestor de Tarjetas Placa ESP8266: http://arduino.esp8266.com/stable/package_esp8266com_index.json
- Libreria Firebase-Arduino: https://github.com/FirebaseExtended/firebase-arduino
- Firebase: https://firebase.google.com/
CÓDIGO CONEXIÓN DE ESP8266 A FIREBASE
//
// Copyright 2015 Google Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// FirebaseDemo_ESP8266 is a sample that demo the different functions
// of the FirebaseArduino API.
#include <ESP8266WiFi.h>
#include <FirebaseArduino.h>
// Set these to run example.
#define FIREBASE_HOST "your-host"
#define FIREBASE_AUTH "your-key"
#define WIFI_SSID "your-wifi"
#define WIFI_PASSWORD "your-pass-wifi"
void setup() {
Serial.begin(9600);
// connect to wifi.
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
Serial.print("connecting");
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(500);
}
Serial.println();
Serial.print("connected: ");
Serial.println(WiFi.localIP());
Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
pinMode(2, OUTPUT);
}
int n = 0;
void loop() {
// get value
if(Firebase.getFloat("led"))
{
digitalWrite(2, LOW);
}
else{
digitalWrite(2, HIGH);
}
// set value
Firebase.setFloat("number", 7);
// handle error
if (Firebase.failed()) {
Serial.print("setting /number failed:");
Serial.println(Firebase.error());
return;
}
delay(500);
// update value
Firebase.setFloat("number", 27.0);
// handle error
if (Firebase.failed()) {
Serial.print("setting /number failed:");
Serial.println(Firebase.error());
return;
}
delay(500);
// remove value
Firebase.remove("number");
delay(100);
// set string value
Firebase.setString("message", "Alex7 Tutoriales");
// handle error
if (Firebase.failed()) {
Serial.print("setting /message failed:");
Serial.println(Firebase.error());
return;
}
delay(500);
// set string value
Firebase.setString("message", "Suscribete");
// handle error
if (Firebase.failed()) {
Serial.print("setting /message failed:");
Serial.println(Firebase.error());
return;
}
delay(500);
// set bool value
Firebase.setBool("truth", false);
// handle error
if (Firebase.failed()) {
Serial.print("setting /truth failed:");
Serial.println(Firebase.error());
return;
}
delay(1000);
// append a new value to /logs
String name = Firebase.pushInt("logs", n++);
// handle error
if (Firebase.failed()) {
Serial.print("pushing /logs failed:");
Serial.println(Firebase.error());
return;
}
Serial.print("pushed: /logs/");
Serial.println(name);
delay(1000);
}
Bueno ahora les dejo la serie de vídeos explicando paso a paso como lograr conectar la Placa ESP8266 y Firebase, debes tener en cuenta todos los pasos en secuencia como se muestran los vídeos...
ESP8266 y FIREBASE Conexión Leer y Escribir Datos [RealTime Database - IoT]
Relé 5V con ESP8266 y Firebase Conexión (IoT) Tutorial:
https://alex7tutoriales.blogspot.com/2020/03/rele-5v-con-esp8266-y-firebase-conexion.html
ESP8266 y FIREBASE Conexión Leer y Escribir Datos [RealTime Database - IoT]
ESP8266 y Firebase Conexión Base de Datos Tiempo Real (IoT - Wifi)
Relé 5V con ESP8266 y Firebase Conexión (IoT)
ESP8266 y FIREBASE Conexión a base de datos (setting /number failed)
Tarjeta ESP8266 No Encontrada ERROR (SOLUCIÓN)
Programar ESP8266 NodeMCU y Configurar Arduino IDE [IoT]
ESP8266 NodeMCU - Encender LED Interno [ARDUINO]
Crear un Proyecto en FIREBASE [ESP8266 y Firebase IoT]
Espero que esta serie de tutoriales les permita haber formado una concepción de todo lo que pueden crear en sus proyectos de Universidad o Colegio integrando la Placa ESP8266 y Firebase.
ESP8266 y Firebase Conexión a Base de Datos Tiempo Real (IoT) como un Arduino con Wifi. Conecta tu Placa ESP8266 o Arduino a la Base de Datos en Tiempo Real (Real Time DataBase) de forma fácil y rápida con la base de datos de Google llamada Firebase, corrige en FirebaseHttpClient.h static const char kFirebaseFingerprint [] el certificado de conexión y transmite datos en tiempo real.
El folder esta en ~ Arduino / bibliotecas / firebase-arduino-master / src / FirebaseHttpClient.h
Realiza proyectos interesantes de IoT, Internet of Things, Internet de las cosas y Electrónica con esta tarjeta de desarrollo llamada ESP8266 que trae Wifi Integrado.
Este Tutorial corrige el problema que muchos tenían con el certificado de conexión a Firebase de Google. Actualizando un pequeño código de programación en FirebaseHttpClient.h es posible restablecer la conexión a la base de datos.
A medida que pueda seguir haciendo vídeos, si Dios me lo permite les compartire más cosas interesantes en esta página web y en mi canal de YouTube Alex7 Tutoriales.
Incluso conociendo esto y se animan a aprender un poco de HTML, JavaScript y CSS, podrán integrar y controlar el ESP8266 y Firebase en una página web como si fuese un sistema SCADA.
No solo eso, si deciden ir un poco más allá, al integran algunos frameworks para dar un aspecto visual más agradable, los resultados pueden ser muy interesantes. (VueJS, Angular, React, entre otros.)
Si realizas algún proyecto a partir de todo esto que explique me gustaría conocerlo, puedes enviarme fotos o vídeos de tu proyecto a mis redes sociales y podría compartirlo.