Pull to refresh
0
0
Send message

Удалённая переустановка Raspberry Pi OS по ssh

Level of difficultyMedium
Reading time4 min
Reach and readers10K

На habr'е уже была публикация про удаленную переустановку Linux по ssh. Воистину, так гланды ещё никто не удалял… Я подивился находчивости и целеустремлённости автора, и искренне пожелал себе, чтобы материал никогда не пригодился на практике.

Но внезапно мне понадобилось переустановить Raspberry Pi OS на microSD-карте, установленной в Raspberry Pi 4. При этом доставать microSD-карту очень не хотелось, дело в том, что плата Raspberry Pi установлена внутрь корпуса, который не позволяет достать microSD-карту без разборки.

Памятуя, что это не единственная моя плата Raspberry Pi и это не последний раз, когда придётся полностью переустанавливать Raspberry Pi OS, я решил, что лучше полчаса потерять, потом за пять минут обновить.

Читать далее

Прямой VPN-туннель между двумя компьютерами находящимися за NAT провайдеров с использованием UDP hole punching

Reading time11 min
Reach and readers85K
Статья о том, как мне удалось организовать прямой (точка-точка) VPN-туннель между двумя компьютерами, каждый из которых находился за NAT'ом провайдеров, при помощи VPS и простых скриптов, используя стандартные утилиты Linux, без каких-либо настроек сетевого оборудования.
Читать дальше →

Прямой VPN-туннель между компьютерами через NAT'ы провайдеров (без VPS, с помощью STUN-сервера и Яндекс.диска)

Reading time13 min
Reach and readers29K
Продолжение статьи о том, как мне удалось организовать прямой VPN-туннель между двумя компьютерами находящимися за NAT'ами провайдеров. В прошлой статье описывался процесс организации соединения с помощью третьей стороны — посредника (арендованный VPS выполняющий роль, что-то типа STUN-сервера и передатчика данных узлов для соединения). В этой статье я расскажу как обошелся без VPS, но посредники остались и ими были STUN-сервер и Яндекс.Диск…

Читать дальше →

Embox отправляется на Vostok

Level of difficultyEasy
Reading time4 min
Reach and readers7.5K

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

Эта статья – своеобразный (расширенный) анонс того, что Embox перенесен на микроконтроллеры еще одного производителя микроэлектроники в РФ. Речь идет о технологической платформе «Vostok» от ООО «Новатор» базирующейся на микроконтроллерах ГК «Элемент».

Читать далее

GOST: швейцарский нож для туннелирования и обхода блокировок

Level of difficultyMedium
Reading time13 min
Reach and readers141K

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

Сегодня я расскажу о замечательном инструменте под названием GOST. Не пугайтесь, он не имеет никакого отношения к ГОСТ-шифрованию или чему-то подобному, на самом деле это Go Simple Tunnel. Он действительно simple (простой) в использовании и настройке, но при этом невероятно мощный, поскольку поддерживает огромное количество протоколов и транспортов, из которых вы при желании сможете построить самые упоротые и бронебойные комбинации, а именно...

Читать далее

OpenConnect: недетектируемый VPN, который вам понравится

Level of difficultyMedium
Reading time15 min
Reach and readers383K

Я уже написал здесь много статей на тему прокси-протоколов и прокси-клиентов, которые очень сложно детектировать и заблокировать, и которые используют пользователи в Китае, Иране, Ираке, Туркменистане, и теперь вот в России (мы здесь в отличной компании, правда?). Но довольно часто мне в комментариях писали, мол, это все отлично, но мне нужен именно VPN для целей именно VPN - доступа в частные локальные сети, либо для соединения клиентов между собой, и желательно так, чтобы его не заблокировали обезьяны с гранатой. Поэтому сегодня мы поговорим именно о VPN.

Классические OpenVPN, Wireguard и IPSec отметаем сразу - их уже давно умеют блокировать и блокировали не раз. Модифицированный Wireguard от проекта Amnezia под названием AmneziaWG — отличная задумка, но есть одно но...

Читать далее

Безопасное управление двигателем постоянного тока

Level of difficultyMedium
Reading time7 min
Reach and readers19K

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

Читать далее

