Компиляция Node.js из исходников для Xiaomi Mi Router 3G (OpenWrt)

Потребовалось мне установить Node.js на свой Xiaomi Mi Router 3G, прошитый под OpenWrt. В дефолтных репозиториях необходимого пакета не оказалось. Немного погуглив, были найдены всего пара источников (раз, два) в которых присутствовали нужные мне ipk файлы. Но, в первом случае они падали с ошибкой «Illegal instruction» (как позже выяснилось, для их работы необходимо пересобрать ядро с поддержкой MIPS FPU Emulator, о чем я расскажу ниже), а во втором версии были слишком старые (v8.17.0) и меня не устраивали (а если бы и устраивали, то я снова бы столкнулся с предыдущей ошибкой). Однако, эти поиски привели меня к проекту nxhack/openwrt-node-packages, бинарники которого можно было собрать самостоятельно, что я и сделал. Делюсь инструкцией по сборке (как и получившимися ipk файлами) со всеми желающими.

Кнопка дверного звонка ZigBee

Продолжая автоматизацию квартиры, пришла мысль сделать кнопку дверного звонка с поддержкой ZigBee. В качестве корпуса решил использовать заводскую модель CACAZI A8 с приемлемой стоимостью — около 230 рублей на момент написания этой статьи.

Вольтметр с высоким входным сопротивлением

Для настройки дозиметра, о котором я писал ранее, мне понадобился вольтметр с высоким входным сопротивлением. Обычным мультиметром провести необходимые измерения невозможно. Решил себе сделать небольшое устройство на базе советского микроамперметра M2003 и операционного усилителя LM358. Принцип работы достаточно прост — через делитель напряжения с общим сопротивлением более 150 МОм измеряемое напряжение поступает на вход ОУ, выход которого управляет базой биполярного транзистора 2N2222. Последний же, приоткрываясь, позволяет течь току с батареи питания через микроамперметр, отображая соответствующие значения на шкале прибора.

Симулятор батарейки CR2032 с питанием от USB

В ожидании появления поддержки PSM (Power Saving Mode) в конструкторе прошивок Zigbee Configurable Firmware, решил сделать небольшой переходник, позволяющий запитывать устройства, изначально разработанные под батарейное питание, от обычного USB.

Универсальный ZigBee модуль с батарейным питанием на основе E18-MS1-PCB

В продолжение темы универсального ZigBee модуля от Jager’а, решил сделать свой вариант на основе готовой платы E18-MS1-PCB (чип CC2530). Размеры получились немного больше, чем у вышеприведенного аналога (32×31 против 25×21мм), но и сложность монтажа компонентов, как и их общее количество, снизилось в несколько раз.

Трансляция экрана компьютера через DLNA сервер

Возникла необходимость организовать трансляцию экрана моего ПК на старенький LG Smart TV (2008 года выпуска). В магазине приложений LG SmartWorld ничего подходящего не нашлось. Можно было бы решить эту задачу с помощью HDMI кабеля или технологий Miracast / Intel WiDi, которые поддерживается телевизором. Но первый вариант не подходит из-за большого расстояния между конечными устройствами, а для второго потребуются дополнительные вложения, чтобы добавить совместимость с соответствующей технологией на компьютере. Из каналов связи остается только проводное Ethernet соединение, которое было проложено в квартире еще на этапе ремонта. Ну а картинку будем передавать через DLNA, благо телевизор этот стандарт так же поддерживает.

Реле Xiaomi в качестве термостата для газового котла Baxi ЕСО-4S

Согласно официальной инструкции, у газового котла Baxi ЕСО-4S есть возможность подключения внешнего термостата. В качестве управляющего устройства можно использовать любое реле с «сухими контактами». Однако, изучив электрическую схему, я пришел к выводу, что Xiaomi Aqara Wireless Relay можно подружить с котлом, применив классический способ его подключения.

Xiaomi Aqara Wireless Relay: ремонт

Во время подключения реле от Xiaomi совершил ошибку — забыл подключить перемычку между выводами «L» и «IN». Как итог — глухой хлопок и неработоспособное устройство в руках. Вооружившись паяльником приступаем к починке…

Serial to Ethernet адаптер на Arduino

В продолжение темы управления ИБП через COM порт. Решил все это дело завести в Home Assistant, чтобы иметь возможность удаленного включения/отключения нагрузки. Хотя в природе уже и существуют готовые устройства (раз, два), выполняющие необходимую работу, было принято решение сделать свой костыль. К тому же, это выходит намного дешевле.

Режим моста в Mosquitto на примере CloudMQTT

Порой возникает задача объединить несколько MQTT брокеров в один. Я столкнулся с этим при настройке голосового помощника для умного дома без наличия выделенного IP-адреса у последнего. Предполагаемая схема была такая: «Алиса» — «Навык Домовенок Кузя» — «CloudMQTT» — «Локальный Mosquitto» — «Home Assistant». Да, сложно. Да, много посредников. Но на тот момент другого варианта не было.