OpenSource блок управления поездом

Недавно в порыве той же ностальгии заказал себе с Алишки несколько поездов а-ля лего. Товарный поезд, мини-крокодил и всякое-разное типа рельсов или инфракрасных блоков управления. Но пока ехало, решил сделать свой блок управления через BLE, да что бы поделиться потом с общественностью – не нашёл ничего подходящего из готовых проектов. Так же, впервые в своей практике познакомился с заказом плат на заводе. Потыкал ещё всякие модно-молодежные средства разработки и заказа, остался доволен (хотя есть нюансы).

Итак, представляю блок управления лего-поездом: питание от стандартного лего блока с AAA или AA аккумами, два канала управления двигателями (на каждом: реверс или бесступенчатое управление тягой), два канала с открытым коллектором для управления светом или чем захотите, пищалка-гудок. Так же имеется датчик напряжения батареи для отображения уровня заряда. Управление по Bluetooth-LE. Плата рассчитана что бы влезать в размеры 4х8 студов.

Конец зеркального потолка

Вчера наступил конец зеркального потолка, о котором так и не сделал пост до сих пор 🙄

Решили оставить его на старом месте, но немного доработать, что бы меньше дребезжал – выровнять панели и проложить новый резиновый уплотнитель. Так же, чуть переработал крепления к потолку.

Когда уже собрали, внезапно треснули три из шести зеркальных панелей – перетянул крепления как к потолку (немного повело раму, т.к. балки кривые), так и сами панели (из-за этого и треснули).

В общем, сниму пока его, на изготовление только новых панелей надо дня три, как и мудиться с установкой. Так что пока уберу его в подвал, до лучших времён. Крутая штука это всё-таки, но крайне сложная в изготовлении и эксплуатации 🤕

Новые умные устройства в Икее

В прошлом году появилась сертификация на семейство датчиков от Икеи, датчик двери-окна и движения. Теперь там оказывается ещё и датчик протечки есть (будет доступен с апреля), всё на ААА аккумах.

На днях увидел наконец в продаже, но в наличии только датчик движения, а дверной уже успели разобрать 😫 Я очень хотел его исследовать и изучить возможность переделки в мульти-сенсорный для нескольких фрамуг окна. Купил пока что датчик движения – он кстати микроволновый, и должен видеть сквозь стены.

Спалил светофорчик

Всех с наступившим 2024 годом 🙂 Я на новый год отлично выспался, утром встал пораньше и принялся за дела.

Собирал второй комплект своего индикатора, с намерением поставить на работе. Достал из коробки ещё один миленький светофорчик – на этот раз это мачта с 2-мя светофорами на два пути. Подключил к макетке, подобрал сопротивления, после чего вставая за чаем задел его и контакты диодов прошлись по оголённой шине питания (нога резистора), безо всяких сопротивлений.

В итоге сгорел только жёлтый сигнал левого светофора.

Наверное пока что соберу так, тогда левый будет показывать раскладку и блокировку (зеленый-красный), а правый мониторинг – (зеленый-желтый-красный). Сам светофор починить сейчас не могу, там стоят довольно специфичные 1.8мм диоды (более длинные чем обычно), которые я уже заказал на Алике, но придут они видимо с цветением Сакуры только.

Telegram InstantView для WordPress

Те, кто читает мой канал в Телеге с мобильного клиента, могли заметить, что с недавних пор у меня появился InstantView, который открывают удобную для чтения превью прямо в приложении, без открытия браузера.

Однако включить данную фичу не так-то просто. Официально Телеграм предлагает два способа: отправить шаблон в реестр для вашего сайта – который заброшен уже года четыре как, или генерировать каждый раз ссылки с хешем шаблона через бота – что, мягко говоря, решение через жопу.

Но есть решение нормальное: можно подсунуть боту небольшую лажу в ответе, что бы заставить его сгенерировать предосмотр для блога. Таким образом все ссылки получат генерацию превью без плясок с бубном. Оформил всё как плагин для Wordpress.

Самодельный USB индикатор светодиодов клавиатуры

Итак, как я писал, у меня есть внешний индикатор светодиодов клавиатуры, что бы боковым зрением видеть, когда включена русская раскладка клавиатуры или когда рабочий стол заблокирован, который сделан на базе модуля выдранного из клавиатуры.

Модуль это конечно хорошо, но мы же хотим полный DIY, верно? Как и полный контроль над процессом отображения нужной нам информации. Например – отображать статус USB, сделать плавное включение диодов и прочее.

Разобрался и сделал самодельное устройство с аппаратным USB на базе копеечной STM32 отладочной платы, которая представляется полноценной USB HID клавиатурой и не требует драйверов для работы.

Код прошивки в итоге получился простой, но пришлось знатно помудиться – документация весьма путанная, так же явно маловато примеров. Это моё первое знакомство с STM32 (с которым очень давно хочу познакомиться), и надо сказать я удивился. Думал будет какой-то SDK с документацией и примерами, но нет – в 2023 году разработчики микроконтроллеров собирают прошивку из кубиков в генераторе кода. Но это конечно не наш метод, сделал в итоге простой проект на одном файле, на связке Zephyr RTOS, которое собирается в PlatformIO под VSCode.

Код проекта как всегда можно найти у меня на Github.

Для пользователей Windows, OSX и прочего: устройство так же будет работать из коробки. Насколько я знаю, переключение и индикацию раскладки можно сделать на CapsLock через PuntoSwitcher, что уже неплохо, а если вам нужны какие-то дополнительные каналы, то их легко можно добавить.

