Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save Jahziel43/8d3e4b972dfec807efdd61d3f006e102 to your computer and use it in GitHub Desktop.

Select an option

Save Jahziel43/8d3e4b972dfec807efdd61d3f006e102 to your computer and use it in GitHub Desktop.

Nombre: Jahziel Amado López Angulo
Número de Control: 22211593
Correo electrónico: l22211593@tectijuana.edu.mx
GitHub: Jahziel43


🧪 Práctica: Programa envia MQTT a el STACK (mqtt,grafana,influxdb, prometeus)

1️⃣ Comprensión del protocolo MQTT ✅

Explicación detallada:

  • MQTT (Message Queuing Telemetry Transport) es un protocolo de mensajería ligero basado en publish/subscribe, ideal para IoT.
  • Funciona con un broker central que recibe mensajes de publishers (sensores) y los distribuye a subscribers (servicios o dashboards).
  • Ventajas:
    • Bajo consumo de ancho de banda.
    • Baja latencia y confiable en redes inestables.
    • Escalable y fácil de integrar con múltiples dispositivos.
  • Desventajas:
    • Requiere broker central.
    • No gestiona por sí mismo grandes volúmenes de datos complejos.
    • Seguridad depende de TLS/SSL y autenticación.

2️⃣ Implementación en lenguaje favorito (Python) ✅

📸 Evidencias:

  • Captura de terminal mostrando contenido de sensor_mqtt.py en lenguaje Python.
    Doc sensor_mqtt py
  • Captura de terminal con sensor_mqtt.py enviando datos al topic iot/sensores.
    Enviando datos
  • Captura de terminal con mosquitto_sub recibiendo datos del topic iot/sensores.
    Recibiendo datos

3️⃣ Integración con IoT Stack ✅

Flujo de datos:
Sensor MQTT → Broker Mosquitto → Telegraf → InfluxDB → Grafana → Prometheus

📸 Evidencias:

  • Telegraf consumiendo datos sin errores.
    Telegraf Activo
  • InfluxDB mostrando registros de iot/sensores.
    InfluxDB iot/sensores
  • Dashboard Grafana mostrando temperatura y humedad del InfluxDB, y datos de Prometheus como anteriormente ya se habia hecho (CPU, Memoria y Disco).
    Dashboard IoT

4️⃣ Seguridad en la transmisión ✅

Medidas de seguridad implementadas:

  • Autenticación por usuario y contraseña en Mosquitto.
  • Cifrado de la transmisión mediante TLS/SSL.
  • Validación de certificados en Telegraf y Python.

📸 Evidencias:

  • Usuario y contraseña en Mosquitto (En la parte final se muestra el registro de usuario y contraseña)
    Usuario y contraseña
  • Conexión MQTT exitosa con TLS (Casi al final se menciona Connected [ssl://localhost:8883]).
    Telegraf Cifrado TLS/SSL
  • Captura de terminal mostrando contenido de sensor_mqtt.py que demuestra el uso de Certificados donde dice MQTT_TLS.
    Doc sensor_mqtt py

5️⃣ Documentación y reporte de resultados ✅

Resumen:

  • Flujo completo: Python publica → Mosquitto → Telegraf → InfluxDB → Grafana/Prometheus.
  • Datos IoT: Temperatura y Humedad ficticios actualizados cada 5 segundos.
  • Seguridad: TLS/SSL + autenticación.
  • Visualización: Dashboard Grafana actualizado en tiempo real, métricas de Temperatura, Humedad, CPU, Memoria y Disco vía Prometheus.

📸 Evidencias:

  • Dashboard completo mostrando métricas IoT y de infraestructura.
    Dashboard IoT

📦 Entregables

  • Capturas de pantalla de todas las configuraciones y ejecuciones en EC2.
  • Dashboard Grafana funcionando con datos reales simulados vía MQTT.
@IoTeacher
Copy link

Gracias con 100

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment