Обновить
512K+

DIY или Сделай сам

Для тех, у кого руки растут из нужного места

738,8
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

ESP-KVM: как я сделал IP-KVM на ESP32-P4 за копейки — и обо что споткнулся по дороге

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели9.1K

Собрал полностью открытый IP-KVM на ESP32-P4: две платы без единой капли припоя, прошивка прямо из браузера, а по возможностям он уже почти догнал “взрослые” KVM-over-IP - видео с автоопределением режима, виртуальный привод, ATX, Tailscale и даже маленький экранчик со статусом на корпусе (которого пока нет). Внутри - вся история проекта: от “сервер не грузится, а монитор на антресоли” до граблей с H.264, microSD…

Ну давай, покажи уже, что получилось!

Новости

Делаем из Raspberry Pi Pico синтезатор Roland SC-55

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели10K

В прошлой статье мы рассмотрели, как создать простой синтезатор на основе Raspberry Pi Pico. Звуки на основе синусоиды интересны, но хочется получить звук реального инструмента с его уникальным тембром.

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

Изобретать велосипед и реализовывать обработку SoundFont-файлов с нуля мы не будем, а воспользуемся готовой библиотекой TinySoundFont.

Изучение технологии SoundFont и то, как устроены звуковые банки вообще, даёт много в понимании синтеза звука.

В этой статье мы подключим библиотеку TinySoundFont к Raspberry Pi Pico, устраним главный недостаток библиотеки — загрузку всего SoundFont в оперативную память, и заставим синтезатор читать семплы напрямую из флеш-памяти.

Читать далее

В Telegram-бот пришли 300 человек. Через полгода регулярно возвращаются 11. Разбираю, где я накосячил

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели6.3K

После моей прошлой статьи в Telegram-бот за один день пришли 60 человек. Я тогда подумал: ну всё, полетело. Спойлер: не полетело.

Сейчас в базе почти 300 аккаунтов, за неделю возвращаются 11 человек, средний DAU 7, а реферальная программа привела троих. Разбираю честную воронку, ошибки с метриками, странный парадокс обратной связи и V2, которая должна проверить одну конкретную вещь: получится ли удержать хотя бы четыре возвращения из семи.

Посмотреть честный разбор

Электричество, масло и вода: готовим эмульсию под напряжением в 25 000 вольт

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели81K

Смешать воду и растительное масло в стойкую эмульсию можно и венчиком на кухне. Но как сделать это для 10 тонн отработанного машинного масла, чтобы получить дешёвое топливо для дизельной горелки? Или уничтожить бактерии в 50 кубах свиных стоков так, чтобы не платить огромные штрафы за сбросы? Этого можно добиться с помощью мощного разряда в жидкости, который известен как эффект Юткина, или электрогидроударный эффект. На Хабре очень мало информации об этом интересном эффекте, что я и попытаюсь исправить. Поехали!

Читать далее

Поделки из кукурузного пластика

Время на прочтение5 мин
Охват и читатели11K

Иногда делаю разные изделия с помощью 3д принтера. Если это что-то декоративное, то использую PLA пластик, он прост в печати и хорошо передает мелкие детали.
Здесь покажу этапы создания двух таких изделий.

Подставка с подсветкой с фигурками животных.

Задумка простая, есть подставка, а на ней фигурка. С низу подставки светодиодная лента. Лента рассчитана в моём случае на напряжение 24 вольт (покупал на 12, пришло на 24). Напряжение с 5 до 24 вольт повышается dc-dc преобразователем.

Подставка состоит из 3 деталей. Иногда при разработке концепта я использую 3ds max, а для финального моделирования Autodesk Fusion. В 3ds max можно относительно быстро вносить изменения, поэтому он хорош для создания изделия, которое находится на этапе идеи, то есть подразумеваются многочисленные изменения, которые будут вноситься в геометрическую форму. Но в данном случае я решил сэкономить время и всё сделать в 3ds max, не переключаясь на CAD программы.

Читать далее

Слабосолёный мессенджер из MikroTik CHR и Java, по домашнему

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели8.9K

Как это? У вас есть аккаунт на хабре, есть своё мнение по каждой статье, есть желание этим мнением поделиться с дедушкой, но нет своего мессенджера чтоб это сделать? Срочно исправляем.

Lim (local ip messenger) работает в вашей локальной сети, на вашем CHR или ARM64 роутере Mikrotik, без внешних сервисов. Обмен текстовыми и голосовыми сообщениями, файлами до 50мб. Публичным ключом собеседника шифруются: сообщения, файлы и имена файлов. И кнопка "Отправить", тоже зашифрована.

Приготовить дома самому

Написал расширение, которое качает статьи Хабра в Markdown — и не долбит сервер

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели9.6K

В прошлых двух статьях я разбирал DNS-трафик домашней сети и анализировал 1233 публикации Хабра, чтобы понять, за что площадка даёт рейтинг. И там, и там был вопрос, который я обходил: чем, собственно, я выгрузил эту тысячу статей?

