433,92 МГц вентилятор освободили от облака через RTL-SDR + ESP32-C6
Потолочный вентилятор Dreo CLF513S принимает 33-битную радиокоманду, передаваемую пять раз с интервалом 8.8 мс. Захват RTL-SDR показал OOK-сигнал на 433.92 МГц с элементарным тактом 300 мкс, а открытая реализация на ESP32-C6 воспроизводит временную диаграмму через RFM69HCW. Главная граница решения связана с отсутствием телеметрии от вентилятора.
Для потолочного вентилятора Dreo CLF513S опубликована локальная RF-интеграция, повторяющая команды штатного пульта на частоте 433.92 МГц. Радиоанализ выполнили с RTL-SDR, а передатчик собрали на Seeed Xiao ESP32-C6 и модуле RFM69HCW для диапазона 433 МГц. Управление заведено в MQTT и Home Assistant, поэтому команды питания, скорости и света могут отправляться локально по радиоканалу.
Регистрационные материалы для пульта DR-RM43301, проходящего по FCC ID 2A3SYDRCF01, фиксируют частоту 433.92 МГц. В документации модуляция обозначена как FSK, однако захваченные посылки имеют характерную для амплитудного ключевания огибающую. В опубликованной реализации сигнал трактуется как ASK/OOK: передатчик формирует логические уровни на выводе DIO2 RFM69, а чип работает в непрерывном OOK-режиме. Такое расхождение показывает ограниченную ценность одного поля модуляции в испытательной документации для задачи повторения реального эфира.
Одна команда начинается с преамбулы из восьми нулей, затем следуют постоянная sync-последовательность длиной 20 бит и payload на 13 бит. Полный кадр занимает 41 бит. Логический ноль кодируется последовательностью 1000, единица — 1110. Каждый элемент этой четырёхсимвольной группы длится 300 мкс, поэтому на один информационный бит приходится 1.2 мс. После отправки кадр повторяется ещё четыре раза; задержка между кадрами составляет 8.8 мс. Пятикратная передача повышает вероятность приёма в бытовой обстановке, где антенна пульта, положение корпуса и многолучёвость в помещении заметно меняют уровень сигнала.
В коде передатчика временная структура задана программно: состояние DIO2 переключается с периодом 300 мкс, а после каждой полной последовательности вызывается задержка 8800 мкс. Такой способ обходит необходимость восстанавливать внутренний пакетный формат RFM69 и позволяет воспроизводить OOK-посылку в точном виде, включая преамбулу, sync и интервалы. Цена подхода заключается в зависимости от стабильности программных задержек и от конкретного радиомодуля. Для коротких кадров с миллисекундной длительностью это допустимо, однако перенос на иную платформу потребует проверки осциллографом или SDR-приёмником.
Интеграция управляет предполагаемым состоянием устройства. Приёмного канала у вентилятора для подтверждения команды нет, а передатчик ESP32 не получает сведений о фактической скорости, включённом свете или питании. Нажатие штатного пульта либо отключение настенным выключателем создаёт рассинхронизацию между физическим устройством и сущностью Home Assistant. Локальная модель состояния пригодна для отправки команд, но не служит измерением состояния нагрузки.
Работа также не устанавливает свойства защиты протокола. Зафиксирован повтор фиксированных кадров для одного комплекта оборудования; анализ rolling code, идентификаторов привязки, контрольной суммы и совместимости с другими экземплярами CLF513S не опубликован. При этом проект даёт воспроизводимый пример бытового RF reverse engineering, где параметры кадра подтверждаются одновременно SDR-захватом и исходным кодом передатчика: частота 433.92 МГц, OOK, 300 мкс на символ, пятикратный replay и пауза 8.8 мс.