Pull to refresh
79
2.1
Новак Сергей @SergeyNovak

C, C++, Linux, ARM.

Send message

Мои проекты за 7 лет увлечения DIY

Level of difficultyEasy
Reading time5 min
Views2.4K

Привет, Хабр! Решил представить здесь самые интересные проекты/самоделки/концепции, которые делал сам на протяжении последних семи лет. Если КДПВ сделала своё дело, добро пожаловать под кат! Осторожно, много фото.

Вдохновиться разными идеями
Total votes 12: ↑12 and ↓0+16
Comments3

Превращаем Android-смартфон в USB-клавиатуру, мышь и флешку

Level of difficultyHard
Reading time29 min
Views2K

Android-смартфон при подключении к компьютеру через USB может выглядеть как медиаустройство, модем или хранилище файлов. В этой статье мы научимся делать из него USB-клавиатуру, мышь и флешку.
Читать дальше →
Total votes 15: ↑15 and ↓0+25
Comments14

Как «китайский Илон Маск» сделал Li Auto — один из самых технологичных автобрендов Поднебесной

Reading time9 min
Views11K

Я до сих пор с трудом различаю многие китайские авто, некоторые из которых напоминают «мониторы с колесами», собранные под копирку. Однако, несколько брендов выделяется из общей массы. Один из таких — Li Auto, он же Li Xiang. Это стартап (по китайским меркам), основанный крайне интересным товарищем, которого часто называют «Китайским Илоном Маском». Эта статья про него и его компанию.

Читать далее
Total votes 47: ↑44 and ↓3+57
Comments39

Хочу ферму васаби в Подмосковье

Level of difficultyEasy
Reading time11 min
Views24K

С детства люблю растения. Не скажу, что между нами было что-то серьезное, но связь поддерживалась всю жизнь. Вместо растений я с головой ушел в IT, программирование и ML. И так бы жил, пока однажды мне не попалась статья, пробросившая мостик от моих навыков к давней любви. Это запустило цепочку событий (посмотрите у меня в профиле последние посты), которая длится уже 3 года и привела к идее строительства фермы по выращиванию настоящего васаби в Подмосковье.

Читать далее
Total votes 274: ↑272 and ↓2+337
Comments117

Бесплатный аналог Arduino из мусорки

Level of difficultyEasy
Reading time3 min
Views28K

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

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

Читать далее
Total votes 49: ↑47 and ↓2+67
Comments54

Реверс инжиниринг в домашних условиях

Reading time4 min
Views15K

Добрый день, хочу поделиться с читателями своим практическим опытом обратной разработке электронных плат. Эта статья будет ещё интересна предметом своего исследования. На примере я покажу как разобраться в работе устройства. При необходимости можно составить принципиальную электрическую схему и повторить печатную плату. Для примера я взял плату оси YAW гиростабилизированного подвеса камеры квадрокоптера dji mavic mini.

Итак приступим! Всю работу можно поделить на несколько этапов:

Читать далее
Total votes 58: ↑53 and ↓5+66
Comments43

Raspberry Pi + CentOS = Wi-Fi Hotspot (или малиновый роутер в красной шляпе)

Reading time15 min
Views41K
UPD 14.03.2020:
Raspberry Pi + Fedora (aarch64) = Wi-Fi Hotspot (или малиновый роутер в синей шляпе)

В Интернете огромное количество информации по созданию Wi-Fi точек доступа на базе одноплатного ПК Raspberry. Как правило, подразумевается использование родной для «малинки» операционной системы — Raspbian.

Являясь адептом RPM-based систем, я не мог пройти мимо этого маленького чуда и не попробовать на нем мою любимую CentOS.

В статье представлена инструкция по изготовлению 5GHz/AC Wi-Fi роутера из Raspberry Pi 3 Model B+ на базе операционной системы CentOS. Будет несколько стандартных, но малоизвестных трюков, а в качестве бонуса — чертеж подключения к «малинке» дополнительного Wi-Fi оборудования, позволяющего ей одновременно работать в нескольких режимах (2,4+5GHz).

image
(микс изображений из свободного доступа)
Читать дальше →
Total votes 31: ↑28 and ↓3+25
Comments39

Создание сайтов через нейросети

Reading time13 min
Views25K

Популярность нейросетей в 2024 году набирает обороты. Нет, они не заменяют полноценных специалистов. Зато существенно упрощают и ускоряют работу тех же копирайтеров, сеошников и дизайнеров.

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

Читать далее
Total votes 12: ↑8 and ↓4+7
Comments13

Бесплатные векторные карты на своём хостинге

Level of difficultyMedium
Reading time6 min
Views15K

Векторные карты Protomaps на базе OSM

