Conexión de sensores comerciales de 433 MHz a MQTT y Home Assistant con RTL
Cuando [Elixir of Progress] buscaba instalar sensores ambientales alrededor de su hogar para realizar un seguimiento de la temperatura, la humedad y demás, las ideas obvias de usar sensores conectados a WiFi no funcionaron debido a la falta de alcance de WiFi. Aunque los sensores Zigbee (onda Z) tienen un mayor alcance que WiFi, son decididamente más caros, patentados y requieren un concentrador transceptor especial. Ahí es donde entran en escena los sensores de 433 MHz para estaciones meteorológicas.
La idea es simple: prácticamente todos esos sensores, muchos de ellos calificados para uso en exteriores, usan el espectro de 433 MHz sin licencia que se puede capturar fácilmente usando dongles USB RTL-SDR (radio definida por software) económicos. Con el flujo de datos de estos sensores capturados, el proyecto de código abierto rtl_433 permite la decodificación automática de estos flujos de datos para una amplia gama de sensores compatibles.
Si bien los RTL-SDR basados en Realtek RTL2832 y otros RTL-SDR se pueden encontrar a un precio bastante bajo, debe tenerse en cuenta que estos pueden calentarse bastante. En lugar de disipar el IC, para este proyecto se eligió escuchar solo esporádicamente y permitir que el receptor RTL-SDR se enfríe entre sesiones de escucha.
Obtener los datos de allí en Home Assistant, InfluxDB o similar es fácil, ya que rtl_433 puede enviar los datos decodificados directamente a una base de datos Influx, un corredor MQTT y otros formatos. En este caso, los datos se enviaron a través de MQTT con la instancia de Home Assistant configurada para tratar estos temas de MQTT como sensores. Con la ubicación de cada sensor cuidadosamente registrada, esto permite configurar una red densa y de muy baja potencia de sensores de 433 MHz para propósitos de monitoreo y automatización del hogar.