3.4 IoT WiFi Interruptor-Tomacorriente: MQTT-HA

Esta es la última sección a realizar, pues se supone que tiene listo el dispositivo, construido y operativas las partes: Dispositivo y Broker.

El objetivo es incorporar dispositivo Interruptor-Tomacorriente en el broker MQTT y observar los resultados.

Se plantea observar los estados del dispositivo en dos formas:

  • Desde un navegador en la página local de Home-Assistant
  • Desde una consola conectando al servidor MQTT

1. Incorporar el dispositivo en Home Assistant

Se requiere modificar el archivo configuration.yaml en el raspberry.

Se puede realizar en forma local desde el raspberry que tiene monitor, teclado y mouse conectado, y editar el archivo que se encuentra en el directorio:

 /home/homeassistant/.homeassistant/configuration.yaml

La otra forma es conectarse via remota por medio de una sesión ssh. Requiere dirección, usuario y password. Los detalles se dan en la sección Raspberry.

En el archivo se añade los datos del dispositivo interruptor-tomacorriente, que en el caso actual para pruebas se identifica como una luminaria (light).

El sensor trabaja con MQTT, se le asigna un nombre más sencillo de reconocer como «oficina luz 1» y se complementa con la instrucción de identificación en el formato: lugar/cosa/acción.

light:
  - platform: mqtt
    name: 'oficina_luz1'
    state_topic: 'oficina/luz1/estado'
    command_topic: 'oficina/luz1/cambia'
    optimistic: false

Se añade la la instrucción de control para el dispositivo (command_topic) también con el formato indicado, «oficina/luz1/cambia».

otra forma de presentación en Home-Assistant. editando las tarjetas por dispositivo (Cards):

 

1.2  Monitoreo desde MQTT

Para monitorear señal desde consola Raspberry usando MQTT, usar la instrucción:

mosquitto_sub -h 192.168.10.100 -t oficina/luz1/estado

En el caso de control del actuador, se utiliza una intruccion semejante para publicar:

mosquitto_pub -h 192.168.10.100 -t oficina/luz1/cambia -m on

Dispositivo como interruptor

Se aplica el mismo concepto del dispositivo para el caso de un interruptor, no necesariamente de luz. Para el caso de interruptor, hay que observar la capacidad máxima de manejo de corriente del Relay usado, para evitar sobrecargas.

Como ejemplo, se presenta el formato para interruptor en Home-Assistant, lo que requiere también realizar un cambio en el archivo.ino en la sección MQTT. Sin embargo no afecta al resto de las instrucciones.

switch:
  - platform: mqtt
    name: 'oficina_Interruptor1'
    state_topic: 'oficina/switch1/estado'
    command_topic: 'oficina/switch1/cambia'
    optimistic: false


Entre algunas de las cosas que se pueden realiza con un dispositivo tipo binario.

3.1 IoT WiFi Sensor-Actuador: Interruptor-Tomacorriente

Presentación

El dispositivo inalámbrico se usa para controlar el estado encendido o apagado (actuador) de un aparato eléctrico AC (lámpara) de baja potencia.

El control se lo puede realizar físicamente al pulsar un interruptor tradicional (sensor) o por medio de una instrucción MQTT.

El sensor de interruptor y el actuador de control AC trabajan en conjunto desde el mismo dispositivo. Éste dispositivo es la integración de los dos dispositivos anteriores: Sensor Puerta-Ventana y Actuador tomacorriente, ambos de estado binario (ON/OFF).

implementación versión 1

La versión 1 mostrada en la imagen se ha instalado en una caja sobrepuesta plástica. Para pruebas, se ha conectado una lámpara al tomacorriente.

El control se realiza tanto por el interruptor como por la página en la computadora, ambos marcados en rojo en la imagen.

La carga máxima AC de control depende del Relé  seleccionado.

Se ha usado una placa perforada para ensamblar el prototipo, sin embargo al final del tema en Placas PCB se presenta el diseño de la placa de circuito.

Premisas para desarrrollo en la versión 1

  • Diseño de dispositivos con conexión inalámbrica WIFI
  • Conoce los datos para conexión a la red a WIFI y broker MQTT
  • Dispone de acceso a un broker MQTT local
  • Dispone de Arduino IDE para cargar las instrucciones en el ESP8266
  • Emplea diseños abiertos tipo: Open Hardware y Open Software
  • Dispone de los componentes en el mercado local
  • Considera componentes alternos a los no disponibles en el mercado local
  • Identifica las etapas de desarrollo e inconvenientes en la implementación

