Conexión de sensores comerciales de 433 MHz a MQTT y Home Assistant con RTL-SDR

Conexión de sensores comerciales de 433 MHz a MQTT y Home Assistant con RTL-SDR

Nodo de origen: 1786349

Cuando [Elixir of Progress] estaba pensando en instalar sensores ambientales alrededor de su casa 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 (Z-wave) tienen un alcance mayor que el WiFi, son decididamente más caros, patentados y requieren un concentrador transceptor especial. Ahí es donde entran los sensores de 433 MHz para estaciones meteorológicas entra en escena.

La idea es simple: prácticamente todos esos sensores, muchos de ellos aptos para uso en exteriores, utilizan el espectro sin licencia de 433 MHz que puede capturarse fácilmente mediante dongles USB RTL-SDR (radio definida por software) baratos. Con el flujo de datos de estos sensores capturado, el código abierto rtl_433 El proyecto 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 se pueden encontrar a precios bastante económicos, cabe señalar que pueden calentarse bastante. En lugar de disipar el IC, para este proyecto se optó por escuchar solo esporádicamente y permitir que el receptor RTL-SDR se enfríe entre sesiones de escucha.

Obtener los datos desde allí a Home Assistant, InfluxDB o similar es fácil, ya que rtl_433 puede enviar los datos decodificados directamente a una base de datos de Influx, al corredor MQTT y a 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 MQTT como sensores. Al registrar cuidadosamente la ubicación de cada sensor, esto permite configurar una red densa y de muy baja potencia de sensores de 433 MHz con fines de monitoreo y automatización del hogar.

Sello de tiempo:

Mas de Hackear un día