Самодельный музыкальный центр с веб-интерфейсом

В этой заметке я расскажу про мой самопальный музыкальный центр с веб-интерфейсом и усилками, который я некоторое время поставил себе в кабинет на даче (или, эту комнату лучше будет назвать “лабораторией”?) Исходники всего этого безобразия прилагаются в конце заметки.

Continue reading “Самодельный музыкальный центр с веб-интерфейсом”

Избавляемся месива проводов в ванной

Было у меня в ванной три девайса: бритва, триммер для бороды и электрическая зубная щетка. И к каждому свой блок питания, и каждый надо заряжать. И традиционно, в один прекрасный день ты обнаруживаешь, что что-то из этого не заряжено, а из-за частых перетыканий блоки питания представляют собой месиво из проводов, как на левой части фотки. В какой-то момент меня это достало капитально и я решил с этим что-то делать. Ставить еще две розетки ради блоков питания очень не хотелось, ровно как и оставлять их постоянно включенными, да и полочка под это дело нужная была. Потому я вооружился алиэкспрессом и 3д-принтером и решил сделать немного иначе. Результат можно видеть на правой части картинки, а куча подробностей, как это собиралось в блоге.

Если кому интересно, то 3д-модельки всего этого хозяйства можно скачать бесплатно, без смс и регистрации у меня на thingiverse.

Continue reading “Избавляемся месива проводов в ванной”

Новогодняя светодиодная мигалка

Примерно 40 минут убитого времени и в итоге имеем новогоднюю цветомузыку на работе. Использовалась та базовая платка для ТВ-стиков, модуль с OpenWRT, и немного новогоднего быдлокода.

Музыка – кавер на Despacito от 2cellos.

Всех с праздниками 😉

“Клонируем” сложные детальки при помощи сканера, 3д-принтера, inkscape и freecad

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

Continue reading ““Клонируем” сложные детальки при помощи сканера, 3д-принтера, inkscape и freecad”

Пытаемся сдружить симуляторы Verilog и ctest

Если Вы программист, которому по долгу службы пришлось испачкать руки Verilog/SystemVerilog – первое что приходит на ум – заюзать какую-нибудь штатную запускалку тестов. Если бы разработка велась на myhdl то можно было бы использовать все то добро, что сделано для unit-тестирования кода на python.

Но если мы используем самые что ни есть классические инструменты, проект достаточно большой, с кучей разных библиотек и IP ядер из разных концов света, велик шанс, что простых скриптов на bash/csh для запустка тестов маловато. Да и не хочется тратить драгоценные минуты жизни на переизобретение велосипеда, когда можно использовать что-то готовое.

В этой заметке я расскажу, как интегрировать verilog симуляторы со стандартными запускалками тестов, на примере ctest (Из комплекта cmake) и какие грабли нас ждут при этом.

Continue reading “Пытаемся сдружить симуляторы Verilog и ctest”

MediaDeb: Debian для китафонов чипах MediaTek

В этой заметке я расскажу о том, как превратить старый убитый китафон на чипе MediaTek, пылящийся на полке, уже даже без обновлений от производителя в… сервер под управлением Debian Stretch! Оную операцию я проделал для UMI-X2 и iOcean X8, и прошивки для оных и можно скачать по ссылке у меня в блоге. Учитывая, что типичный китайский телефон уже давно имеет по четыре, а то и десять процессорных ядер и 2GB оперативной памяти, а то и больше, результат получается намного более производительным, чем тот же Raspbberry PI, при схожем окружении.

Continue reading “MediaDeb: Debian для китафонов чипах MediaTek”

Грабли препроцессора Verilog HDL

Небольшая заметка о том, как работают include и define в Verilog HDL.   Вопреки ожиданиям, они работают совершенно иначе, чем в большинства языков программирования. В маленьком проекте с этим можно не столкнуться, но в более или менее большом проекте, где есть лицензированные/скаченные с OpenCores блоки от этого поведения можно очень больно огрести. (Я долго искал подходящую картинку, но лучше этой не нашел)

TL;DR: Определенные однажды макросы глобальны, и передаются из одного файла в другой в том порядке, в котором файлы передаются компилятору/синтезатору.

Continue reading “Грабли препроцессора Verilog HDL”

Короб для EasyCAP для монтажа на V-SLOT раму

В предыдущем посте, я описывал сделанное мною крепление для аналоговых камер, а в этом опишу, собственно ту часть, которая это дело будет оцифроввывать и питать.  То есть о вот таком вот коробе:

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

Как видно, качество оставляет желать лучшего, а высокая температура воздуха внутри добавляет матрице шумов.

Continue reading “Короб для EasyCAP для монтажа на V-SLOT раму”

Крепление для аналоговых CCTV модулей

Решил прикрутить пару камер к 3д-принтеру. Помимо очевидной функции контроля за процессом 3д-печати (прямо с телефона, пока ты решил пробежаться по парку, находясь в другом городе 😉 ), это так же бесплатно дает возможность делать классные таймлапсы при печати больших деталей.

Continue reading “Крепление для аналоговых CCTV модулей”

Спасаем данные: SD, ddrescue, Android

Всему рано или поздно приходит конец, как и SD карточкам. И по закону подлости это случается тогда, когда этого МЕНЬШЕ всего ожидаешь.
Итак, дача. Вдали от шума большого города старый китайский телефон нес службу вместо модема раздавая интернет поверх OpenVPN соединения. Сотовые операторы либо просят много за статический прямой IP адрес, либо не имеют вообще такой услуги, так что я пользуюсь OpenVPN, чтобы узнать что у меня творится на даче. Ну там, пара камер, которые следят вот за этими ребятами:

На самом телефоне крутится android, внутри которого живет Debian, а внутри него OpenVPN. И все это живет на SD карте, которая изволила накрыться медным тазиком. И в какой-то момент я понял, что свежего бэкапа у меня под рукой не было. Вернее не было бэкапа именно на конфиг OpenVPN с которым я игрался в течение долгих месяцев, подбирая оптимальные параметры для работы поверх 4g сети. Так что эта заметка будет как раз о восстановлении данных с SD карты, просыпавшей бэдами.

Continue reading “Спасаем данные: SD, ddrescue, Android”