Решение школьных задач по химии в Python

Level of difficultyEasy
Reading time5 min
Reach and readers16K

Изображение от rawpixel.com на Freepik

Я попробовал решить несколько простых школьных задач по химии в Python с помощью библиотек mendeleev, chemlib и chempy, в том числе несколько заданий из ОГЭ и ЕГЭ.

к задачам

10 лучших практик логирования в Python

Level of difficultyEasy
Reading time19 min
Reach and readers53K

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

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

Читать далее

Векторное управление для асинхронного электродвигателя «на пальцах»

Reading time9 min
Reach and readers150K

В предыдущей статье «Векторное управление электродвигателем «на пальцах» рассматривалась векторная система управления для синхронных электродвигателей. Статья получилась большой, поэтому вопрос про асинхронные электродвигатели (induction motors) был вынесен в отдельную публикацию. Данная статья является продолжением предыдущей и опирается на приведенные там объяснения принципов работы электродвигателей. Она расскажет об особенностях работы асинхронного двигателя применительно к векторному управлению, а также покажет отличия в структуре векторной системы управления между синхронной и асинхронной машиной.
Как работает асинхронный электродвигатель? Наиболее популярное объяснение говорит что-то типа «статор создает вращающееся магнитное поле, которое наводит ЭДС в роторе, из-за чего там начинают течь токи, в результате ротор увлекается полем статора и начинает вращаться». Лично я от такого объяснения всю физику процесса понимать не начинаю, поэтому давайте объясню по-другому, «на пальцах».
Читать дальше →

Векторное управление электродвигателем «на пальцах»

Reading time17 min
Reach and readers393K
— Что такое векторное управление?
— Держать ток под 90 градусов.


Термин «векторное управление» электродвигателями знаком всем, кто хоть как-то интересовался вопросом, как с помощью микроконтроллера управлять двигателем переменного тока. Однако обычно в любой книге по электроприводу глава про векторное управление находится где-нибудь ближе к концу, состоит из кучи волосатых формул с отсылками ко всем остальным главам книги. Отчего разбираться в этом вопросе совсем не хочется. И даже самые простые объяснения всё равно держат путь через дифференциальные уравнения равновесия, векторные диаграммы и кучу другой математики. Из-за чего появляются примерно вот такие вот попытки как-то закрутить двигатель без использования мат.части. Но на самом деле векторное управление – это очень просто, если понимать принцип его работы «на пальцах». А там уже и с формулами разбираться в случае надобности будет веселее.
Читать дальше →

Новый отечественный motor-control микроконтроллер К1921ВК01Т ОАО «НИИЭТ»

Reading time11 min
Reach and readers70K

Как-то прошла мимо новость о появлении нового микроконтроллера К1921ВК01Т ОАО «НИИЭТ». Чем он примечателен? Своей периферией, предназначенной для управления электродвигателями (motorcontrol). Это не просто пара-тройка ШИМ каналов. Это девять навороченных двухканальных модулей ШИМ (PWM), из них три модуля (HRPWM) с режимом «высокого» разрешения. Это шесть отдельных 32х разрядных модулей захвата CAP. Двадцать четыре(!) канала 12ти разрядных АЦП с гибким менеджером их запуска, встроенным усреднителем и цифровыми компараторами. Два квадратурных декодера (QEP), куча интерфейсов связи, внутренняя пользовательская память, часы – и всё это на ядре ARM Cortex-M4F с мегабайтом флеш-памяти «на борту» и производительностью 100 MIPS! Интересно?
Читать дальше →

Поднимаем на OpenWrt клиент прокси VLESS, Shadowsocks, Shadowsocks2022. Настройка sing-box и tun2socks

Level of difficultyMedium
Reading time10 min
Reach and readers303K

Практическое руководство описывающее, как поднять на роутере Shadowsocks, VMess, VLESS, Trojan и даже SOCKS5 proxy.

Трафиком на роутере удобно управлять, когда у туннеля есть свой интерфейс. С одной стороны, есть Wireguard и OpenVPN, которые предоставляют сетевые интерфейсы. C другой стороны есть, например, SOCKS5 прокси и вытекший из него Shadowsocks, которые работают на другом уровне. Настраивая их мы получаем порт, а не интерфейс.

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