Не руками копировал и не скриптом на Python, который на двухсотом запросе получил бы 429 и бан по IP. Я написал расширение для Chrome, которое сохраняет статьи Хабра в Markdown — по одной, пакетом или автоматически по расписанию, — и делает это достаточно вежливо, чтобы сервер не считал его атакой.

Главная мысль статьи оказалась не про парсинг HTML, а про хорошие манеры к серверу. Наивный качатель на голом fetch пишется за пять минут и получает бан на десятой. Инструмент, которым можно пользоваться постоянно, отличается тремя вещами:

— держит принудительный интервал между запросами (1.5 секунды, гарантированно); — слушает 429 и при перегрузке сервера замолкает на три минуты целиком (паттерн circuit breaker), а не долбит сквозь ограничение; — работает с открытыми статьями для личного архива, а не сливает базу.

Внутри: разбор вежливого граббера с кодом, почему парсинг чужой вёрстки ломается на каждом редизайне и как от этого защищаться фолбэками, формат Markdown с YAML-метаданными (тот самый, что сделал возможным анализ тысячи статей) и правовая рамка — где граница между «сохранил для себя» и «спарсил».

Расширение с открытым кодом под MIT, ставится из Chrome Web Store в один клик.

Читать далее

Свет как линейка

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели15K

Эту ламповую "кофеварку" вы можете встретить на машиностроительном заводе, а чтобы ей грамотно пользоваться, придется восстановить нейронные связи, заложенные еще школьной физикой. Начнем мы издалека, так что пора бы сделать перекур, и пока гудят станки, я вам расскажу, где в обычных насосах можно случайно наткнуться на оптические явления.

Читать далее

Я просто хотел часы, которые не нужно подводить. Всё закончилось Pi Zero и LLM

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели16K

Это история о том, к чему привело моё желание иметь часы, которые в магазине не купишь.

Ещё с детских лет у моей кровати всегда стояли какие-нибудь дешёвые часы с красными семисегментными индикаторами и функцией радио, купленные в Walmart или Target. Это всегда были дешёвые, простые и живучие модели — вот только все они неизменно требовали ручной подстройки при переходе не летнее/зимнее время и при сбое питания. И после недавнего такого сбоя, когда я в очередной раз стоял у тумбочки, зажав кнопку «TIME» и лихорадочно нажимая кнопку «HOUR», моё терпение лопнуло: «Мы прожили уже четверть 21-го века. Должен же быть какой-то более совершенный способ!»

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

Читать далее

Синхронизация камеры глубины Intel D455 и лидара Livox Mid-360 на STM32

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели13K

Рассмотрим простой способ объединить лидар и камеру для построения карты проходимости при помощи таймеров микроконтроллера STM32H743VIT6 и распаиваемой платы с Aliexpress.

Читать далее

Из немыслимого в элементарное: парсинг сайта спортпита на Python без бэкграунда программиста

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели11K

Привет, Habr!

Сразу дисклеймер: эта статья не реклама магазина, не туториал «парсинг за 5 минут», и я не программист. Я переводчик и штангист-любитель, а код, который будет представлен ниже, писал вместе с нейросетью. Это история о том, как одна рекомендация из книги перевернула мои представления о спортивном питании, а лень и любопытство привели к написанию скрипта, который за пару минут сделал работу, на которую у меня раньше уходило несколько часов.

Читать далее

Погружение в создание приставки для Microsoft MakeCode Arcade

Уровень сложностиСредний
Время на прочтение24 мин
Охват и читатели8.7K

В прошлой статье я рассказывал, как делал Arduboy WOW с применением модулей, но помимо Arduboy мне еще почти также сильно интересовала платформа Microsoft MakeCode Arcade и мне захотелось повторить тоже самое, но с ней. Правда пока я решил ограничиться созданием устройства на макетной плате, чтобы подробнее изучить эту платформу и не отвлекаться на остальное. (Или в будущем сделаю на этой базе полноценную приставку и напишу еще одну статью.)

MakeCode Arcade очень сильно отличается от Arduboy, но в то же время они в сущности обо одном. В двух словах, MakeCode Arcade это не одна приставка, а несколько десятков приставок, игры для которых пишутся в своем редакторе, в браузере. В этой статье я постараюсь рассказать как эта система работает изнутри или как у них получилось сделать столь заманчивую идею реальностью на примере моего устройства на макетной плате, которое я назвал MakeCode Arcade Beast.

Читать далее

Мутоскоп для любимой: как я собрал механическую GIF-анимацию из бронзы и дерева

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели15K

Любовь к жене и механике вылилась в неожиданное устройство — механическую «gif-анимацию» в стиле музейных мутоскопов XIX века: латунь, дерево, ручной привод и 36 кадров с фото жены и первыми днями дочки. Под катом — как я делал стальные пешки, ломал метчики и собирал мелкие оси одну за другой на ощупь.

Читать далее

Ближайшие события