Temas para desarrollo posterior

Incorporar Sensor para medir consumo de energía.

Sensores Analógicos
Ampliar la forma de carga de scripts en el tablero, de forma alámbrica o inalámbrica.

Revisar el uso de los canales WIFI para evitar desconexiones por saturación de canal.

1.1 IoT WiFi Sensor Puerta-Ventana

Presentación

El dispositivo inalámbrico se usa para registrar el estado abierto o cerrado de una puerta o ventana.

Se conoce como sensor binario por determinar estados ON/OFF.

El dispositivo es de tipo inalámbrico-WIFI, usa protocolo MQTT para la comunicación con el broker y se implementa con ESP8266, en modalidad DIY (Do It Yourself).
En éste caso el diseño usa la versión ESP-01.

implementación versión 1

La versión 1 mostrada en la imagen se ha instalado en una puerta en una caja sobrepuesta plástica.


El sensor es un interruptor magnético y la alimentación se realiza con una fuente 110VAC a 5VDC obtenida de un cargador de celular (económico). Se ha usado una placa perforada para ensamblar el prototipo, sin embargo al final se presenta el diseño de la placa de circuito.

Una segunda versión en placa perforada, probando los espacios para el diseño de la PCB.

Premisas para desarrrollo en la versión 1

  • Diseño de dispositivos con conexión inalámbrica WIFI
  • Conoce los datos para conexión a la red a WIFI y broker MQTT
  • Dispone de acceso a un broker MQTT local
  • Dispone de Arduino IDE para cargar las instrucciones en el ESP8266
  • Emplea diseños abiertos tipo: Open Hardware y Open Software
  • Dispone de los componentes en el mercado local
  • Considera componentes alternos a los no disponibles en el mercado local
  • Identifica las etapas de desarrollo e inconvenientes en la implementación.

Temas para desarrollo posterior

  • Otros dispositivos tipo actuadores
  • Ampliar la forma de carga de scripts en el tablero, de forma alámbrica o inalámbrica.
  • Analizar consumos de corriente para uso con baterías.
  • Revisar el uso de los canales WIFI para evitar desconexiones por saturación de canal.

1.4 IoT WiFi Sensor Puerta-Ventana: MQTT-HA

Esta es la última sección a realizar, pues se supone que tiene listo el dispositivo, construido y operativas las partes: Dispositivo y Broker.

El objetivo es incorporar dispositivo sensor puerta-ventana en el broker MQTT y observar los resultados.

Se plantea observar los estados del dispositivo en dos formas:

  • Desde un navegador en la página local de Home-Assistant
  • Desde una consola conectando al servidor MQTT

1. Incorporar el dispositivo en Home Assistant

Se requiere modificar el archivo configuration.yaml en el raspberry.

Se puede realizar en forma local desde el raspberry que tiene monitor, teclado y mouse conectado, y editar el archivo que se encuentra en el directorio:

 /home/homeassistant/.homeassistant/configuration.yaml

La otra forma es conectarse via remota por medio de una sesión ssh. Requiere dirección, usuario y password. Los detalles se dan en la sección Raspberry.

En el archivo se añade los datos del dispositivo sensor, que en el caso del sensor de puerta ventana se clasifica como un sensor de dos estados (binary sensor).

El sensor trabaja con MQTT, se le asigna un nombre más sencillo de reconocer como «puerta oficina»y se complementa con la instrucción de identificación en el formato: lugar/cosa/acción.

binary_sensor:
  - platform: mqtt
    name: 'oficina_puerta1'
    state_topic: "oficina/puerta1/estado"

Se graba el archivo, y se pasa al procedimiento de prueba desde la página de Home-Assistant, seccion de configuración, para luego reiniciar Home-Assistant dese la misma página. (configuration, restart)

El resultado se observa desde una página en un navegador como se muestra en las figuras: para las posiciones de puerta cerrada y abierta

   

Observe el estado de la puerta y la gráfica mostrada en la pantalla del equipo.

  

Referencia: https://www.home-assistant.io/components/binary_sensor.mqtt/

1.2  Monitoreo desde MQTT

Para monitorear señal desde consola Raspberry usando MQTT, usar la instrucción:

mosquitto_sub -h 192.168.10.100 -t oficina/puerta1/estado

Se observarán los valores de cambio de estado cada vez que se realice un cambio en el sensor.