Каждый веб-разработчик знает о OpenStreetMap (OSM), свободной альтернативе Google Maps. Несмотря на всеобщую известность OSM, у некоторых всё-таки возникают вопросы: как сделать веб-карту с открытыми данными OSM, как самостоятельно публиковать карты?

На эту тему есть популярные руководства, в том числе по работе с базами PostGIS и запуску тайлсерверов для реализации бесшовных карт OSM. Но есть принципиально иной подход — векторные карты Protomaps, которые обеспечивают более высокое разрешение, настройку внешнего вида и наложение произвольных меток. Они изначально предполагают максимальную простоту в создании своих карт. А главное, что разместить тайлы можно на своём хостинге или в облаке.
Читать дальше →
Total votes 63: ↑60 and ↓3+83
Comments12

Китайский паяльный робот: тыкаем палкой и заставляем работать

Level of difficultyEasy
Reading time9 min
Views20K

Раньше паяльные роботы стоили миллионы рублей, но в последнее время подешевели.

Почему бы не попробовать такого робота в деле? Сможет ли он заменить «кожаный мешок» с паяльником?

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

Интересно? Ныряйте под кат

Читать далее
Total votes 75: ↑75 and ↓0+75
Comments43

Вдыхайте DIY: Создаем собственную умную вентиляцию для дома

Level of difficultyEasy
Reading time6 min
Views39K


Зачем всё это?


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

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

На стадии ремонта я понимал, что хочу автоматизировано контролировать качество воздуха в квартире, также знал о вероятных проблемах с запотеванием окон. Понимания по производителю будущей приточной вентиляции не было, поэтому заранее в стене было проделано отверстие диаметром 160 мм с запасом под воздуховод диаметром 150 мм, и проведены провода электропитания в предполагаемое место установки приточной вентиляции.
Читать дальше →
Total votes 86: ↑86 and ↓0+86
Comments136

30 лет DOOM: новый код — новые баги

Level of difficultyMedium
Reading time19 min
Views20K

Сегодня первой игре из серии DOOM исполняется ровно 30 лет! Мы не могли обойти стороной это событие и в честь этого решили посмотреть, как же выглядит код этой легендарной игры спустя годы.

Читать далее
Total votes 53: ↑52 and ↓1+70
Comments24

Как перестать бояться и полюбить 1-wire

Reading time18 min
Views50K
Мне очень нравится протокол 1-wire своей простотой и удобством для применения в системах «умный дом». Недавно я писал программную эмуляцию одной микросхемы и погрузился во внутренности этого протокола. Чтобы накопленные знания могли принести пользу не только мне, я решил написать данную статью. Но в статье я хочу рассказать не про абстрактные диаграммы сигналов и кодирование данных — перепечаток такого материала есть достаточно, а хочу рассказать про более практические вещи. А именно: рассмотрю проверенные лично схемы адаптеров, собранные из простых и доступных деталей, и расскажу, как из Linux получить доступ к устройствам 1-wire. Попутно расскажу про сам протокол, будет и пример низкоуровневой работы, и пример доступа из JavaScript, а также рекомендации владельцам Raspberry Pi. Эта статья в первую очередь для тех, кто хочет разобраться с протоколом практически с нуля, чтобы начать его использовать в своих проектах. Возможно те, кто уже хорошо знаком с протоколом, также найдут что-то новое для себя.
Читать дальше →
Total votes 68: ↑68 and ↓0+68
Comments57

Освобождение робота-пылесоса, который стал моим другом

Level of difficultyEasy
Reading time8 min
Views26K
Немного доп. оборудования, несколько команд Linux и вуаля! Пылесос свободен! Фото Cath Virginia / The Verge

В целом роботы-пылесосы мне нравятся. Для меня это эдакий небольшой друг, который чистит за меня пол. Просто фантастика. Но, к сожалению, есть одна проблема — я им не доверяю. Эти девайсы постоянно отправляют отчёты на серверы, что может представлять угрозу для безопасности и тайны личной жизни. Мне такое не по духу, и я подумал, что кто-то уже должен был хакнуть эту схему. После недолгих поисков в интернете я понял, что прав. Мне попался проект Valetudo, нацеленный на освобождение роботов-пылесосов от связи с облаком.
Читать дальше →
Total votes 85: ↑84 and ↓1+113
Comments44

Ломаем Android. Русификация китайских авто

Level of difficultyMedium
Reading time8 min
Views40K

Как я ломаю и кастомизирую Android и как я до этого дошел.

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

Читать с удовольствием
Total votes 33: ↑29 and ↓4+34
Comments76

IMSProg — программатор для CH341a в Linux

Level of difficultyMedium
Reading time4 min
Views14K

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

Читать далее
Total votes 67: ↑67 and ↓0+67
Comments43

