От диплома до подвала: история браузерной игры с настоящими RC-машинками

Три года я делал браузерную игру, в которой игроки управляли настоящими RC‑машинками через браузер. В итоге, у меня получилось потратить 2млн рублей и получить огромный опыт...

Одноплатный компьютер компактного размера

Три года я делал браузерную игру, в которой игроки управляли настоящими RC‑машинками через браузер. В итоге, у меня получилось потратить 2млн рублей и получить огромный опыт...

Так бывает, что в твоей клавиатуре всё нравится, кроме провода, который не добавляет эстетики и удобства. Поэтому у меня возникло желание сделать адаптер для превращения своей проводной клавиатуры в беспроводную.
Я уже предпринимал такую попытку в одной из своих статей. Описанный там адаптер представлял больше учебный интерес, чем имел практическое применение, так как прошивка представляла собой полноценный Linux, кастомизированный скриптами, и использовала слишком мощное (Raspberry Pi Zero 2 W) для такой простой задачи железо.
К той статье были написаны справедливые замечания, а сейчас я хочу их исправить.

Эта статья является продолжением серии для демо-проекта на базе OpenPLC. В предыдущей части были рассмотрены программирование Raspberry Pi Pico W в режиме Modbus RTU/TCP Slave, управление реле через Ladder-диаграмму. Теперь пришло время добавить в схему CAN-шину.
Что добавляется в этой части: узел Pico W получает модуль MCP2515 и подключается к CAN-шине. Для этого в OpenPLC Editor написан пользовательский функциональный блок, который работает поверх ардуино-библиотеки и предоставляет доступ к CAN-шине из обычной Ladder-программы через глобальные переменные-маркеры %MW.

Данная статья является продолжением статьи https://habr.com/ru/articles/871380/ про сенсор HT2000, который измеряет CO₂, температуру и влажность. В рамках той статьи обсуждался более доступный вариант измерительного прибора. Конкретно этот вариант измерителя будет построен на датчиках типа AHT2X или SHT2X (в интернете полно информации об этих датчиках). Задача прибора‑измерителя — измерять показания температуры и влажности и передавать их на сервер для хранения данных по домашнему Wi‑Fi.

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

В предыдущей статье мы подключили CAN bus к STM32-IHM03, настроили базовую коммуникацию и запустили управление PMSM-двигателем. Теперь пришло время расширить проект — добавить в него периферийный микроконтроллер в качестве удалённого I/O-узла и организовать логику управления с помощью OpenPLC.
В этой статье мы рассмотрим, как подключить Raspberry Pi Pico W по Modbus RTU к одноплатному компьютеру Orange Pi, запрограммировать микроконтроллер в среде OpenPLC Editor на языке контактно-релейных схем (LD) и удаленно управлять реле по Modbus. Попутно разберёмся с настройкой шилда RS485 CAN HAT, адресацией пинов и регистров.

Давно хотел поднять свой C2-сервер. Ну, чтобы как большие мальчики с доменом, прокси, шифрованным туннелем. Но покупать VPS с 8GB RAM и платить за Cobalt Strike как‑то жирновато. Решил: будет малинка.
ВНИМАНИЕ: Эта статья предназначена для ознакомления начинающим исследователям в области Кибербезопасности. Я не предоставляю инструкций по атакам на инфраструктуру. Я не буду тут показывать как обходить защиту windows и какие либо системы обнаружения угроз. Перед загрузкой вредоносного файла я отключил защиту в windows. Такая атака не сработает в боевых условиях это лишь материал для начального ознакомления!

По созданию клавиатур на Хабре написано много статей, но, как правило, они подразумевают кастомизацию прошивки QMK или использование уже готовой.
Использование готовой прошивки удобно тем, что большинство шишек за вас набили её разработчики. Такой подход годится, если вы хотите получить отлаженное решение в сжатые сроки.
Для обучения и понимания работы клавиатуры, периферийных устройств и протоколов взаимодействия лучше изобрести свой велосипед. Так я и поступил.

Добрый день, коллеги. Наверняка многие сталкивались с ситуацией: нужно прошить 20, 50, а то и 100 EDGE компьютеров перед отправкой заказчику. Берёшь USB-кабель, открываешь Win32imager.. На пятой плате рутина убивает в тебе инженера. На десятой — кажется, что ты работаешь на азиатском подполье по производству типовых приборов.
Мы через это прошли. И теперь хотим рассказать, как превратили муторную рутину в комфортный процесс.

Сразу сделаю оговорку — «Полароидом для бедняков» я эту штуку называю не потому, что она недорогая (ибо детали суммарно мне обошлись дороже, чем самый дешёвый полароид), а потому что это просто наколенночный проект. Который всё же работает. И при этом вышло, что в долгосрок это обходится дешевле — одна фотка на оригинальный полароид стоит около 1 евро, а на эту камеру — около цента (исходя из стоимости рулона термоленты).
Но мы не будем напрямую сравнивать полученные фото, потому что это совсем разные истории. Итак, давайте про эту поделку.
Де-факто у меня получилась моментальная камера, которая печатает фотографии с помощью термопринтера — как чеки на контрольно-кассовых терминалах. Само собой, качество фотографий не такое высокое, как у самопроявляющейся пленки Polaroid. Но своё, гм, очарование у этого тоже есть.
Так вот.
Stratum 1 NTP-сервер на Raspberry Pi в 2025 году: DCF77 + GPS/PPS, chrony, libgpiod v2, когда все туториалы по «точному времени на Raspberry Pi» сломаны на современных системах. Разбираю почему — и показываю как сделать правильно.

