Обновить

DIY

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

Как я купил кота в мешке: реверс-инжиниринг электронных ценников. Часть 1. Знакомство с nrf52832

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

Как-то давным-давно я заинтересовался дешевым железом, ибо был студентом-ардуинщиком, который очень хотел сэкономить. И как-то раз пришла идея — поработать с E-INK дисплеем. Цены на новые модули на Али кусались, поэтому я отправился шерстить Авито и нашел там объявление о продаже б/у электронных ценников из супермаркета и DNS.

О чудо! Всего 250 рублей за штуку: плата, контроллер, корпус, и оно даже работает... наверное.

Я заказал целую партию, не подозревая, что внутри меня ждет коррозия всего - чего можно, чип nRF52832 в новой партии, нестандартный протокол связи и абсолютный ноль документации. О том, как я ковырял эти платы китайским программатором, как писал в RAM через GDB, убил пару ценников, экранов и в итоге завел дисплей через Zephyr RTOS. Спойлер: фрактал Мандельброта успешно выведен! Дум не за горами

Читать далее

Новости

«У меня работает»: десять способов узнать, что нет

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

Я думал, проект готов к релизу. CI думал иначе — и оказался прав десять раз. История про то, что видно только на чистом раннере.

«Полностью готовый» и локально зелёный проект — а первый же полный прогон CI вскрыл десяток скрытых проблем: версия CMake на Ubuntu 22.04, строгий GCC 11, артефакты с 403 от CDN, ASan под valgrind, недоступный из сети реестр и другие. Показываю каждую проблему с настоящим сообщением об ошибке и решением, а заодно — как поднял свой раннер, выпустил релиз руками без раннеров и ускорил пайплайн с 53 до 15 минут. Мораль: CI ловит ровно то, что невидимо на машине разработчика, — версии инструментов, окружение и сеть.

Читать далее

COM-порт из ничего: PTY, epoll и немного RS485-боли

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

Демон «ничего не делал» — а одно ядро было загружено на 100%. История про виртуальный COM-порт для Linux/WSL2: PTY, epoll и эмуляция RS485, с кодом и граблями.

Рассказываю, как сделал vseriald — демон, который создаёт виртуальный последовательный порт /dev/ttyV0 в Linux и WSL2 и выводит его в сеть, FIFO или очередь сообщений. Разбираю три неочевидных места: псевдотерминал, после закрытия которого одно ядро уходит в 100%; притормаживание источника в однопоточном epoll-цикле без блокировок; эмуляцию полудуплексного RS485 как конечного автомата с таймингами и коллизиями. Плюс честный ответ на вопрос «зачем это, если есть socat и /dev/pts» — и код из реального проекта.

Читать далее

Muxalma — обмен пакетами данных через общее хранилище

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

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

вот как это выглядит

Из мёртвого ноута — в домашний NAS: спасаем 100 ГБ фоток за 0 ₽

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

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

Читать далее

Как 11 лет назад собрать игру на ATtiny2313 без знаний электроники и породить ИИ-баг

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

Привет, Хабр! Хочу рассказать вам историю об одном устройстве, которое было создано 11 лет назад. Это простая игра «Угадай число» на микроконтроллере ATtiny2313. Собранное мной с 0 знаний в электронике.

Плата не просто выжила и работает до сих пор, но и скрывает в себе секретный режим, игра сама с собой. О том, как собирался этот low-tech шедевр и как забавно он восстает против кожаных мешков, читайте под катом. 

Читать далее

Самодельный DDNS

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

Продолжаю развивать свой домашний сервачок, для удобного добавления сервисов понадобились поддомены . Так как за статический IP своему провайдеру я платить не хочу, то я использовал DDNS от TP-Link. И адрес выглядел https://my-adress.tplinkdns.com. TP-Link даёт только один поддомен и поддомены 2-го уровня создать нет возможности.

Поэтому думал использовать ddclient и Cloudfare. Выяснилось что Cloudfare больше не работает с ru зоной. Вот расисты!

Читать далее

Нейтродин. Забытая радиосхемотехника 1920-х

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

С нежностью и умилением вспоминая кухонные радиотехнологии предков, самодельные детали приёмников и передатчиков на заре эры радиовещания — резисторы [1], конденсаторы [2], детекторы [3], грешно не сказать несколько слов и о нейтродине — как о примечательном и своеобразном явлении в тогдашнем радио, тем более что термин этот нам уже не раз попадался (нейтродинные конденсаторы). Отдадим дань и находчивости тогдашних конструкторов, пользовавшихся и творящих из небогатого доступного ассортимента, причём решение удалось сравнительно простым и элегантным, а улучшенное радио легко повторялось сонмом радиолюбителей по всему миру, от Нью-Йорка, «до самых до окраин». Что же это за схема, для чего она была нужна, как работала и чем может пригодиться нам?