Измеряем «солнце». ВАХ солнечных панелей своими руками

Reading time4 min
Views21K

Я провожу бесплатные обследования солнечных станций, в результате чего в меня летят тапки мне делают замечания, что для предъявления гарантийных претензий нужно измерять именно падение мощности солнечной панели, к которой в основном и привязана гарантия. Так я пришел к необходимости обзавестись собственным прибором по снятию ВАХ ( IV Curve )  солнечной панели. Как сделать его самому за ~100$, и что это даёт - далее.

Читать далее
Total votes 18: ↑17 and ↓1+23
Comments24

Doom для кнопочных телефонов

Reading time4 min
Views11K

❄ Только для телефонов на чипе Spreadtrum SC6531(E/DA).
❄❄ ...если повезёт и экран с клавиатурой заработают.
❄❄❄ Но сначала вам еще надо найти клавишу для входа в "download mode".

Перефразируя мемную фразу: "Вернее запустить смогут не только лишь все, мало кто сможет это сделать".

Опубликовал на github исходный код, и даже готовые бинарники для Windows.

Читать далее
Total votes 24: ↑23 and ↓1+31
Comments66

Разбираем TLS по байтам. Кто такой этот HTTPS?

Level of difficultyMedium
Reading time32 min
Views25K


Подключение к сайту бывает защищённым, а бывает нет — это надо знать всем детям. Только мало детей знают, что это значит и как работает.

Я, изучая веб-разработку, узнал об HTTP. Разобраться в нём несложно: в каждой статье о протоколе множество наглядных примеров запросов и ответов. Затем узнал о схеме HTTPS, с которой всё не так наглядно. В ней используется то ли SSL, то ли TLS, и что-то где-то шифруется, и зачем-то нужны какие-то сертификаты. Короче, всё расплывалось в тумане: где пример ответа, запроса, сертификата, как его создать, зачем он нужен и почему гайд по созданию http-сервера уже написал каждый школьник, а https-сервер — недоступная для начинающих разработчиков роскошь?

В связи с этим, предлагаю обсудить протокол TLS и его роль в вебе. Статья состоит из двух частей. В первой поговорим о защите соединения: от чего и как защищаемся, почему именно так, а не иначе, сколько и каких ключей для этого нужно, и разберёмся с системой сертификатов; а в конце создадим свой сертификат и посмотрим, как его использовать для разработки.

Во второй обсудим, как это дело реализуется в протоколе TLS и разберём формат TLS-пакетов по байтам. Статьи рассчитаны в первую очередь на изучающих веб-разработку, знакомых с HTTP и жаждущих осознать, кто такое https. Но материал актуален для любых применений TLS, будь то веб или не веб.
Читать дальше →
Total votes 52: ↑51 and ↓1+60
Comments21

Как делается OpenSource: личный опыт

Level of difficultyMedium
Reading time17 min
Views37K

Я - автор двух пакетов, входящих более-менее во все дистрибутивы Linux: sane-airscan и ipp-usb.

Кроме того, sane-airscan входит во все основные дистрибутивы BSD (FreeBSD, NetBSD и OpenBSD) и в ChromeOS. ipp-usb в ChromeOS не взяли потому, что он написан на Go, а у них там очень жестко с размером исполняемых файлов, вместо этого они написали свое на Rust, но предпочли бы взять моё изделие, если бы могли. Совсем недавно появился порт ipp-usb на FreeBSD, вероятно, другие BSD тоже скоро подтянутся.

Вместе эти два пакета образуют стек "бездрайверного" сканирования документов для Linux и *BSD, а в перспективе нескольких лет, когда старые сканеры, наконец, вымрут, вероятно других драйверов и не останется.

Кроме того, ipp-usb делает возможным "бездрайверную" печать на USB-устройствах.

Здесь я хочу рассказать, каково оно, быть автором популярных OpenSource пакетов. Хоть эта работа и не принесла мне особых денег (на что я, впрочем, особо и не рассчитывал), она принесла мне бесценный опыт.

В целом, я полагаю, продвижение OpenSource пакетов структурно близко к продвижению на рынок программных продуктов. Занимаясь этой деятельностью, очень хорошо начинаешь понимать разницу между (1) написать программу, которая работает для меня (2) написать программу, которую можно назвать продуктом (3) вывести продукт на рынок.

Первое занимает гораздо меньше времени, чем второе. Второе - гораздо меньше времени, чем третье.

Читать далее
Total votes 394: ↑394 and ↓0+394
Comments71
1

Information

Rating
1,038-th
Registered
Activity

Specialization

Backend Developer, DevOps
C++
C
Linux
English
Software development
Programming microcontrollers
C++ STL
Git
MongoDB
Bash