Ресурсы современных одноплатных микрокомпьютеров вполне могут синтезировать речь с приемлемым качеством, используя технологии нейросетей. В этой статье пример кейса с добавлением «голоса» к отечественному микрокомпьютеру Repka-Pi 4.
Используем программные синтезаторы речи (TTS, Text-to-Speech) eSpeak NG и Pipe.
Вы сможете использовать приведённые в статье коды сервера синтезатора речи, созданного на базе Piper и FastAPI. Этот сервер запускается через systemd автоматически при включении питания Repka-Pi и получает запросы на синтез речи от внешних клиентов через HTTP. Получив такой запрос, сервер ставит его в очередь на «озвучивание». При этом клиент может не дожидаться окончания синтеза, а продолжать свою работу.

Смотрел вчера во время ужина новости по ТВ — опять атаки БПЛА, опять разрушения, пострадавшие. Вспомнил новость, что Бюро 1440 запустило первую часть низкоорбитальной группировки — 16 спутников «Рассвет» — и обещает в этом году довести количество спутников до 256. Кстати, я думал, что название 1440 появилось от количества минут в сутках, оказалось нет: один сотрудник из 1440 сказал, что 1440 оборотов вокруг Земли совершил первый искусственный спутник — тот, который делал «бип-бип». Ну ладно, это лирика. Подумал: как можно прекратить эти атаки? Может, БПЛА нужно не сбивать и не глушить радиосигнал, а просто хакнуть? Так родилась идея, которая изложена ниже.
Рассматривается гипотетическая, но технически обоснованная система противодействия беспилотным летательным аппаратам (БПЛА), использующая спутниковые средства обнаружения и российскую низкоорбитальную спутниковую группировку «Рассвет» (Бюро 1440) как ретранслятор сигнала взлома. Основное внимание уделяется архитектуре, физическим принципам работы и элементам, уже доказавшим свою эффективность в открытых исследованиях. Система носит рабочее название «Квазар».
Введение: ограничения классических подходов.
Традиционные средства радиоэлектронной борьбы (РЭБ) с БПЛА сталкиваются с тремя фундаментальными ограничениями:
Радиогоризонт: наземные станции обнаруживают и подавляют цели только в пределах прямой видимости (до 30–50 км для высотных аппаратов).
Энергетика: мощность сигнала обратно пропорциональна квадрату расстояния; воздействие на десятках километров требует антенн метрового размера и киловаттных передатчиков.

Из любопытства была у меня идея попробовать снять показания со счётчика удалённо, но так как был уже установлен древний дубовый счётчик Энергомера СЕ102, то вкладываться в замену не хотелось. Однако межповерочный интервал начал подходить к концу и я начал задумываться насчёт замены счётчика на более продвинутый (с интерфейсами связи). Начал выбирать варианты в виде LoRaWan, Zigbee, RS-485, но оказалось, что по современному законодательству счётчики электроэнергии меняет ресурсоснабжающая организация (так называемый «гарантирующий поставщик»). С надеждой ждал, что электрик придёт и поставит современный навороченный счётчик с кучей интерфейсов, но всё оказалось не совсем так...
Представитель ресурсоснабжающей организации установил новый счётчик МИР С-05.10-230-5(80)-G2Z1B-KNQ-S-D.

У меня уже были статьи, посвящённые эмуляции «Ну, погоди!». Цель этой статьи — рассказать, с чем я столкнулся при переносе моего эмулятора на Linux, и почему вообще я не воспользовался готовым решением. Статья может послужить туториалом для тех, кто хочет начать разбираться в библиотеке SDL2.

Всем привет, дорогие читатели! Расскажу вам о том как сделать интернет-радио на «скорую руку» без особых хлопот.
Последнее время я экспериментировал с AI-агентами на Raspberry Pi 5.
И довольно быстро столкнулся с проблемой: большинство существующих агентных фреймворков оказываются слишком тяжёлыми для небольшого железа.

Итак, я решил довести до реально работающего проекта превосходный эмулятор синтезатора Roland JV880. Это рэковый модуль (без клавиатурный), сделанный на базе синтезатора JV80. Соответственно он поддерживает все карты расширения этого синтезатора и почти все MIDI команды.

Цель статьи – объяснить разницу между CEF и WPE после года работы с этими фреймворками, предоставить инструкцию сборки и запуска полноценных JS+HTML+CSS веб-страниц с WPE на RaspberryPi 5 с zero-copy в 60+ FPS на FullHD. Посетовать, что такое нельзя сделать вместе с CEF. В конце мы будем иметь:
WPE для arm64 и amd64, OpenGL пайплайн вместе с EGL, работать всё это будет на встроенной системе Wayland. Wayland не должен никого пугать, на RaspberryPi 5 он идёт сразу в коробке, так что вы можете запускать и приложения на Wayland, и без перезагрузки приложения на X11. Но WPE zero-copy работает ТОЛЬКО с Wayland. Код будет представлен на языке С++.

Хочу поделиться опытом разработки двупортового конвертора USB2RS485. Зачем изобретать повторно велосипед расскажем в статье. Посчитаем сколько потрачено.