Читать далее

Самый суровый кодовый замок СССР

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

Приветствую всех!

Как я уже не раз рассказывал ранее, в советское время выпускалось сразу несколько моделей подъездных домофонов от разных заводов и разных годов. Но, как нетрудно догадаться, перечень систем контроля доступа ими не ограничивался, помимо них выпускались ещё и электронные замки.

Сегодня мы поговорим о девайсе, который ставился даже в таких местах, где о домофонах и слыхом не слыхивали: о раритетном электронном кодовом замке. Узнаем, как он устроен и почему я назвал его самым суровым. Как водится, будет много интересного.

Press F1 to continue

Можно ли «перенести» окно в квартире на любую стену или даже размножить?

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

А давайте задумаемся о такой очень странной на первый взгляд идее: можно ли скопипастить физическое окно и перенести его куда угодно в квартире?!

Выглядит диковато, не так ли? :-D Тем не менее, если немного подумать, это вполне реально и, кроме всего прочего, даёт совершенно уникальные преимущества!

Читать далее

Простой способ создать умный датчик

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

В этой статье переделываем датчик открытия окон и дверей Tuya в условно универсальный. Задача была в управлении из приложения умного дома приточно-вытяжной вентиляцией Daikin, а сложность в том что управляется эта приточка пультом BRC1D52 (фото 1) по закрытому протоколу связи через 2 провода, через которые этот пульт также получает питание. 2 провода и всё. Осциллограф показал что нужно что-то серьезное курить, а тех веществ которыми снабжают инженеров Daikin мне не достать. А нужно как минимум включить-выключить и видеть состояние.

Читать далее

CO2 станция на ESP32-C3 + SCD41 + GC9A01

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

История создания открытой настольной CO2-станции на базе микроконтроллера ESP32-C3, круглого дисплея GC9A01 и честного фотоакустического NDIR-сенсора углекислого газа Sensirion SCD41.

Большинство бюджетных мониторов воздуха используют дешевые eCO2-датчики, которые лишь угадывают уровень углекислого газа по качеству летучих веществ. Этот проект — полностью открытая альтернатива. Прошивка написана на чистом фреймворке ESP-IDF, использована моя собственная графическая библиотека. Устройство передаёт данные по протоколу MQTT, откуда информацию может забирать умный дом или любая другая похожая система. В настоящий момент показания интегрированы в Home Assistant.

Читать далее

Умный дом без контроллера: как собрать систему на реле и диммерах

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

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

Рассказываем, какие функции удалось реализовать таким способом и насколько далеко можно зайти в автоматизации без центрального контроллера.

Читать далее

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

Подключение современной USB-мыши к ретро компьютеру с шиной ISA

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

В ретрокомпьютерной технике зачастую возникают задачи, обратные актуальным сегодня. Если обычно мы часто сталкиваемся с проблемами, пытаясь запустить старые программы на новом оборудовании, то в ретровании проблемы проявляются куда как чаще и разнообразнее, к примеру как заставить современную периферию работать с машиной тридцати- сорокалетней давности. И если с подключением клавиатуры к старому ПК обычно сложностей немного: старые AT клавиатуры довольно живучие, сохранилось их много и стоят они сравнительно недорого, к тому же всегда можно подключить PS/2 клавиатуру с помощью простого пассивного переходника. То с мышью ситуация гораздо сложнее: COM портовые мыши обычно шариковые, осталось их немного, так как в какой-то момент их стали активно заменять на оптические с разъемом PS/2. Какая-то их часть тоже может подключаться в COM порту через пассивный переходник, но таких мышей немного, да и сами PS/2 мыши уже стали раритетом. Подключить же USB мышь к какому-нибудь XT или AT вплоть до 486, да еще так, чтобы работало со старыми операционными системами штатно не получится.

Читать далее

Импортозамещение Schneider Electric Conext ComBox

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

Если в вашем доме система резервного питания или альтернативной энергии собрана на компонентах Xantrex/Schneider Electric, то эта статья может быть полезна. Собственно, у меня как раз инвертор Xantrex XW 6048, панель управления Conext SCP, солнечный контроллер Conext MPPT 60 150. И всё это связано проприетарной сетью Xanbus. Система работает с 2010 года, солнечный контроллер с 2014г. В 2016г. я начал заниматься умным домом и возникла потребность получения электрических параметров системы для контроля и использования в алгоритмах. Например, для ограничения мощности электрического котла при наличии других потребителей. Часть этих правил описана здесь, но с тех пор их стало больше и они стали сложнее. На сайте производителя к моменту написания этой статьи ссылки на использованный мною Conext ComBox, я найти уже не смог, но изображение этого устройства — на заставке к статье, причем это реальная фотография моей установки.

