Подключение коммерческих датчиков 433 МГц к MQTT и Home Assistant с помощью RTL
Когда [Эликсир прогресса] рассматривал возможность установки датчиков окружающей среды вокруг своего дома для отслеживания температуры, влажности и тому подобного, очевидные идеи использования датчиков, подключенных к Wi-Fi, не сработали из-за недостаточного радиуса действия Wi-Fi. Хотя датчики Zigbee (Z-wave) имеют больший радиус действия, чем Wi-Fi, они явно более дорогие, запатентованные и требуют специального приемопередатчика. Именно здесь на сцену выходят датчики 433 МГц для метеостанций.
Идея проста: практически все эти датчики – многие из них предназначены для использования вне помещений – используют нелицензированный спектр 433 МГц, который можно легко захватить с помощью дешевых USB-ключей RTL-SDR (программно-определяемое радио). Благодаря захвату потока данных от этих датчиков проект rtl_433 с открытым исходным кодом обеспечивает автоматическое декодирование этих потоков данных для широкого спектра поддерживаемых датчиков.
Хотя RTL-SDR на базе Realtek RTL2832 и другие RTL-SDR можно найти довольно дешево, следует отметить, что они могут сильно нагреваться. Вместо того, чтобы охлаждать микросхему, в этом проекте было решено прослушивать только время от времени и давать приемнику RTL-SDR возможность остыть между сеансами прослушивания.
Получить данные оттуда в Home Assistant, InfluxDB или аналогичные программы легко, поскольку rtl_433 может выводить декодированные данные непосредственно в базу данных Influx, брокер MQTT, а также в другие форматы. В этом случае данные были отправлены через MQTT с экземпляром Home Assistant, настроенным на обработку этих тем MQTT как датчиков. Тщательная регистрация местоположения каждого датчика позволяет создать плотную, очень маломощную сеть датчиков 433 МГц для мониторинга и домашней автоматизации.