Uploaded by abisramon2017

Sistema de Telemetrías basado en SBC

advertisement
Sistemas embebidos en SBC
A. A. González-Molina, y N. N.Rodriguez-Villarruel
Universidad Pedagógica y Tecnológica de Colombia, Facultad de Ingeniería, Escuela de Ingeniería Electrónica
Resumen—En este informe se investiga y desarrolla un sistema
de telemetría utilizando una SBC como Raspberry Pi 4, la cual
cumple la función de plataforma central para adquirir datos de
sensores en tiempo real y transmitirlos sobre una dashboard en
grafana, la cual muestra de manera gráfica los datos adquiridos
por los sensores (DTH11, MQ135 Y BH1750).
recopilación tanto de extracción como de inserción basados en
el uso del complemento. También está equipado para manejar
el análisis de una cantidad considerable de formatos de datos,
incluidos Prometheus , JSON, XML, CSV y muchos más. [8]
Abstract-- This report investigates and develops a telemetry
system using a SBC like Raspberry Pi 4, which serves as a central
platform to acquire sensor data in real time and transmit them on
a dashboard in grafana, which graphically displays the data
acquired by the sensors (DTH11, MQ135 and BH1750).
I.
INTRODUCCIÓN
Más y más empresas se suman a tener un mayor control de su
infraestructura , ya sea en la nube o en sus instalaciones.
Comprendiendo que, entre las mejores herramientas para
manejo de datos de series temporales, agentes para recopilar
métricas y monitorizar por medio de un análisis de datos de
alta calidad es clave para manejar mejor los costes y mitigar
incidencias dentro de la organización.[6]
Fig. 2. Arquitectura de telegraf
InfluxDB: Es donde Telegraf manda toda esta información,
InfluxDB está especialmente diseñado para almacenar de
manera eficiente una cantidad importante de información,
además se pueden definir periodos de retención de la
información en caso de que tengamos un problema de
performance.[7]
InfluxDB tiene la capacidad de abordar casos de uso tanto de
monitoreo como de observabilidad. Veamos la diferencia
entre las dos:
Fig. 1.Esquema lógico de la infraestructura.
La stack de desarrollo TIG es la que se implementa para hacer la recolección
de datos y visualización en Dashboard. A continuación se muestra contenido
detallado de su estructura[Fig.1]:
Telegraf: Se encarga de recolectar todos los datos que le
pasamos mediante el fichero de configuración, Telegraf
colecciona el resultado de los outputs que tenemos
configurados, como son CPU/RAM/LOAD o servicios como
Nginx, MariaDB,etc.[7]
Telegraf es nuestro agente de recopilación de datos de código
abierto diseñado específicamente para recopilar métricas y
eventos. Equipado con más de 300 complementos para ingerir,
transformar y generar datos, es un agente versátil para datos de
series temporales. La comunidad se refiere a él como la navaja
suiza de la recopilación de datos de monitoreo y observabilidad
debido a su capacidad para implementar métodos de
El monitoreo implica la recopilación y análisis de métricas,
registros y eventos para realizar un seguimiento del
rendimiento del sistema. Utilizando reglas y umbrales
predefinidos, el proceso de monitoreo detecta problemas
potenciales y genera alertas cuando se producen violaciones de
los umbrales, lo que ayuda a mantener la salud del sistema.
Puede aplicar este enfoque en varios tipos de infraestructura,
tanto en el ámbito físico como en el digital.
La Observabilidad lleva al monitoreo un paso más allá para
incluir la instrumentación tanto del código como de la
infraestructura para exponer los datos pertinentes. Esto permite
a los equipos comprender profundamente el comportamiento
de sus sistemas. Al correlacionar datos de diversas fuentes,
facilita el diagnóstico de problemas y la identificación de las
causas fundamentales. Esto, a su vez, proporciona
conocimientos prácticos para una resolución eficaz de
problemas. El rastreo , que mapea el recorrido de las
solicitudes o transacciones a través de los componentes de un
sistema, es la herramienta de observabilidad por excelencia.[8]
1
A primera vista, el monitoreo y la observabilidad pueden
parecer tener el mismo propósito, pero abordan el estado del
sistema desde ángulos distintos. El monitoreo es proactivo y
establece reglas y umbrales predefinidos para garantizar que
los sistemas funcionen dentro de los parámetros deseados. Se
trata de garantizar que todo esté "en el buen camino" y alertar
cuando no lo esté. Por otro lado, la observabilidad es de
naturaleza más diagnóstica. Se trata de comprender "por qué"
sucedió algo y profundizar en el comportamiento del sistema.
Si bien ambos tienen como objetivo mantener la salud y el
rendimiento del sistema, el monitoreo se trata más de detectar
problemas conocidos, mientras que la observabilidad se centra
en explorar problemas desconocidos. Sin embargo, en el
panorama de la gestión de sistemas modernos, son
complementarios. Juntos, proporcionan una visión holística del
estado, el rendimiento y el comportamiento del sistema,
garantizando tanto solidez como resiliencia.[8]
Grafana: Es el Dashboard que se encarga de mostrar toda la
información que InfluxDB tiene almacenado en las bases de
datos. [7]
Al obtener los datos se procede a realizar algo con estos. Esto
depende de las propias iniciativas o de la infraestructura actual
de la empresa. Grafana es una plataforma de monitoreo y
visualización de datos de código abierto.Permite a los usuarios
crear paneles interactivos para el análisis de datos en tiempo
real y el seguimiento de métricas en varias fuentes de datos. Es
una de las plataformas más utilizadas con InfluxDB.[8]
II.
Fig. 3.Magnetización como una función del campo aplicado.
B. Configuración de telegraf
Para la configuración de telegraf se necesita modificar ciertas
opciones que se encintan en el archivo telegraf.conf que se
encuentra en la dirección /etc/telegraf/telegraf.conf como se
muestra en la [Fig.4 ] y la [Fig.5 ]
DESARROLLO DE LA PRÁCTICA
Como primera medida se tuvo en cuenta que el sistema
operativo de la SBC utilizada en este laboratorio (Raspberry Pi
4) estuviese funcionando en óptimas condiciones, para no tener
inconvenientes a la hora de la instalación de la stack TIG.
A. Instalación telegraf
Para la instalación de telegraf se buscó en la página principal
de influxdb las sentencias para instalar telegraf
curl -s https://repos.influxdata.com/influxdata-archive.key >
influxdata-archive.key
echo
'943666881a1b8d9b849b74caebf02d3465d6beb716510d86a39f
6c8e8dac7515 influxdata-archive.key' | sha256sum -c && cat
influxdata-archive.key | gpg --dearmor | sudo tee
/etc/apt/trusted.gpg.d/influxdata-archive.gpg > /dev/null
echo
'deb
[signed-by=/etc/apt/trusted.gpg.d/influxdata-archive.gpg]
https://repos.influxdata.com/debian stable main' | sudo tee
/etc/apt/sources.list.d/influxdata.list
sudo apt-get update && sudo apt-get install telegraf
Fig. 4 .Configuración Telegraf
2
D. Instalación grafana
Para la instalación de grafana primero se creó un archivo
llamado ssh en el directorio de inicio. Esto con el fin de
habilitar SSH para que se pueda iniciar la sesión de forma
remota. Para ello se utiliza el comando “sudo nano ssh”.[2]
[Fig.8].
Para la instalación de Grafana primero se debe agregar la clave
APT utilizada para autenticar paquetes.[2] [Fig.]
Fig.8 .Clave APT para autenticar paquetes.
Se procede a instalar grafana mediante los comandos: “sudo
apt-get update” y “sudo apt-get install -y grafana”. [Fig.9].
Fig. 5.Configuración Telegraf
Después se muestra el status de telegraf para ver si la
instalación fue correcta, en ocasiones se requiere reiniciar el
paquete para ser correctamente leído como se muestra en la
[Fig. 6 ].
Fig.9 Primeros comandos para la instalación de grafana.
Luego de ello Grafana ya se encuentra instalado, pero aún no
se está ejecutando. Para asegurar que Grafana se inició, se debe
habilitar e iniciar el servidor de Grafana. [Fig.10]
Fig.10 .Habilitar e iniciar el servidor Grafana.
Fig. 6.Status Telegraf
C. Instalación Influxdb
Posterior a ello Grafana se está ejecutando en la máquina por lo
que se procede a abrir el navegador con la dirección
http://localhost:3000 , dado que “localhost” es la ip de la
raspberry pi 4 para otros sistemas simplemente sería
http://<ip_rasberry_pi>:3000 .
Al colocar la dirección respectiva se visualiza una interfaz de
usuario que tiene Grafana por defecto para ingresar “usuario”
y la contraseña, para este caso se coloca en ambos espacios
“admin”.[Fig.].
Fig. 7. Instalación InfluxDB.
3
Fig. 14 Se selecciona InfluxDB.
Fig.11 Interfaz de inicio Grafana.
Al ingresar se muestra la interfaz principal [Fig.].
Fig.15 Configuración InfluxDB.
Se colocan los datos de la base de datos creada, para este caso
se llama “telegraf”.[Fig.].
Fig.12 Interfaz principal Grafana.
E.
Configuración de grafana
Se necesita añadir la base de datos que se creó en InfluxDB ,
para ello se busca la opción añadir “Data sources” y se escoge
InfluxDB.[Fig.].
Fig.16 Información de la base de datos creada.
Finalmente se coloca el id de la Dashboard “10578”. [Fig.].
Fig.13 Data sources Grafana.
4
Fig.17 Load Dashboard.
Fig.21 . Dashboard de las métricas por defecto de la Raspberry Pi 4.
Ahora se crea la database mediante el comando “create
database telegraf”, posterior a ello “use telegraf”, “create user
telegraf_linux with password ‘12345’ with all privileges”,
finalmente se otorgan todos los privilegios utilizando “grant all
privileges on telegraf to tpi”. [Fig.21].
G. Configuración de la carpeta telegraf
Antes de avanzar con el panel de Grafana primero se debe
configurar el archivo telegraf.conf en la Raspberry Pi 4.
Fig.18 Import Dashboard
Al cargar la página nuevamente, se puede observar métricas de
la raspberry pi 4 en la Dashboard configurada.[Fig.19].
Se ubica en este archivo “ [[outputs.InfluxDB]]”, para así
descomentar las líneas “urls, database,username,password” y
llenarlas con sus respectivos datos.[Fig.22].
Fig.22 . Configuración del archivo telegraf.conf mediante comando “sudo
nano /etc/telegraf/telegraf.conf”.
Se guarda los cambios hechos en el archivo telegraf.conf y
cargamos de nuevo el servicio de telegraf mediante el comando
“sudo systemctl reload telegraf.service”. Luego para verificar
que los datos que se colocaron en el archivo se aplicaron
correctamente, se comprueba mediante el comando “sudo
systemctl status telegraf.service”. [Fig.23].
Fig. 19 Dashboard de las métricas por defecto de la Raspberry Pi 4.
F.
Creación de una database para grafana
Luego de la instalación del stack de desarrollo TIG, ahora se
debe crear una base de datos para Grafana mediante influxDB.
Primeramente se digita
comandos.[Fig.20].
“influx”
en
la
ventana
de
Fig.23. Estado del servicio de telegraph.Muestra que está “activo”
H. Configuración e instalación de MQTT
Uno de los métodos de adquisición de datos que se manejaron
es MQTT, el cual es un protocolo de comunicación de datos
mediante “Topics” y las funciones de suscriptor y publicador
5
de mosquitto.
Para la instalación de
siguientes comandos:
mosquitto primero se ponen
los
sudo apt-get update
sudo apt-get install mosquitto mosquitto-clients
mensajes publicados en un “ Topic”, o varios, esto depende de
la aplicación. En cuanto al publicador mosquitto su principal
función es enviar los datos respectivos.
Es así que para definir un “Topic” , se debe digitar el siguiente
comando:
sudo mosquitto_sub -h localhost -t “topic_name”
Posterior a ello, se da inicio al servidor mosquitto mediante el
comando:
Para verificar el estado del servidor mosquitto:
El nombre del “Topic” que se definió es “datasensor”, como el
comando inicia con mosquitto_sub, esto quiere decir que al
cliente suscriptor le va a llegar los datos en esa ventana de
comandos. Para comprobar esto, se abre otra ventana de
comandos y se digita:
sudo systemctl status mosquitto
mosquitto_pub -h localhost -t “datasensor” -m “mensaje”.
En cuanto a la configuración del archivo de texto
mosquitto.conf :
En la parte de “mensaje”, se digita lo que se quiera enviar de
manera manual directamente desde la ventana de comandos.
sudo nano /etc/mosquitto/mosquitto.conf
La verificación de los comandos anteriormente mencionados se
evidencian desde la [Fig.24] y [Fig.25].
sudo systemctl start mosquitto
Al cual se verifica que contenga las siguientes líneas
habilitadas para su correcto funcionamiento:
allow_anonymous false
password_file /etc/mosquitto/passwd
Se guardan los cambios hechos mediante el atajo Ctrl+O, y
Ctrl+X para salir de archivo mosquito.conf.
Para personalizar el broker mosquitto con un usuario y
contraseña, se debe colocar el siguiente comando:
Fig. 24. Comandos de instalación de MQTT y configuración.
sudo mosquitto_passwd -c /etc/mosquitto/passwd
nombre_usuario
Para este caso se definió como nombre de usuario “santiago”,
con su respectiva contraseña.
Fig.25 . Ejemplo de interacción entre suscriptor y publicador de mosquitto.
Para que mosquitto cargue toda está configuración lo que se
hace es restaurar el protocolo de mensajería MQTT, así:
I.
sudo systemctl restart mosquitto
Los sensores que se escogieron para la toma de datos desde la
SBC Raspberry Pi 4 son los siguientes:
Elección y conexión de sensores.
Se inicia nuevamente MQTT:
sudo systemctl start mosquitto
Para probar si la comunicación entre “publicador” y
“suscriptor” es correcta, lo que se hace es definir un “ Topic”,
esto con el fin de que el suscriptor sepa a donde ir, o qué es lo
que va a leer.
Se debe tener presente que el suscriptor de mosquitto es un
cliente que se conecta al servidor mosquitto para recibir
Fig.26 . Sensor DTH11 [3].
6
El sensor DHT11 es un sensor que arroja métricas de
Temperatura y Humedad del ambiente, entregando una señal
digital calibrada, por lo cual, cumple con las necesidades del
sistema de telemetría. [3]
Fig.29 . Conexión de los sensores a la Raspberry Pi-4B.
Fig.27 . Sensor MQ135 [4].
El sensor MQ135 es un sensor de gas que detecta la
presencia de dióxido de carbono, amoniaco, benceno, humo,
entre otros, por lo cual, es útil para el sistema de telemetría,
pues permite detectar la presencia de humo en el datacenter.
Tiene una salida digital y analógica, para este caso, se hace uso
de la salida digital. [4]
J.
Programación en el script de python.
Como primera medida en este apartado se instalan todas las
librerías desde el entorno virtual de python respectivas para
cada uno de los sensores :
Instalación Python [9]
Para instalar Python y todas las dependencias y herramientas
esenciales de compilación en la placa Raspberry Pi, se deben
ejecutar los siguientes comandos:
sudo apt-get update
sudo apt-get install build-essential python3-dev
Antes de iniciar la instalación de las librerías adicionales para
permitir la lectura de los sensores y la conexión con el servidor
MQTT, se debe crear un entorno virtual, pues la placa
Raspberry Pi 4B no permite la instalación directa de dichas
librerías en la placa, por ende se hace necesario crear el entorno
virtual y trabajar completamente en él todo el script de python.
Fig.28 . Sensor BH1750 [5].
Por último, se tiene el sensor de luminosidad BH1750.
Cuenta con una salida digital en formato I2C, que entrega la
intensidad luminosa en Lux (Lx) desde 0 hasta 65534 lux.
La conexión respectiva de la sensórica con la SBC de
desarrollo Raspberry Pi es la siguiente:
Para crear el entorno virtual se deben ejecutar los siguientes
comandos que crean una carpeta llamada SENSORES,
ingresan a la carpeta creada y se crea y activa el entorno virtual
dentro de la carpeta.
mkdir SENSOR
cd SENSOR
python3 -m venv myenv
source myenv/bin/activate
Una vez creado y activo el entorno virtual, se procede con la
instalación de todas las librerías adicionales necesarias para el
funcionamiento adecuado del script.
7
Instalación librería DHT11 [10]
Para instalar la librería que garantiza la correcta lectura del
sensor DHT 11 se deben ejecutar los siguientes comandos:
pip3 install adafruit-circuitpython-dht
sudo apt-get install libgpiod2
Instalación librería BH1750 [11]
Para la correcta lectura del sensor BH1750 se debe instalar la
librería correspondiente a dicho sensor, para ello se ejecuta el
siguiente comando:
pip3 install adafruit-circuitpython-bh1750
Instalación librería Paho [13]
Para poder conectarse con el servidor local MQTT es necesaria
la librería paho-mqtt. Esta librería proporciona una clase
cliente que permite a las aplicaciones conectarse a un broker
MQTT para publicar mensajes (enviar mensajes a Telegraf),
suscribirse a temas y recibir mensajes publicados. También
proporciona algunas funciones de ayuda para que la
publicación de mensajes únicos a un servidor MQTT sea muy
sencilla. [13]
K. Pruebas y evaluación.
Como primera medida la primera comprobación realizada es
que el sistema operativo instalado en el disco duro se encuentre
óptimo para la debida instalación del stack de desarrollo TIG.
Por otro lado uno de los principales objetivos era visualizar las
métricas de la raspberry pi 4 en grafana esto para la
familiarización del proceso TIG, para ya luego proceder a
implementar en el sistema de sensado .
En un script de python 3 se realiza la respectiva creación del
código base de la guia de laboratorio que tiene como fin la
lectura de datos a través de variables definidas, el montaje
realizado de la sensórica y los datos que toma este sistema en
tiempo real se puede visualizar en las siguientes [Fig.30]. y
[Fig.31].
Ahora, para la instalación adecuada se deben ejecutar una serie
de comandos. Primero se escribe el siguiente comando en la
terminal:
pip install paho-mqtt
Adicionalmente se descarga el repositorio de paho donde se
encuentran ejemplos y material complementario a la librería y
se instalan otras dependencias:
git clone https://github.com/eclipse/paho.mqtt.python
cd paho.mqtt.python
pip install -e .
Por último se descargan e instala otro repositorio que permite
realizar pruebas a MQTT:
git clone https://github.com/eclipse/paho.mqtt.testing.git
cd paho.mqtt.testing
git checkout a4dc694010217b291ee78ee13a6d1db812f9babd
Fig. 30. Montaje de los sensores en la placa de desarrollo Raspberry Pi 4.
El sensor MQ135 no necesita librerías adicionales para este
propósito.
En cuanto al código fuente, esté se puede encontrar bajo la
siguiente referencia. [14]
8
rojo). Es decir, este tipo de “alertas” facilitan la interpretación
de los datos.
MQTT fue indispensable para la lectura de los sensores. No
fue posible usar Telegraf por sí solo para la adquisición de las
métricas de los sensores, por ende, se usó finalmente MQTT
como intermediario entre la lectura de los sensores y la
recopilación de los mismos en Telegraf . MQTT
funciona similar a Telegraf, recopila la información de los
sensores, y puede transmitir dicha información (en este caso a
Telegraf). Y Telegraf cuenta con un plugin que permite adquirir
los datos que MQTT recopila, todo en tiempo real. Por ende,
MQTT resultó siendo una herramienta bastante útil e
indispensable para el desarrollo del Sistema de Telemetría.
Fig.31 . Data que se muestra desde la ventana de comandos
III.
ANÁLISIS DE RESULTADOS
Uno de los factores importantes a tener en cuenta es el tipo
de sistema operativo que se haya utilizado, por tal razón es
necesario saber la versión que se ha instalado en la raspberry
para que de esta manera se pueda instalar los paquetes de stack
TIG correctamente sin ningún tipo de problema. Además es
necesario reiniciar los stack TIG instalados para que de esta
manera cualquier problema o fallo se pueda solucionar,
siempre y cuando sean de un nivel superior, es decir, para
errores temporales, paquetes de instalación que no responden y
de esta manera se logre instalar las actualizaciones faltantes
para que los servicios stack TIG puedan arrancar
satisfactoriamente.
Si se elige, por ejemplo, el formato influx para transmitir la
lectura de los sensores, pero se escribe incorrectamente y se
tiene una estructura errónea de la cadena de datos a transmitir,
Telegraf será incapaz de recuperar las métricas transmitidas,
por ende, el Sistema de Telemetría fallará.
En la placa Raspberry Pi 4B, instalar librerías adicionales
para la lectura de los sensores y la conexión y transmisión de
información con MQTT queda imposible. Esta placa tiene
ciertas limitaciones que no se presentan con la placa Raspberry
Pi 3. Por ende, es necesario instalar todas las librerías
adicionales en un solo entorno virtual, de esta manera, si falla
la instalación o hay algún error, se puede borrar el entorno
virtual y crear uno nuevo sin afectar la instalación del STACK
TIG o el propio sistema de la Raspberry. Además usar un
entorno virtual facilita el correcto funcionamiento del script de
python, pues todas las librerías necesarias se instalan sin
ningún tipo de problema.
El uso de Dashboard (Grafana) permite que cualquier
usuario con conocimientos básicos pueda ver e interpretar la
información recopilada y almacenada de los sensores, además
de saber si el sistema presenta temperaturas bajas (color azul
del panel), aceptables (color amarillo del panel) o altas (color
A pesar de que al final por motivos de configuración del
archivo telegraf.conf, no se pudo mostrar las métricas en
tiempo real de los sensores. Se comprendió el funcionamiento
de la Stack TIG. Eso sí es un mundo por estudiar, para la
próxima práctica se mostrará el manejo de esta Stack de
desarrollo.
Cabe notar que en la práctica también se intentó por varios
métodos de adquisición de datos como los archivos.log y lo
que es docker. Aún con estos se nos complicó la manipulación
de los archivos de configuración.
IV.
CONCLUSIONES
Debido a la gran capacidad de procesamiento de la SBC
utilizada se puede realizar la adquisición y almacenamiento
de los datos en tiempo real y poder tener acceso a estos de
manera instantánea y remota con el fin realizar diagnósticos o
análisis de datos para cumplir con el objetivo propuesto en
alguna determinada aplicación, como lo es en el caso del
control de variables ambientales y garantizar un ambiente
óptimo para el adecuado funcionamiento de servidores en los
datacenters.
El sistema de telemetría basado en el stack de desarrollo TIG,
permite tener un mayor análisis en los datos de la sensórica que
se esté midiendo, facilitando así su análisis para futuras
investigaciones.
REFERENCIAS
[1] Khan, A. (1969) Monitoring raspberry pi system using influxdb, Telegraf
and
Grafana.
Available
at:
https://linuxhint.com/monitor-raspberry-pi-system-using-influxdb-telegra
f-grafana/ (Accessed: 06 April 2024).
[2] Install grafana on raspberry pi (no date) Grafana Labs. Available at:
https://grafana.com/tutorials/install-grafana-on-raspberry-pi/ (Accessed:
06 April 2024).
[3] Sensor de temperatura Y Humedad dht11 (no date) Ferretrónica.
Available
at:
9
https://ferretronica.com/products/sensor-de-temperatura-y-humedad-dht1
1?_pos=1 (Accessed: 06 April 2024).
[4] Sensor Gas MQ135 Dioxido de Carbono, Amoniaco, Benceno (no date)
Ferretrónica.
Available
https://ferretronica.com/products/sensor-de-gas-mq135?_pos=1
(Accessed: 06 April 2024).
at:
[5] Sensor de Luminosidad Digital BH1750 (no date) Ferretrónica. Available
at:
https://ferretronica.com/products/sensor-de-luminosidad-digital-bh1750?
_pos=1 (Accessed: 06 April 2024).
[6] Martínez, J. (2023) Monitorizando Datos Con influxdb, Telegraf
Y
grafana,
OpenWebinars.net.
Available
at:
https://openwebinars.net/blog/monitorizando-datos-con-influxdb-telegrafy-grafana/ (Accessed: 10 April 2024).
[7] J. de la Cruz, “En busca del dashboard perfecto: Influxdb, Telegraf Y
grafana – parte II, instalar agente en linux,” El Blog de Jorge de la Cruz,
https://www.jorgedelacruz.es/2016/07/07/en-busca-del-dashboard-perfect
o-influxdb-telegraf-y-grafana-parte-ii-instalar-agente-en-linux/ (accessed
Apr. 10, 2024).
[8] Jay Clifford / Product Aug 29, 2023 (2023) Infrastructure Monitoring
Basics with telegraf, influxdb, and Grafana, InfluxData. Available at:
https://www.influxdata.com/blog/infrastructure-monitoring-basics-telegra
f-influxdb-grafana/ (Accessed: 10 April 2024).
[9] H. Kumar, “Monitoring Temperature and Humidity Using InfluxDb and
Grafana on RaspberryPi”, TerminalBytes, visitado el (10/04/2024),
recuperado
de:https://terminalbytes.com/temperature-using-raspberry-pi-grafana/
[10] Adafruit, “DHT Humidity Sensing on Raspberry Pi or Beaglebone Black
with GDocs Logging”, visitado el (09/04/2024), recuperado de:
https://learn.adafruit.com/dht-humidity-sensing-on-raspberry-pi-with-gdo
cs-logging/python-setup
[11] PyPi, “adafruit-circuitpython-bh1750 1.1.10”, visitado el (09/04/2024),
recuperado de: https://pypi.org/project/adafruit-circuitpython-bh1750/
[12] Adafruit, “Adafruit BH1750 Ambient Light Sensor”, visitado el
(09/04/2024), recuperado de:
https://learn.adafruit.com/adafruit-bh1750-ambient-light-sensor/python-ci
[13] PyPi, “paho-mqtt 2.0.0”, visitado el (09/04/2024), recuperado de:
https://pypi.org/project/paho-mqtt/
[14] https://colab.research.google.com/drive/1qScAFBVK9R3NAT0IQ9KJfIn
BACoU_Gt5?authuser=3#scrollTo=PMPOF-QThgQc
link del video :
https://www.youtube.com/watch?v=5Ch1
OQJxn58
10
Download