Логичным продолжением истории с прошивкой загрузчика данного устройства (раз, два и три) стало создание кастомной прошивки с возможностью передачи потокового видео по протоколу RTSP. Хотя данное ПО и основано на оригинальном образе производителя, из него убраны все функции работы с китайскими серверами и полностью переписан код управляющего приложения.
Описанный мною ранее способ прошивки загрузчика обсуждаемой камеры не очень удобен для рядового пользователя – необходимо не только вскрывать устройство, но и иметь навыки работы с паяльной станцией. К тому же, для выполнения той инструкции необходим программатор и умение работать с ним. Потратив пару дней на чтение китайских форумов (сомнительное “удовольствие”, скажу я вам) и изучение официальной документации к SDK чипа Hi3518EV300 я нашел более удобный вариант перепрошивки U-Boot (и не только).
Поиск компактной и недорогой IP-камеры с симпатичным дизайном внезапно для меня оказался трудной задачей. Однако, мне повезло наткнуться на модель MJSXJ02HL от Xiaomi. Отличный бюджетный гаджет (20-30$) сразу привлек к себе стильным внешним видом. Недолго думая заказал одну штуку для тестов. Но, как выяснилось позже, в новых партиях производитель добавил в U-Boot проверку цифровой подписи файлов прошивок. И на этом, казалось, можно было поставить точку, если бы не идея сделать откат загрузчика до предыдущей версии.
Решил немного оптимизировать свою сеть умного дома и перейти с проприетарного SLS на полностью открытый проект zigbee2mqtt. И чтобы избавиться от одного лишнего узла (в случае с SLS это переделанный ZigBee шлюз от Xiaomi), задумал все настроить на борту Xiaomi Mi Router 3G.
При установке “больших” пакетов на роутер можно столкнуться с проблемой нехватки свободного места. Справиться с этой проблемой можно путем переноса файловой системы на внешний USB накопитель.
Потребовалось мне установить Node.js на свой Xiaomi Mi Router 3G, прошитый под OpenWrt. В дефолтных репозиториях необходимого пакета не оказалось. Немного погуглив, были найдены всего пара источников (раз, два) в которых присутствовали нужные мне ipk файлы. Но, в первом случае они падали с ошибкой “Illegal instruction” (как позже выяснилось, для их работы необходимо пересобрать ядро с поддержкой MIPS FPU Emulator, о чем я расскажу ниже), а во втором версии были слишком старые (v8.17.0) и меня не устраивали (а если бы и устраивали, то я снова бы столкнулся с предыдущей ошибкой). Однако, эти поиски привели меня к проекту nxhack/openwrt-node-packages, бинарники которого можно было собрать самостоятельно, что я и сделал. Делюсь инструкцией по сборке (как и получившимися ipk файлами) со всеми желающими.
Согласно официальной инструкции, у газового котла Baxi ЕСО-4S есть возможность подключения внешнего термостата. В качестве управляющего устройства можно использовать любое реле с “сухими контактами”. Однако, изучив электрическую схему, я пришел к выводу, что Xiaomi Aqara Wireless Relay можно подружить с котлом, применив классический способ его подключения.
Во время подключения реле от Xiaomi совершил ошибку – забыл подключить перемычку между выводами “L” и “IN”. Как итог – глухой хлопок и неработоспособное устройство в руках. Вооружившись паяльником приступаем к починке…
Фотографии вскрытия ZigBee реле от Xiaomi. Может кому пригодятся.