Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ingeniería Mecatrónica
Práctica No. 4
"HTML Y FIREBASE"
Alan Belman Rodríguez 18030661, Christian Francisco González Cornejo 18030915, Juan Antonio
Valencia Vargas 18031472.
<span>, <img>, <aside>, <audio>, <canvas>, <datalist>,
Resumen—Se realizará una interfaz de usuario en formato <details>, <embed>, <nav>, <output> (en-US), <progress>,
HTML que servirá de ayuda para realizar diferentes consultas en <video>, <ul>, <ol>, <li> y muchos otros.
la base de datos creada previamente en Firebase cuya información
hace referencia a el acceso que se usó para controlar el encendido
Un elemento HTML se distingue de otro texto en un documento
y apagado de un led a través de tecnología RFID en determinada
fecha. mediante "etiquetas", que consisten en el nombre del elemento
rodeado por "<" y ">". El nombre de un elemento dentro de una
Palabras clave: Arduino, RFID, Interfaz de usuario, etiqueta no distingue entre mayúsculas y minúsculas. Es decir,
HTML, Registro se puede escribir en mayúsculas, minúsculas o una mezcla. Por
ejemplo, la etiqueta <title> se puede escribir como <Title>,
Abstract-- A user interface will be created in HTML format that <TITLE> o de cualquier otra forma.
will help to perform different queries in the database previously
created in Firebase whose information refers to the access that was
used to control the switching on and off of a LED through RFID Firebase de Google es una plataforma en la nube para el
technology on a certain date. desarrollo de aplicaciones web y móvil. Está disponible para
distintas plataformas (iOS, Android y web), con lo que es más
Keywords: Arduino, RFID, HTML, Record, User interface rápido trabajar en el desarrollo.
I. INTRODUCTION
HTML (Lenguaje de Marcas de Hipertexto, del inglés
HyperText Markup Language) es el componente más básico de
la Web. Define el significado y la estructura del contenido web.
Además de HTML, generalmente se utilizan otras tecnologías
para describir la apariencia/presentación de una página web
(CSS) o la funcionalidad/comportamiento (JavaScript).
<!DOCTYPE html>
<html>
<head> Fig. 4. representación del código mostrado en la página.
<title>Practica</title>
</head> Conexión con Firebase
<body>
<header> En la última parte del código se añadió un cuadro de información
<img src="logo largo.png"/> y un botón para hacer las consultas en determinadas fechas
<h1 style="text-align:center">Practica: APP web / Fire
base</h1> <div id="ABuscar"> <!-- Consulta de informacion-->
</header> <h3>Consulta</h3>
<p>Fecha</p>
<input id="buscaFecha" type="text"> <br><br>
<!-- <p>Hora</p>
<input id="buscaHora" type="text"><br><br>-->
<button id="buscar">Buscar</button>
Fig. 3. representación del código mostrado en la página.
<h3 id="escribeAccion" type="text"></h3>
Posteriormente se inició una sección que contiene una <h3 id="escribeFecha" type="text"></h3>
descripción del proyecto y una tabla con los integrantes del <h3 id="escribeHora" type="text"></h3>
equipo. Ver figura 4. </div>
<section>
<article> <!-- Informacion del equipo-->
<h3 style="text-align:center">Tercer parcial<br>Internet
de las cosas </h3>
<h3>Integrantes del equipo</h3>
<table>
<tbody>
<tr>
<td>Belman Rodriguez Alan</td>
<td>18030661</td>
Fig. 5. representación del código mostrado en la página.
</tr>
<tr>
<td>Gonzalez Cornejo Christian Francisco</td> Después se hace la parte de conexión a firebase donde se
<td>18030915</td> importan los datos necesarios para conectar con Python, y se
</tr> ajusta la conexión a la cuenta correspondiente.
<tr>
<td>Valencia Vargas Juan Antonio</td> <script type="module">
<td>18031472</td>
</tr> import { initializeApp } from
</tbody> "https://www.gstatic.com/firebasejs/9.6.3/firebase-app.js";
</table>
<h3></h3> const firebaseConfig = {
</article> apiKey:
"AIzaSyBwYJsE3PpSyTxX3LNVZj7IlDmwKPfrO9A",
<article> <!-- Descripcion de la pagina-->
3
import {getDatabase,set,get,update,remove,ref,child}
from "https://www.gstatic.com/firebasejs/9.6.3/firebase-
database.js"
const db=getDatabase();
var
Fig. 6. Portada de la página en HTML.
buscaFecha=document.querySelector("#buscaFecha");
var buscaHora=document.querySelector("#buscaHora");
Tambien se puede aprecias que si no encuentra el usuario,
aparece el mensaje de error.
var btnBuscar=document.querySelector("#buscar");
function BuscarInfo(){
const dbref=ref(db);
get(child(dbref,"practica-
parcial3/RegistrosControl/"+buscaFecha.value))
.then((snapshot)=>{
if(snapshot.exists()){
escribeAccion.innerHTML="Accion del control=
"+snapshot.val().Comunicacion;
Fig. 7. Error de usuario.
escribeFecha.innerHTML="Fecha del control=
"+snapshot.val().Fecha; También si se ingresa un registro existente, manda la
escribeHora.innerHTML="Hora del control= información correspondiente a ese registro, ver figura 8.
"+snapshot.val().Hora;
}else{
alert("No se encontro el usuario");
}
})
.catch((error)=>{
alert(error);
})
}
btnBuscar.addEventListener("click",BuscarInfo)
</script>
</body>
</html>
<header>
<img src="logo largo.png"/>
<h1 style="text-align:center">Practica: APP web / Fire
base</h1>
</header>
<section>
<article> <!-- Informacion del equipo-->
<h3 style="text-align:center">Tercer parcial<br>Internet
de las cosas </h3>
<h3>Integrantes del equipo</h3>
<table>
Fig. 9. Registro existente en firebase. <tbody>
<tr>
IV. CONCLUSIONES <td>Belman Rodriguez Alan</td>
<td>18030661</td>
A. Alan Belman Rodríguez </tr>
La tecnología referente a base de datos es bastante interesante <tr>
y no es para nada complicada de manejar. El saber aplicarla <td>Gonzalez Cornejo Christian Francisco</td>
correctamente abre infinitas posibilidades a aplicaciones reales <td>18030915</td>
y cotidianas relacionadas con la seguridad y una accesibilidad </tr>
amigable al usuario. Además, el guardado de datos aumenta la <tr>
seguridad de nuestro sistema, haciendo de la presente práctica <td>Valencia Vargas Juan Antonio</td>
un avance importante para futuros proyectos. <td>18031472</td>
</tr>
B. Christian Francisco González Cornejo </tbody>
En conclusión, la importancia que tiene la comunicación de </table>
información entre diferentes plataformas de desarrollo como <h3></h3>
pueden ser HTMLy FIREBASE sirve de antesala para futuros </article>
proyectos y prototipos. Además, conjunta la parte de consultas
de una base de datos con la búsqueda de dicha información <article> <!-- Descripcion de la pagina-->
desde otra plataforma, de este modo, acciones que se mandan <p>En esta practica lo que se desea es consultar la
desde un ordenador repercuten de forma física en el entorno de informacion almacenada en una base de datos perteneciente a
una manera casi inmediata. la plataforma FireBase
<br>de google. Esta informacion hace referencia a el
C. Juan Antonio Valencia Vargas acceso para controlar el encendido y apagado de un led a traves
Guardar los datos de un cambio de variables, es importante a de tecnologia RFID.
la hora de hacer registros de actividades en diferentes </p>
plataformas. Además en sistemas multifuncionales donde se </article>
requiere una comunicación a tiempo real, es aún más importante </section>
la comunicación entre distintas plataformas, de manera que se
puedan consultar nuevos datos en tiempo real. <div id="ABuscar"> <!-- Consulta de informacion-->
<h3>Consulta</h3>
REFERENCIAS <p>Fecha</p>
<input id="buscaFecha" type="text"> <br><br>
[1] HTML: Lenguaje de etiquetas de hipertexto | MDN. (2023, 13 marzo). <!-- <p>Hora</p>
https://developer.mozilla.org/es/docs/Web/HTML. <input id="buscaHora" type="text"><br><br>-->
<button id="buscar">Buscar</button>
[2] Mora, S. L. (2022, 4 octubre). Firebase: qué es, para qué sirve,
funcionalidades y ventajas. DIGITAL55. https://digital55.com/blog/que-
es-firebase-funcionalidades-ventajas-conclusiones/ <h3 id="escribeAccion" type="text"></h3>
<h3 id="escribeFecha" type="text"></h3>
ANEXOS <h3 id="escribeHora" type="text"></h3>
</div>
ANEXO I. CÓDIGO FUENTE PARA LA CONFIGURACIÓN DE LA PÁGINA EN HTML
<script type="module">
<!DOCTYPE html>
<html> import { initializeApp } from
<head> "https://www.gstatic.com/firebasejs/9.6.3/firebase-app.js";
<title>Practica</title>
</head> const firebaseConfig = {
<body>
5
apiKey:
"AIzaSyBwYJsE3PpSyTxX3LNVZj7IlDmwKPfrO9A",
authDomain: "practicap3-iot.firebaseapp.com",
databaseURL: "https://practicap3-iot-default-
rtdb.firebaseio.com",
projectId: "practicap3-iot",
storageBucket: "practicap3-iot.appspot.com",
messagingSenderId: "293151403812",
appId:
"1:293151403812:web:b63d8a451e40340f148db1",
measurementId: "G-ZQKX8GVKQF"
};
import {getDatabase,set,get,update,remove,ref,child}
from "https://www.gstatic.com/firebasejs/9.6.3/firebase-
database.js"
const db=getDatabase();
var buscaFecha=document.querySelector("#buscaFecha");
var buscaHora=document.querySelector("#buscaHora");
var btnBuscar=document.querySelector("#buscar");
function BuscarInfo(){
const dbref=ref(db);
get(child(dbref,"practica-
parcial3/RegistrosControl/"+buscaFecha.value))
.then((snapshot)=>{
if(snapshot.exists()){
escribeAccion.innerHTML="Accion del control=
"+snapshot.val().Comunicacion;
escribeFecha.innerHTML="Fecha del control=
"+snapshot.val().Fecha;
escribeHora.innerHTML="Hora del control=
"+snapshot.val().Hora;
}else{
alert("No se encontro el usuario");
}
})
.catch((error)=>{
alert(error);
})
}
btnBuscar.addEventListener("click",BuscarInfo)
</script>
</body>
</html>