Погодный чёрный ящик часть 2: больше датчиков и gui на python

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели9.5K

Всем привет, в этой статье мы доработаем проект офлайн логгер из прошлой статьи. Добавим датчики и напиши обработчик логов с sd карты!

Читать далее

Как измерить вакуум в лампе?

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели15K

Теперь, воробьи уже стрелянные, мы знаем, как непросто обеспечить необходимый для длительной и нормальной работы (самодельной) лампы высокий вакуум — в котором склонны испаряться даже металлы, в них же обнаруживаются и выбираются наружу впитанные ранее газы [1] и даже предательское стекло, инертнейший, казалось бы, материал, содержит и испаряет газы и воду. Все эти ужасы можно не прекратить, но сократить до приемлемого уровня тщательнейшей очисткой и сложной подготовкой материалов, их вдумчивым подбором и применением постоянно действующего в электровакуумном приборе (ЭВП) микронасоса — геттера. То есть, вакуумную приёмно-усилительную лампу невозможно сильно откачать раз и навсегда — внутри её баллона при нужном разрежении устанавливается некое равновесие поступающих и поглощающихся газов, этакое зыбкое, вооружённое до зубов перемирие, и горе ослабевшим или потерявшим бдительность. Словом, всё как у людей. Отсюда, чрезвычайно полезна задача определения, хотя бы качественного, разрежения и по возможности состава газов в готовой лампе — для корректировки процесса изготовления, выявления брака или уточнения режимов эксплуатации.

Читать далее

АКПП Voith не включается выше второй передачи: разбираемся в J1939

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели91K

Изучаю шину CAN J1939 через написание самописных утилит. Целенаправленно отключал датчик наддува для проверки своих программ.

И здесь случай: Идёт выпуск машин на маршрут. На одном из автобусов АКПП не включается выше второй передачи. Сканера нет читать нечем. Но есть C, Linux, CANable, map_id_j1939, viz_j1939.

Читать далее

ESP32 + MicroPython + трубка Гейгера: как за вечер собрать детектор радиации

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели14K

Радиация окружает нас повсюду – естественный радиоактивный фон присутствует всегда и везде. Имея под рукой плату ESP32 за 8 долларов, OLED-дисплей за 3 доллара, MicroPython и трубку Гейгера – Мюллера, можно без труда собрать полноценный детектор радиации. Он сможет не только выводить текущие показатели на экран, но и отправлять данные на GMCMap, в Home Assistant и другие сервисы.

А в качестве бонуса в конце статьи я покажу несколько забавных научных экспериментов – например, как засечь радон у себя дома с помощью носка и обычного пылесоса.

Читать далее

Разбираем и чиним мини-ПК HP Pro Mini 400 G9. Что за девайс?

Время на прочтение8 мин
Охват и читатели11K

Люблю я мини-ПК. Это крайне интересные устройства, позволяющие добиться впечатляющей производительности при небольшом объеме. Причем корпоративные модели HP, Dell и Lenovo устроены заметно интереснее большинства недорогих китайских коробочек. В них используются обычные сменные процессоры, доступная память, стандартные накопители и вполне ремонтопригодные цепи питания.  

К чему это я? Будем чинить один из таких девайсов. А именно — HP Pro Mini 400 G9, его я нашел на одной из онлайн-барахолок. Продавец указал, что компьютер не включается, а на плате есть заметный прогар. С подобными повреждениями я уже работал и несколько раз успешно возвращал технику к жизни, поэтому аппарат показался подходящим кандидатом для очередного ремонта. Расчет был простой: разобрать корпус, удалить сгоревшие детали, восстановить дорожки и выяснить, насколько далеко система сможет пройти последовательность запуска. На практике все оказалось немного сложнее, зато сама диагностика дала хороший повод подробно посмотреть, как устроен современный корпоративный мини-ПК.

Читать далее

Электролиз без* электричества

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели15K

С момента своего первого появления ещё в XIX веке электролиз прошёл большой путь, предоставив новые возможности — от осуществления покрытия металлами до даже добычи этих металлов методом электролиза расплава (известный метод производства алюминия промышленным способом).

Однако, как мы знаем, электролиз зачастую ассоциируется и ещё с одним процессом — разложения растворов на газообразные компоненты, в частности воды, — на кислород и водород…

Не так давно мы рассматривали одну из любопытных альтернатив классическому электролизу — плазменный электролиз, который, при определённых условиях (электролиз спиртово-водной ванны), позволяет получать большее количество газообразного водорода, чем при классическом электролизе, например, солёной воды.

Учёные постоянно исследуют новые потенциальные возможности по осуществлению электролиза и находят иной раз просто поразительные варианты!

Например, как вам понравится электролиз без подвода внешнего электричества, с прямым использованием механической энергии для разложения воды?!

«Электролиз без* электричества»… Хмм, а разве такое бывает? Как выясняется, вполне себе!

Читать далее

Стоит ли хромировать самому или что для этого нужно

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели12K

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

Читать далее
1
23 ...