В 2024г. ComBox перестал работать без объяснения причин. Оживить его известными способами не получилось. Нового такого же на рынке в России ни у кого в наличии по понятным причинам не оказалось, несмотря даже на вывешенные цены. Покупка по параллельному импорту оказалась такой дорогой, что проще отказаться от умного дома :). Однако, без электрических параметров DIY-энтузиасту и любителю умных домов жить совершенно некомфортно.

Пришлось идти по пути сбора электрических параметров с помощью внешних датчиков. Плюс такого решения как минимум в том, что оно переносимо на любое другое оборудование, так как не зависит ни от Xanbus ни от конкретных реализаций Modbus протокола других производителей. И, к тому же, может использоваться для сравнения показаний встроенных датчиков и внешних, если, конечно, к ним будет доступ.

Читать далее

Как я отучил оракула молоть околесицу про ГОСТы: сказ о doc-rag без единого (почти) заморского слова

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

Дело моё — программы писать, а сходиться им положено с мастеровой грамотой: ГОСТами, СТО, спецификациями. Хочу спросить оракула в писарне про точный пункт — получаю складную околесицу со ссылками на то, чего никто не писал. Тогда я сложил себе doc-rag: местную снасть для извлечения премудрости из собственных свитков. Внутри — устройство, грабли, история про утраченный указатель и попытка рассказать всё это без единого заморского слова.

Распахнуть свиток

Ремонт и обзор светосильного объектива Sigma 30mm f/1.4 EX

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

Недавно я заглянул в гости в фотоателье к приятелю и вышел с неожиданным подарком — фотообъективом для уже вымершего байонета 4/3 (не микро). В разговоре выяснилось, что у него есть два таких объектива с идентичной поломкой. Один его, второй, который достался мне, от другого фотографа. Он уверял, что оба они объективы не роняли, и сломались они в режиме обычной эксплуатации. Как он описал: «нарушается фокусировка и появляется трещина у байонета». Я с большой благодарностью принял это чудо фотоиндустрии и поспешил его поставить на свой Olympus через переходник, как тут же выяснилась суть проблемы — заметный перекос байонета.

Читать далее

Как я сделал полностью автоматическое освещение в ванной комнате и почему датчики присутствия меня разочаровали

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

Когда я начал строить свой умный дом, мне пришла в голову простая мысль: а насколько он вообще умный?

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

Самым очевидным местом для экспериментов оказалась ванная комната.

Если вопрос с вытяжкой решился довольно быстро — я установил датчик влажности, подобрал пороги включения и выключения и практически забыл о его существовании, — то с автоматизацией света всё оказалось намного интереснее.

Читать далее

Видеокаротаж своими руками: накладываем глубину на видео

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

При видеокаротаже мы опускаем в скважину камеру и видим на экране обсадную трубу, фильтры, отложения и повреждения, застрявшие насосы и тд. Но есть проблема: на видео нет глубины. Ты видишь картинку, но не знаешь, на какой глубине находится камера. Можно конечно сделать метки на кабеле, условно, каждые 1 -2 метра, но это жутко не удобно и их нужно стоять и считать, вообще тот еще костыль. Раньше использовали вторую видео камеру, которая снимала механический счетчик с отображением метров, но тоже костыль. Нужно потом накладывать друг на друга картинку, что не самый удобный вариант.

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

Вот как я это сделал. Начнем с железа:
Микроконтроллер: Arduino Nano
Почему? Простота и размер. Он маленький, дешёвый, легко программируется. Вставляется в разъём на плате OSD‑модуля. В сети куча примеров по данной теме, решил использовать то, что уже было сделано другими.

Чип OSD: MAX7456 
Этот чип умеет в реальном времени накладывать символы на аналоговый видеосигнал. Выпускается в готовых модулях — например, MinimOSD. Такие модули изначально делали для квадрокоптеров (F3/F4 flight controllers), но они отлично подходят для каротажа.

Почему не готовый видеорегистратор со встроенным OSD?

Читать далее

Автономное устройство контроля влажности почвы (Soil Moisture Monitoring Device)

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

Автономное устройство контроля влажности почвы с дисплеем и оповещением, построенное на базе ESP32‑C3 и ESPHome. Устройство отслеживает влажность, отображает данные на OLED‑экране, может подавать звуковые сигналы и работать в режиме глубокого сна для экономии энергии.

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