Estación Metereológica¶

Se tiene la siguiente maqueta, que simulará una estación metereológica, que posee diferentes protocolos de comunicación que permiten robustez y adaptabilidad.

Se desea contruir un sistema inalambrico de monitoreo de temperatura y humedad, resistente a diferentes situaciones.

Características¶

Entradas¶

  • Sensor de temperatura y humedad
  • Medida de voltaje

Salidas¶

  • LED multicolor RGB
  • Cooler (ventilador)

Comunicación¶

  • USB-Serial
  • Xbee-Serial
  • Wifi

Arquitectura de un sistema IOT¶

Arquitectura de la maqueta¶

Códigos de ejemplo¶

  • 💾 Conectar Wifi
  • 💾 Enviar Datos
  • 💾 Enviar Datos Reales a Request Catcher
  • 💾 Enviar Datos Reales a Ubidots

Request catcher (enlace)¶

In [9]:
display(IFrame(
    "https://isa.requestcatcher.com/",
    frameborder="0",
    width="100%",
    height="450px"))
In [17]:
myHtml = """
<div><h2>Dashboard en ubidots</h2></div>
<link href="/assets/css/jupyter_nb.css" rel="stylesheet"/>
<script src="/assets/js/jupyter_nb.js"></script>
""" 
display_html(myHtml, raw=True)

display(IFrame(
    "https://stem.ubidots.com/app/dashboards/public/dashboard/w6eBcObiKIIZT2QVpUCny-MpLgiaxeTU5Ug7eS7KXDk?nonavbar=true&embed=true",
    frameborder="0",
    width="800px",
    height="450px"))

Dashboard en ubidots

Creación de una cuenta academica¶

Para la creación de una cuenta academica en Ubidots hacerlo en Ubidots STEM.

Talle de una estación autoadaptable¶

Se posee una estación con un sistema redundante de medidas de temperatura y humedad, por lo que se tiene un sistema principal (maestro) y un sistema de respaldo (esclavo). El sistema principal emitirá datos a la nube siempre que este pueda. Cómo medida de seguridad cuando una variable del sistema principal supere un cierto valor (30°C), emitirá una señal de alerta al sistema secundario via ZigBee (protocolo de comunicación) 3 veces con una espera entre mensajes de 3 segundos. Para identificar de manera visual que los sistemas estan en modo alerta, se mostrará un parpadeo en un led rojo (LR, 500ms encendido y 500ms apagado). Si el sistema principal regresa a rangos normales (<27°C) enviará un mensajes 'O' de OK al sistema esclavo para que este deje de enviar datos siguiendo la misma dinámicas, enviar 3 veces con una espera de 3 segundos.

Propuesta MEF del esclavo¶

  • ESLEEP : Estado del esclavo en espera
  • EWARN : Estado del esclavo en alerta y emitiendo datos por el maestro o con el maestro
  • ROFF : Estado del led rojo apagado
  • RON : Estado del led rojo encendido

donde $p$ es la constante de tiempo del parpadeo (500 ms), $msg$ es la variable donde se guarda el mensaje que llega del maestro, $tr$ es la variable de tiempo relativo para realizar el parpadeo, $P$ es la variable para controlar una MEF desde la otra, $LR$ es el LED Rojo.

Propuesta MEF del maestro¶

  • EOK : Estado del maestro en estado ok, tomando y emitiendo datos
  • EWARN : Estado del maestro en alerta, tomando y emitiendo datos
  • ROFF : Estado del led rojo apagado
  • RON : Estado del led rojo encendido

donde $p$ es la constante de tiempo del parpadeo (500 ms), $tr$ es la variable de tiempo relativo para realizar el parpadeo, $P$ es la variable para controlar una MEF desde la otra, $LR$ es el LED Rojo, $LG$ es el LED Verde, $te$ tiempo entre emisiones, $e$ es la constante de tiempo entre emisiones (3000 ms), $C$ es el contador del número de emisiones, $Tmax$ temperatura que generá alerta (30), $Tmim$ temperatura que regresa el sistema a la normalidad (27).

Una posible solución¶

  • 💾 Código para el esclavo
  • 💾 Código para el maestro