Индикатор раскладки и блокировки рабочего стола

Ещё летом сделал одну штучку, которая оказалось очень удобной – физический индикатор раскладки и статуса блокировки рабочего стола. Вариант для ленивых, минимальная версия не требует вообще ничего кроме отвёртки.

Для чего это нужно – на работе обязательно блокировать рабочий стол когда отходишь, так же я почти всегда блокирую дома, просто что бы киска по клаве не прошла и не понажимала чего. Когда отошёл от компа на какое-то время, мониторы засыпают и непонятно, заблокирован ли рабочий стол. Нужно подергать мышку, подождать и всё такое. Аналогично с раскладкой, вслепую иногда можно много напечатать, пока не заметишь что что-то не так (а решения типа punto switcher я не люблю). Переключение раскладки у меня одной кнопкой – CapsLock.

Традиционно в Linux для индикации используются лампочки на клавиатуре – Num Lock, Caps Lock и Scroll lock. Это работает и не требует ничего кроме конфигов, но решение не сказать что удобное – боковым зрением не видно всё равно, как правило светодиоды одного цвета, а на некоторых клавах вообще надо чуть ли в зад заглядывать, что бы увидеть.

Поэтому делаем вот что – берём залитую пивом клаву и дербаним, достаём плату управления и просто вешаем её где удобно (например под основной монитор). Решение очень простое и уже работает.

Я из блочка клавиатуры перепаял диоды на разный цвет, что-бы боковым зрением видеть. У меня сделано так – зелёный (Num Lock) – это Num Lock, синий (Caps lock) – включен русский язык, красный (Scroll lock) – десктоп заблокирован.

Так же небольшая автоматизация всего этого. Русская раскладка (если включена) отключается, если блокируешь рабочий стол, так же отключается автоматически при вызове главного меню i3.

Таким образом, подошёл к компу, у которого уснули мониторы и можно сразу понять – если горит красная лампочка, можно сразу вводить пароль и жать Enter, как сделаешь, то они как раз проснутся. А боковым зрением видно, не включена ли русская раскладка (при блокировке мне это не нужно, т.к. отключается всё равно автоматически).

Думаю вот как-то этот индикатор переоформить, он у меня просто на столе валяется, я даже поленился его на монитор приклеить. Надо корпус красивый или что-то более прикольное (у меня есть одна идейка, но наверное сделаю не скоро).

Поменял карточки из умного дома по гарантии

Как я писал в описании Умного дома для Юли в Питере, оригинальная версия была собрана на Raspberry Pi 4, который использует MicroSD карточку как системный диск, с которого грузится и работает малинка.

Когда собирал первую версию, я был смущён тем фактом, что у меня 3D-Принтер работает уже не первый год в связке OctoPrint именно на базе Малинки, так же как и самый-самый первый умный дом, который так же работал на Raspberry без особых проблем (тормозил только чуток). Но тем не менее, собирая комплект, я сделал основную карточку с системой, и сразу же сделал в комплект клон. Оба – на базе Verbatim Premium 64Gb.

Стоит ли говорить, что запасная карточка понадобилась буквально через несколько недель? Но мне повезло, на второй удалось нормально проработать до замены Raspberry Pi на небольшой x86 домашний сервер.

Приехав в Германию, потыкал карточки, погонял, и понял что они обе работают через жопу. Для начала, они обе определяются вообще через раз, хотя с записью-чтением вроде всё в порядке. Посмотрел на дату покупки (начало 2023) и обратился в немецкое подразделение Verbatim за гарантией. У них на сайте есть простенькая форма, где пишешь что случилось, потом приходит email с логином-паролем на сайт где твои гарантийные тикеты. Там можно скачать PDF с адресами куда отправлять и ещё раз просят заполнить что случилось по каждому кейсу. Отправка – за свой счёт.

Оформил одно письмо в Deutsche Post за 86 копеек, засунул туда обе карточки, отдал девочкам во фронт офисе на работе, что бы отправили и забыл. Через 4 дня (!) обнаружил у себя в почтовом ящике две новые Verbatim Pro 64Gb. Карточки другие (лучше?) чем те что покупал, но теперь не знаю что с ними делать, лучше бы деньги вернули. Обе обошлись за что-то типа 20 евро.

Умный дом в Питере – OpenHAB с Яндекс Алисой

В Питере для своей супруги Юли сделал полноценный умный дом. В квартире управляется: весь свет, отопление, вентилятор и вытяжка. Вот что получилось, немножко расскажу про архитектуру и решения. Чуть позже подключил всю систему к умной колонке с Алисой.

Правильно сделанный умный дом – невероятно удобная штука, я уже давно не представляю свою жизнь без него. Самые важные моменты:

* Умный дом должен быть автономным: никаких китайских облаков, приложений от вендора или зависимости от наличия интернета.

* Свет должен управляться абсолютно весь. Когда у тебя одна лампочка осталось глупая, то групповой выключатель будет выключать почти всё, а то что осталось будет бесить.

* Умный дом должен быть интегрирован в существующий ремонт, без колхоза.

* Умный дом не должен быть эксклюзивной системой – при отказе свет должен продолжать работать как обычно, через физические кнопки.

Переделка вытяжки в умную – восстановление и подключение

Итак, в предыдущем посте – Переделка вытяжки в умную – вытяжка была переделана, путём установки внутрь 4х канального Zigbee реле. Но поработав пять минут в нештатном режиме взяла и сломалась.

Немножко приуныл с этого, но в итоге вытяжку взял и починил. Так же подключил к умному дому и к умной колонке Алиса заодно.