Uploaded by abisramon2017

2024 Laboratorio 2 SistemasEmbebidos

advertisement
Laboratorio 2 -Microprocesadores
Tema: Sistemas embebidos en SBC
Manuel Andrés Vélez Guerrero, Ph.D.
Oscar Humberto Sierra Herrera, M.Eng.
Objetivo
El objetivo de esta práctica de laboratorio es introducir a los estudiantes en el proceso de recolección de
datos y telemetría, utilizando una Single Board Computer (SBC) como Raspberry Pi 4 u ODROID. La SBC
servirá como plataforma central para adquirir datos de sensores y transmitirlos a una ubicación remota,
facilitando así el monitoreo y análisis en tiempo real de variables específicas. En este contexto, los
participantes se familiarizarán con los principios fundamentales de la adquisición de datos, la conectividad
en red de manera alámbrica o inalámbrica, y los protocolos de comunicación, así como con el diseño y la
implementación de sistemas básicos de telemetría, es decir la familiarización con el desarrollo de sistemas
embebidos.
Material y Equipo Requerido
• Computador Personal y Conexión a Internet.
• Raspberry Pi 4 u Odroid-C4.
• Tarjeta microSD de al menos 16GB, Clase 10/U1/V10. Especificaciones recomendadas: 32GB, Clase U3/V30.
• Sensores: Sensor de Temperatura, Sensor de Humedad Relativa, Detector de CO2, y Sensor de Iluminación.
• Elementos pasivos y de acondicionamiento de señal (en caso de ser requeridos).
Contexto
Un datacenter es un centro físico donde se concentran equipos informáticos, servidores y sistemas de
almacenamiento que gestionan y procesan datos de manera centralizada. Estas instalaciones están
diseñadas para garantizar la disponibilidad, seguridad y eficiencia en el manejo de la información. Los
datacenters pueden variar en tamaño y complejidad, desde pequeñas instalaciones locales hasta grandes
complejos de hiperescala que sirven a empresas globales y proveedores de servicios en la nube [1]. Dentro
de un datacenter, los equipos están organizados en racks o gabinetes, con sistemas de enfriamiento y
alimentación redundantes para mantener un entorno operativo estable. La seguridad física y lógica es
fundamental para proteger los datos contra amenazas como incendios, intrusiones y fallos de hardware.
Un sistema de telemetría basado en SBC (Single Board Computer) permite, entre otras cosas, recopilar
datos de forma continua y en tiempo real sobre diversos entornos, dependiendo de los sensores utilizados
[2]. Para este caso, es requerido que los estudiantes desarrollen habilidades en la configuración y
programación de una Single Board Computer (SBC) como la ODROID-C4 para implementar un sistema de
telemetría en un datacenter, lo cual es imprescindible para garantizar un funcionamiento óptimo y seguro
de servidores y sistemas de cómputo especializados. A menudo, el monitoreo se centra en aspectos
informáticos, como el rendimiento del sistema y las cargas de trabajo virtuales, pero es fundamental
ampliar esta perspectiva para incluir factores ambientales como temperatura, humedad, cantidad de
luminosidad, y la detección de humo o fuego. La falta de una estrategia de monitoreo integral en un
datacenter puede resultar en problemas graves, desde el sobrecalentamiento de equipos hasta la pérdida
de datos críticos. Es crucial contar con herramientas que proporcionen una visión detallada de las
condiciones ambientales, permitiendo a los administradores tomar medidas preventivas y correctivas de
manera proactiva.
Laboratorio 2 -Microprocesadores
Tema: Sistemas embebidos en SBC
Manuel Andrés Vélez Guerrero, Ph.D.
Oscar Humberto Sierra Herrera, M.Eng.
Criterios de diseño de la implementación requerida
Se debe utilizar el lenguaje de programación Python junto con el stack de desarrollo: TIG (TelegrafInfluxDB-Grafana), para la adquisición, almacenamiento y visualización de datos de sensores ambientales,
lo cual constituye la base del sistema de telemetría. Se deja a discreción del estudiante la selección de los
sensores necesarios, su modo de conexión, y las bibliotecas adicionales que se requieran para la
implementación final del proyecto.
•
Python es un lenguaje de programación ampliamente utilizado y versátil que ofrece una amplia
gama de bibliotecas para la adquisición de datos [3]. Puedes utilizar bibliotecas como requests
para obtener datos de sensores a través de API web, pyserial para la comunicación con sensores
a través de puertos serie, o bibliotecas específicas para dispositivos IoT como paho-mqtt para la
comunicación con dispositivos MQTT.
•
Telegraf es un agente de servidor de código abierto escrito en Go que se utiliza para recopilar,
procesar y enviar métricas y eventos a través de diferentes protocolos [4]. Puedes configurar
Telegraf para que recopile datos de los sensores que has adquirido con Python y los envíe a la base
de datos InfluxDB para su almacenamiento.
•
InfluxDB es una base de datos de series temporales de alto rendimiento, especialmente diseñada
para el almacenamiento y la consulta eficientes de datos de series temporales [5]. Una vez que
Telegraf envía los datos recopilados, estos se almacenan en InfluxDB, lo que permite un acceso
rápido y eficiente a los datos históricos.
•
Grafana es una plataforma de visualización y análisis de código abierto que permite crear paneles
dinámicos y personalizables para visualizar datos de diversas fuentes, incluida InfluxDB [6]. Con
Grafana, puedes crear paneles de control interactivos que muestran gráficos, tablas y
visualizaciones de datos en tiempo real, lo que facilita la monitorización y el análisis de los datos
ambientales recopilados.
Procedimiento
1. Configuración de la Placa Raspberry Pi 4 u ODROID-C4 (Puntos extra por utilizar esta SBC):
• Instalar el sistema operativo en la placa. Puede elegir cualquier sistema operativo soportado por
la SBC.
• Configurar la red para la conectividad con la infraestructura del datacenter.
2. Instalación del stack TIG:
• Instalar y configurar Telegraf en la SBC, para obtener y consultar métricas del sistema, como el uso
de CPU, memoria y disco.
• Configurar InfluxDB como una base de datos en tiempo real para almacenar los datos recolectados
por Telegraf.
• Configurar Grafana para crear paneles y visualizar gráficamente los datos de telemetría
almacenados en InfluxDB.
Laboratorio 2 -Microprocesadores
Tema: Sistemas embebidos en SBC
Manuel Andrés Vélez Guerrero, Ph.D.
Oscar Humberto Sierra Herrera, M.Eng.
3. Elección y conexión de Sensores:
• Puede elegir cualquier sensor de temperatura, humedad relativa, CO2 e iluminación, tenga en
cuenta costos, disponibilidad, rango de trabajo, acondicionamiento de señal y protocolos de
comunicación.
• Conectar los sensores de temperatura, humedad relativa, CO2, e iluminación a la SBC según las
especificaciones del fabricante.
4. Programación en Python:
• Desarrollar un script en Python para leer los datos de los sensores conectados en la SBC.
• Utilizar Telegraf para ejecutar el script y enviar los datos recolectados a InfluxDB.
5. Diseño del Sistema de Telemetría:
• Diseñar un panel en Grafana para visualizar en tiempo real los datos de los sensores ambientales.
• Configurar alertas en Grafana para notificar sobre condiciones fuera de los límites predefinidos,
como temperaturas extremas o niveles de CO2 peligrosos.
6. Pruebas y Evaluación:
• Realizar pruebas para asegurar que el sistema de telemetría funcione correctamente.
• Evaluar la efectividad del sistema en el monitoreo del ambiente del datacenter y la detección de
anomalías.
En [7] y [8] puede encontrar algunos ejemplos e información adicional.
Entregables:
1. El prototipo funcional del sistema de telemetría, con su configuración adecuada y completa
tanto en hardware como en software.
2. Realice un informe de laboratorio, formato IEEE, que contenga las siguientes partes: Título,
resumen, introducción, desarrollo (la resolución de cada uno de los puntos de esta práctica,
complementando con análisis de resultados e imágenes de los procesos), conclusiones,
bibliografía en citación formato IEEE y preferiblemente en inglés.
3. Guarde este archivo únicamente en formato PDF como Practica1_Codigo.pdf.
4. Envíe por medio del aula virtual UPTC un solo único archivo en formato PDF con los resultados
pedidos anteriormente.
Referencias:
[1]
[2]
[3]
[4]
Wikipedia, “Datacenter,” 2024. https://en.wikipedia.org/wiki/Data_center (accessed Mar. 01, 2024).
Wikipedia, “Single Board Computer,” 2024. https://en.wikipedia.org/wiki/Single-board_computer (accessed
Mar. 01, 2024).
Python Software FO, “Python,” 2024. https://www.python.org (accessed Mar. 01, 2024).
InfluxData Inc, “Telegraf,” 2024. https://www.influxdata.com/time-series-platform/telegraf/ (accessed Mar.
01, 2024).
Laboratorio 2 -Microprocesadores
Tema: Sistemas embebidos en SBC
[5]
[6]
[7]
[8]
Manuel Andrés Vélez Guerrero, Ph.D.
Oscar Humberto Sierra Herrera, M.Eng.
InfluxData Inc, “InfluxDB,” 2024, [Online]. Available: https://www.influxdata.com.
G. Labs, “Grafana,” 2024. https://grafana.com (accessed Mar. 01, 2024).
Raziel, “Dockerizing Climate & Telemetry,” 2023. https://medium.com/@razielar/dockerizing-climatetelemetry-ac453891196d (accessed Mar. 01, 2024).
A. Fourie, “Telemetry logging to InfluxDB and Grafana on Raspberry Pi,” 2021.
https://anthonyfourie.com/2021/11/01/telemetry-logging-to-influxdb-and-grafana-on-raspberry-pi/
(accessed Mar. 01, 2024).
Download