Камеру стоимостью около 800 рублей удалось перевести на локальную работу без китайского облака и обязательного аккаунта. Хакинг Wi-Fi камер в этом случае свёлся не к магии нейросети, а к вполне инженерной цепочке: разобрать устройство, снять логи через UART, сопоставить регистры инициализации и собрать патч к открытой прошивке.
Автор эксперимента использовал Claude как помощника при исследовании железа, сообщает Habr / Новости. Итогом стала поддержка конкретной камеры в проекте OpenBeken и локальная функция обнаружения движения: при активности в кадре устройство сохраняет снимок на SD-карту.
Что было внутри камеры
Проблема типична для дешёвых IoT-устройств: железо выглядит пригодным для простого видеонаблюдения, но производитель привязывает его к собственному приложению и удалённой инфраструктуре. Для домашней камеры это означает зависимость от чужого сервера, закрытого интерфейса и правил, которые владелец устройства не контролирует. Даже если сервис работает исправно, такой сценарий плохо сочетается с идеей приватного наблюдения на участке или в локальной сети.
После разборки автор обнаружил микроконтроллер Beken BK7252N — 32-битный ARM-чип с частотой 160 МГц, 544 КБ памяти, встроенным Wi-Fi и параллельным интерфейсом для камеры. За изображение отвечает сенсор GalaxyCore GC0329 с разрешением 648 × 488 точек, или примерно 0,3 Мп. Маркировка HD в карточке товара, как это иногда бывает на маркетплейсах, оказалась скорее художественным высказыванием, чем технической характеристикой.
На плате нашлись контактные площадки RX и TX. Через USB-UART-адаптер автор получил доступ к консоли RT-Thread — распространённой операционной системы реального времени для микроконтроллеров. Это сразу дало точку входа для анализа, но не решило главную проблему: SDK для чипов Beken публично доступен не был. Открытый проект OpenBeken уже умеет заменять штатные прошивки на ряде похожих устройств и использует FreeRTOS, однако именно BK7252N и связка с GC0329 там не поддерживались.
Где пригодился Claude
Исходники OpenBeken загрузили в рабочую папку и дали Claude задачу запустить камеру. Сначала помощник нашёл UART-инструмент для загрузки и сохранил оригинальную прошивку. Затем была собрана версия OpenBeken для близкого чипа BK7231N и прошита в устройство. Контроллер запускался, что подтверждали логи, но камера не проходила инициализацию.
Причина оказалась в различиях между BK7231N и BK7252N: адреса регистров, управляющих тактированием параллельного интерфейса камеры, не совпадали. Их удалось извлечь из штатной прошивки. После исправления тактирование заработало, но кадра всё ещё не было. Для старта сенсора GC0329 требуется записать значения в 259 управляющих регистров. Набор параметров также нашли в оригинальной прошивке и перенесли в новую.
Это важная деталь для разговоров о «vibe coding» и ИИ в embedded-разработке. Claude не получил волшебную кнопку для взлома камеры: нужны были доступ к плате, UART-логи, исходный код OpenBeken, понимание различий между чипами и возможность проверить результат на устройстве. Но он ускорил рутинную и неприятную часть работы — поиск загрузчика, чтение бинарного артефакта, соотнесение адресов и подготовку изменений. Для инженера это похоже не на замену отладки, а на помощника, который не устаёт листать дампы и держать в голове несколько версий гипотезы.
Эксперименту помогла и простая автоматизация стенда. После каждой перепрошивки камеру приходилось перезапускать, поэтому автор подключил её питание через реле, управляемое Arduino по USB. Дальше Claude мог последовательно прошивать устройство, читать диагностику и перезагружать его без ручного выключения питания. В итоге за несколько часов появился патч к OpenBeken и функция Motion detection.
После установки прошивки камера поднимает открытую точку доступа. В веб-интерфейсе по адресу 192.168.4.1 можно указать параметры домашней сети, а затем открыть устройство в локальной сети по адресу вида http://name.local, где имя задаётся в настройках. Автор подчёркивает, что в этой схеме нет сторонних сервисов, регистрации и облака: данные остаются внутри локальной инфраструктуры владельца.
Для разработчиков история показывает практическую ценность ИИ при работе с легаси-железом и закрытыми устройствами: он сокращает путь от «похоже, это совместимо» до проверяемого патча. Для пользователей и бизнеса вывод менее романтичный: дешёвый IoT часто покупается вместе с неочевидной зависимостью от приложения и сервера производителя. Хакинг Wi-Fi камер остаётся занятием для тех, кто готов рисковать устройством и разбираться с UART, но спрос на локальные, проверяемые и независимые от облака устройства точно никуда не денется.