Tecnologías aplicadas a proyectos de dómotica de bajo costo

Implementación (con fines de demostración) de tecnologías de software y hardware aplicadas a proyectos de domótica de bajo costo o con fines educativos. El sistema domótico está planteando en cuatro componentes:

  1. Servidor, broker MQTT
  2. Panel Web
  3. App para Android
  4. Dispositivo basado en ESP8266

Servidor MQTT

En este proyecto se utiliza el Broker MQTT público (y gratuito) de la empresa HiveMQ. Se puede acceder de manera segura en:

Broker: broker.hivemq.com
TCP Port: 1883
Websocket Port: 8000
TLS TCP Port: 8883
TLS Websocket Port: 8884

Panel web

El panel web es un cliente local que envia y recibe información al broker MQTT. Está construido alrededor de herramientas libres y con la intención de ser fácil de mantener y simple.

  • MVP.css, es una hoja de estilo minimalista para elementos HTML
  • P5.js, p5.js es una biblioteca de JavaScript para programación creativa
  • Eclipse Paho JS, es una biblioteca cliente escrita en Javascript que utiliza WebSockets para conectarse a un Broker MQTT

El panel está organizado en tarjetas, donde despliega información o permite interactuar con el hardware.

Panel Web en Android.

App para Android

MQTT Dashboard v2 es una aplicación para Android desarrollada con la herramienta MIT App Inventor. Permite conectarse a un broker MQTT, para enviar y recibir mensajes hacia (y desde) una placa ESP8266 o compatible.

El archivo ./src/apk/MQTT_Dashboard_v2.aia es el proyecto completo escrito en MIT App Inventor. Necesita las siguientes dependencias:

Hardware

El hardware, diseñado con la herramienta KiCad EDA, está basado en una placa NodeMCU (que incorpora el SoC ESP8266), dos pulsadores, un sensor de temperatura y humedad ambiente DHT11, y dos relés para manejar potencia. Se puede alimentar con una fuente de pared de 12V.

El ESP8266 en este caso tiene incorporado el interprete de MicroPython, por lo que el firmware está escrito en ese lenguaje. Para poder conectarse a un broker MQTT necesita el módulo umqttsimple.py.

Descargas

El proyecto completo está accesible en GitHub, mientras que una versión del panel web está en línea en lmtreser.github.io/Demo-Domotica.