Conectando sensores comerciais de 433 MHz a MQTT e assistente doméstico com RTL
Quando [Elixir of Progress] estava pensando em instalar sensores ambientais em sua casa para monitorar temperatura, umidade e outros, as ideias óbvias de usar sensores conectados por WiFi não funcionaram devido à falta de alcance do WiFi. Embora os sensores Zigbee (Z-wave) tenham um alcance maior que o WiFi, eles são decididamente mais caros, proprietários e requerem um hub transceptor especial. É aí que entram os sensores de 433 MHz para estações meteorológicas.
A ideia é simples: praticamente todos esses sensores – muitos deles classificados para uso externo – usam o espectro não licenciado de 433 MHz que pode ser facilmente capturado usando dongles USB RTL-SDR (rádio definido por software) baratos. Com o fluxo de dados desses sensores capturados, o projeto rtl_433 de código aberto permite a decodificação automática desses fluxos de dados para uma ampla gama de sensores suportados.
Embora os RTL-SDRs baseados em Realtek RTL2832 e outros RTL-SDR possam ser encontrados por um preço bastante barato, deve-se notar que eles podem funcionar muito bem. Em vez de dissipar o calor do IC, para este projeto foi escolhido ouvir apenas esporadicamente e permitir que o receptor RTL-SDR esfriasse entre as sessões de audição.
Obter os dados de lá para o Home Assistant, InfluxDB ou similar é fácil, pois rtl_433 pode enviar os dados decodificados diretamente para um banco de dados Influx, corretor MQTT e outros formatos. Nesse caso, os dados foram enviados via MQTT com a instância do Home Assistant configurada para tratar esses tópicos MQTT como sensores. Com a localização de cada sensor cuidadosamente registrada, isso permite configurar uma rede densa e de baixíssima potência de sensores de 433 MHz para fins de monitoramento e automação residencial.