Читать далее

Kornia — библиотека компьютерного зрения

Level of difficultyMedium
Reading time15 min
Reach and readers16K

Kornia это open source библиотека для решения задач компьютерного зрения. Она использует PyTorch в качестве основного бэкенда и состоит из набора дифференцируемых процедур и модулей. Создатели библиотеки вдохновлялись OpenCV, и поэтому Kornia является его аналогом, но при этом в некоторых моментах превосходит. Главным преимуществом Kornia по сравнению с тем же OpenCV, scikit-image или с Albumentations является возможность обрабатывать изображения батчами, а не по одному изображению и возможность обрабатывать данные на GPU.

Читать далее

Точечная маршрутизация по доменам на роутере с OpenWrt

Level of difficultyMedium
Reading time13 min
Reach and readers363K

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

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

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

Помимо инструкций по настройке туннелей Wireguard и OpenVPN, написал инструкцию по использованию технологий, которые помогут в обходе блокировок по протоколу: Shadowsocks, VLESS и прочими.

Читать далее

Загружаем данные в Oracle

Reading time14 min
Reach and readers94K
В своей предыдущей статье я показал, что при использовании асинхронных запросов, скорость опроса устройств по протоколу SNMP может достигать 9000 запросов в секунду (при условии, что у нас есть достаточное количество устройств для формирования такого потока ответов). Вопрос о том, что делать с этим потоком данных остался открытым.

Обычной практикой является обработка данных мониторинга посредством RDBMS (таких как Oracle Database). Но способны ли традиционные реляционные базы данных справиться с такой нагрузкой? Попробуем в этом разобраться.
Читать дальше →

Проксируем OpenVPN через Shadowsocks или чиним OpenVPN во время блокировок

Level of difficultyEasy
Reading time3 min
Reach and readers62K

В данной статье рассмотрим как настроить существующее подключение к OpenVPN серверу, которое могло или может перестать работать, через shadowsocks (Outline VPN) туннель на OpenWRT любых версий с помощью openvpn-openssl и shadowsocks-libev.

Понадобятся:

Существующий сервер OpenVPN и настроенный клиент на OpenWRT

Конфиг shadowsocks (Outline) вашего либо чужого сервера.

Свободные 650кб памяти в роутере

Читать далее

DIY порошок для посудомойки: разбираем промышленные средства и улучшаем рецепт

Reading time11 min
Reach and readers134K


Внимание! В рецепте с отбеливателем обнаружилась опасность коррозии металла! Не рекомендуется в стандартном применении!

Обзор экспериментов год спустя:
DIY порошок для посудомойки: как не растворить посуду и не повторить моих ошибок. Год экспериментов

В прошлой публикации мы создавали дешевый порошок для посудомойки из желудей и спичек кальцинированной соды и стирального порошка. В этой я расскажу о том, как можно его улучшить с помощью кислородного отбеливателя и где можно купить компоненты для более продвинутой версии. Будем делать упор на эффективности мойки, но даже при этом цена не выйдет за 100 рублей/килограмм. А еще будет рецепт ополаскивателя с себестоимостью в районе 1 рубля за литр. Как справедливо заметил amarao, занятие не для всех и многим проще использовать готовые таблетки. Но в подобных экспериментах с бытовой химией есть что-то от детства, первых опытов по смешиванию соды с уксусом и газировки с мятными конфетами. Так что ощутимая экономия здесь все-таки вторична. Будем развлекаться) Если кому-то лень читать весь текст — в конце поста будут подробные рецепты с рекомендациями.
Читать дальше →

DIY порошок для посудомойки: как не растворить посуду и не повторить моих ошибок. Год экспериментов

Reading time9 min
Reach and readers113K


Предыдущие публикации:

Пудра для мозга или как сделать порошок для посудомойки в 9,7 раз дешевле
DIY порошок для посудомойки: разбираем промышленные средства и улучшаем рецепт

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

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity

Specialization

Системный администратор, Администратор баз данных
Ведущий
From 350,000 ₽
Oracle DBA
Администрирование Oracle
Администрирование Linux