Комментарии 10
Есть тупое. Очень тупое решение. Даже два. Когда времени мало, но задачу решить надо.
Первая. Датчик термостата запихивается в термокамеру и управляя температурой в термокамере даем команду на включение или выключение.
Вторая. Мы берем точно такой же термостат и вешаем ему на вход вместо датчика свой эмулятор датчика. Это если мы обладаем способностью перепривязать к бойлеру новый датчик.
Но со взломом радиообмена все-таки интереснее.
Даже два.
Три. Поскольку инерция системы огромная, нам не обязательно эмулировать конкретные показания датчика, достаточно бинароно - "холодно" (бойлер включен на полную) и "жарко" (бойлер выключен). Дальше ШИМ с периодом минут в 10-15.
Раз пошла такая пьянка, делаем так, что датчику бойлера всегда холодно (просто задаем желаемую температуру сильно выше когда-либо достижимой). А бойлер включен в сеть не напрямую, а через наше реле. Не факт, что для здоровья бойлера это полезно, но в части случаев это работает. Нужно больше информации о бойлере.
Если жалко бойлер, то управлять питанием датчика. Скорее всего бойлер выключится без информации от датчика. Поэтому, когда надо греть, даем питание на датчик. Когда не надо греть, отключаем. Порог температуры - повыше. Или не инвазивно: открываем-закрываем клеточку Фарадея с передатчиком. Или по-хакерски, глушить ответный сигнал на той же частоте, когда в эфире посылка. Главное, чтобы бойлер в ошибку не впадал.
Зачем весь этот изврат? Когда можно просто временно поменять приемник у бойлера на свой. Там всего три провода (фаза-ноль и вкл.) или подобное но на 24В. Просто найти мануал на бойлер, снять переднюю панель, откинуть створку с платой и перекрутить три провода (куда подключен имеющийся приемник).
Так-то да, но надо учитывать, что если в американской арендованной квартире вы, как несертифицированный специалист, что-то поменяете и например арендодатель решит внезапно зайти к вам в гости, можно получить большое "а-та-та", о чем в самом начале и говорил автор.
Проводов скорее больше, этот нагреватель похоже много скоростной, может греть быстрее или медленнее. В проводных термостатах бывает два-три контакта, греть на полную мощность или немного если не очень холодно (чуть экономичнее, заметно тише, и меньше износ прибора). Но суть конечно не меняет - добраться до этих контактов обычно проще, чем копировать RF сигнал.
Ещё вариант - использовать передатчик пульта управления. Считывать посылки с ноги МК и отправлять туда же. Возможно, понадобится развязывающий резистор или что-то подобное.
Надеюсь, вмешательство в пульт несертифицированным лицом не карается законом.
У меня двойственное впечатление. С одной стороны HackRF One или его куда как более дешевый китайский клон - это выглядит как из пушки по воробьям. С другой стороны, плыть против течения, причем в одиночку, тоже как-то несильно эффективно - сегодняшняя парадигма дешевого железа и дорогого софта означает, что никто и никогда, кроме хобби и каких-то специальных задач, не станет заниматься оптимизацией и низкоуровневыми вещами, а просто в лоб возьмет что-то с вычислительной мощностью побольше, обмажется фреймворками с библиотеками, и в продакшн. Тогда, наоборот, HackRF One выглядит совершенно адекватным инструментом - дешевый (относительно) хоббийный SDR трансивер с невысокими параметрами (восемь бит это не настоящий приемник, даже 12 бит, что можно найти в приемниках получше, это очень мало), но зато с хорошим частотным диапазоном, позволяющим делать разные интересные вещи от КВ до микроволн. И снова эта двойственность: описание replay "атаки" на железе и софте, изначально предназначенном в том числе и для таких развлечений, вроде как не совсем значимый повод для аж целой статьи или, как в данном случае, перевода, но с другой стороны, опять же, это куда как ближе по духу к Хабру, чем недоприключения недоэмигрантов. Лично от меня плюс.
Народ, а как бы вы решали проблему подключения к умным часам? Часы подключаются только через свою приложуху. Если я хочу написать свое мобильное приложение для подключения к часам, то какой порядок действий? У кого был подобный опыт?
Радиоатака на бойлер