Pull to refresh
25
0
Пётр @artp

User

Send message

PIndastrial shield — модуль питания и интерфейса RS-485 для Raspberry PI

Reading time4 min
Views15K

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

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

От земли к FPV Квадрокоптеру: Введение

Reading time7 min
Views47K


Всем привет! Сегодня мы продолжаем нырять в реальность, в железо, а точней сказать — взлетать. Но не так быстро! :) До первого полета необходимо немного повозиться и даже налетать несколько часов на симуляторе.

.NET Core + RabbitMQ

Reading time4 min
Views33K
При разработке микросервисов возникает вопрос о предоставлении информации от одного сервиса другим сервисам по мере возникновения каких-либо событий. При этом важно иметь систему без привязки отправителя к получателям. В этом случае используется паттерн Publisher-Subscriber.

На рынке существует множество продуктов для обмена сообщениями, которые поддерживают паттерн Publisher-Subscriber, например Azure Service Bus, RabbitMQ или Apache Kafka.

Недавно мною были опубликованы две NuGet библиотеки для быстрой и удобной настройки event-based communication с использованием Azure Service Bus и RabbitMQ. В этой короткой how-to статье описаны шаги для использования последней.
Читать дальше →

Реализуем визуальный эффект из фильма «Матрица»

Reading time2 min
Views33K


Доброго времени суток, друзья!

На днях пересмотрел «Матрицу». Слушайте, до чего же классный фильм (это касается только первой части). В очередной раз обратил внимание на «падающие» строчки с иероглифами на ихних экранах (намеренно использовал слово «ихних» забавы ради). Задумался о том, как это можно реализовать… максимально простым способом (ибо лень). Вот что у меня получилось.
Читать дальше →

Солнце, ветер и вода ver 0.1

Reading time8 min
Views8.4K

Сезон первый

Переживем кризис вместе… — на яхте.
(С) мой друг
Статья о выборе минимально необходимого двигателя на яхту.

Шаг первый — с чего все началось


Примерно в середине 2014 года, когда стало понятно, что кризис будет весьма затяжной, снова пришло время верстать собственный антикризисный план. Ну чтобы не получилось как в известном фильме — «кризис это когда не хочется хотеть чего то хотеть», а было много-много интересных часов. В поле моего зрения попал яхтинг. На тот момент мои познания в этом вопросе были на уровне детского сада, когда мы делали кораблики из скорлупы грецкого ореха и пускали их в лужах. Я даже не знал, есть ли у меня морская болезнь. :-) Но, сказано — сделано. Тема есть, начинаем верстать план мероприятий.

Перво наперво надо бы где то поучиться. Поговорил с яхтсменами. Все они учились в ДЮСШ еще во времена СССР. Все наперебой давали советы, что надо сперва поехать в Турцию и брать разные яхты в чартер, и учиться прямо на практике. Ну а прямо сейчас можно за скромные деньги «взять вот прямо эту и прямо здесь у меня». Ну их можно понять — для них это бизнес. Мы пойдем другим путем.
Читать дальше →

CAN sniffer

Reading time9 min
Views94K
Непосредственно сама CAN шина используется уже много где, мне интересно её использование в автомобиле, хотя этой сферой можно и не ограничиваться. Тем более пару лет назад подвернулась такая возможность. Я посмотрел на общие спецификации — вроде бы ничего особо сложного нет. Посмотрел на программы, которые встречаются в интернете — и ни одна мне не приглянулась, у каждой не хватало чего-то такого, что казалось мне нужным на тот момент. Буду изобретать свой велосипед. Делаю свой CAN sniffer далее под катом.
Читать дальше →

Файл дескриптор в Linux с примерами

Reading time14 min
Views122K
Однажды, на одном интервью меня спросили, что ты будешь делать, если обнаружишь неработающий сервис из-за того, что на диске закончилось место?

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

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

Интервьюер прервал меня на последнем слове, дополнив свой вопрос: «Предположим, что данные нам не нужны, это просто дебаг лог, но приложение не работает из-за того, что не может записать дебаг»?

«окей», — ответил я, «мы можем выключить дебаг в конфиге приложения и перезапустить его».
Интервьюер возразил: «Нет, приложение мы перезапустить не можем, у нас в памяти все еще хранятся важные данные, а к самому сервису подключены важные клиенты, которых мы не можем заставлять переподключаться заново».

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

Интервьюер остался доволен, а я нет.

Тогда я подумал, почему человек, проверяющий мои знания, не копает глубже? А что, если данные все-таки важны? Что если мы не можем перезапускать процесс, и при этом этот процесс пишет на файловую систему в раздел, на котором нет свободного места? Что если мы не можем потерять не только уже записанные данные, но и те данные, что этот процесс пишет или пытается записать?
Читать дальше →

История рунета: вспоминаем, как закалялась сеть

Reading time15 min
Views12K
image

В начале сентября на YouTube вышла первая серия документального мини-сериала «Холивар. История рунета». Разумеется, эта тема не могла оставить наших коллег равнодушными. Многие из нас так или иначе застали появление первых домашних компьютеров и становление рунета в целом, о чем мы обязательно расскажем в конце статьи.

Тем не менее, несмотря на достаточно широкий охват исторических событий, многое в видео осталось за кадром. Сегодня мы постараемся восполнить часть этих пробелов и, возможно, рассказать читателям, не знакомым с этой темой, что-то новое из мира, когда компьютеры были большими.
Читать дальше →

С хорошим микроконтроллером и время летит быстро или осциллограф выходного дня

Reading time4 min
Views20K

Некоторое время назад автор этих строк взялся разрабатывать компактный регистратор одно-полярного аналогового сигнала в пределах 3 вольт с максимально возможной скоростью считывания и минимально возможными затратами и размерами. В список минимально возможных затрат я вписал также и свою головную боль и выбрал хорошо знакомый мне STM32F303. Это, напомню, Cortex-M4 на 72 мегагерца от известной компании, со встроенными 12 разрядными, довольно шустрыми, аналого-цифровыми преобразователями (АЦП или ADC, кому как нравится) и с CAN интерфейсом на борту.


Таких небольших регистраторов требовалось несколько десятков. А наличие у микроконтроллера корпуса о 48-ми ногах вселяло надежду на то, что получится назвать этот считыватель компактным. Интерфейс CAN, с которым у меня уже тогда были хорошие отношения, давал мне возможность объединить весь этот джаз в достаточно удобной манере.


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


Однако, некоторый осадок остался. Осталась мысль, что, в отношении быстродействия, выжато было не все.


И вот, совсем недавно появляется серия STM32G4 с тактовой частотой до 170 мегагерц с вариантом в маленьком корпусе, и с почти такими же шустрыми АЦП на борту в количестве пяти штук. Надо было что-то делать.

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

Яндекс: умный дом по-взрослому

Reading time9 min
Views196K


Недавно компания Яндекс запустила свою систему «умного дома». Нам предлагают купить недорогие работающие по Wi-Fi устройства: адаптер в розетку, лампочку и ИК пульт. Интересно, что у разработчиков «умных» устройств появилась возможность создать свои навыки «умного дома», это позволит подключить девайсы к системе Яндекса и управлять ими голосом через Алису. В списках навыков появляется всё больше новых брендов. Алиса прекрасно понимает русскую речь, что делает ее безусловным лидером среди голосовых ассистентов на российском рынке.
Однако, не всё так гладко…
Читать дальше →

Разработка монолитной Unix подобной OS — Начало (1)

Reading time4 min
Views12K
В связи с отрицательными отзывами пробной статьи «Разработка микроядерной Unix подобной OC — планировщик» я решил перезапустить серию статей с учетом некоторых замечаний. Теперь, осознав свою целевую аудиторию, я смог сместить фокус с подобных себе на тех кому это действительно нужно.
Читать дальше →

Разработка многозадачной микроядерной ОС — Планировщик

Reading time6 min
Views17K
После того, как вы прочитали базовые шаги по написанию Hello World ядра из цикла имеющихся на Хабре статей, самое время приступить к серьезной разработке самых базовых инструментов: аллокатора кучи и планировщика.

Важно:
1. Эта серия уроков для новичков. Цель — сформировать целостную картину мира. Очень долго у меня в голове была теория Таненбаума и я не мог ее связать с практикой. Тем у кого то же самое — посвящаю эту статью.
2. Код самый простой и тупой, но максимально понятный. Моя цель дать вам понимание чтобы вы смогли написать свое ядро, гораздо более крутое чем это.
3. Репо опубликую как только посчитаю его готовым для широкого круга. Я пишу небольшую часть, отлаживаю, и снимаю видеоурок. У меня нет готового продукта.

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

TinyFL — драйвер фонарика на микроконтроллере

Reading time18 min
Views73K

Привет, Habr!


Хочу рассказать историю о том, как мне в руки попал китайский налобный фонарик на светодиоде Cree XM-L и что дальше с ним стало.


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

Как линуксовый админ управлял детским хором с помощью системы распознавания нот под Ubuntu 16.04. Микрофон и аккорды

Level of difficultyHard
Reading time4 min
Views11K
Что нужно, чтобы лето проходило весело? Нужна музыка! Но если музыка записана нотами на бумаге, а вы — обыкновенный системный администратор, и вам поручили задачу создать детский хор, то в качестве одного из вариантов решения этой проблемы представляю несколько полезных программ. Они написаны на Java и доступны как в репозитарии Ubuntu 16.04, так и на Гитхабе для решения задачи машинного распознавания нот, создания музыкальных партий, выгрузки и редактирования получившегося музыкального продукта в популярные форматы и раздачи файлов (а также и подзатыльников) отдельным исполнителям. Тема, я надеюсь, будет интересна читателям нашего блога.(UPD1. Есть добавление по системе оптического распознавания TESSERACT 5.0.0-alpha для быстрой работы системы на современных процессорах.)

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

История создания Ethernet-CAN конвертера

Reading time6 min
Views16K
Одним ясным солнечным днем по работе понадобился недорогой преобразователь интерфейсов CAN в Ethernet. Естественно поиски начались с готовых решений, но, как нередко это бывает, в итоге было принято решение о разработке собственного образца. Естественно, энтузиазм автора не смог устоять и ограничиться столь «урезанным» функционалом. Что из этого вышло, каким образом и почему — под катом.

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

Автоматика для дома своими руками

Reading time8 min
Views44K
Моя статья будет полезна тем, кто только задумывается над подобного рода системой, поможет определиться делать ли самому и ориентирована в основном на энтузиастов-колхозников. Изначально пишу “автоматика” а не умный дом, потому что на данном этапе умных функций в моей системе управления нет, сейчас стояла задача в сборе данных и управлении устройствами. Всё должно измениться в будущем, когда появятся алгоритмы, которые и сделают дом умным. С моей точки зрения, если вы можете включать свет со смартфона, то это не делает ваш дом умным. Умным он становится когда у вас написаны сценарии, которые помогают вам, облегчают контроль за домом и делают рутинные вещи незаметными для вас. Например, включить свет на крыльце, когда уровень освещённости ниже какого-либо порога, и выключить в два ночи, не включать полив если сегодня обещают осадки с вероятностью больше 60 процентов, если появилось движение в комнате то включить подсветку лестницы и т.д. И только в этом случае он становится “умным”.
Читать дальше →

Стабильный источник высокого напряжения для питания ФЭУ

Reading time7 min
Views27K


Применение фотоэлектронного умножителя — это очень простой способ получить высочайшую чувствительность фотоприемника, вплоть до регистрации единичных фотонов при прекрасном быстродействии. А учитывая массу ФЭУ, выпущенных в СССР и до сих пор лежащих на складах, это еще и относительно недорого (современные «фирменные» ФЭУ все-таки неприлично дороги для любительского применения). Но для питания фотоэлектронного умножителя нужен источник напряжения в 1-3 киловольта, и притом очень стабильный.

Дело в том, что чувствительность ФЭУ зависит от анодного напряжения экспоненциально и очень резко: она увеличивается в 10 раз при увеличении напряжения на 80-300 В, в зависимости от типа ФЭУ. И если нужно обеспечить стабильность усиления на уровне процента, для некоторых ФЭУ необходимо, чтобы напряжение не менялось больше, чем на 0,1-0,3 В!

В данной статье я привожу схему источника высокого напряжения для ФЭУ, который хорошо зарекомендовал себя в лабораторных условиях. Он обеспечивает выходное напряжение от нескольких сотен до 1500 В при выходном токе до 1 мА и стабильности не хуже 0,2 В за час при неизменном потребляемом токе после прогрева. Несложная переделка увеличивает верхний предел напряжения до 3 кВ, правда, ценой меньшей стабильности.
Читать дальше →

Радиолюбительская технология: как я заказал монтаж печатной платы на китайской фабрике

Reading time5 min
Views32K

Цель публикации: рассказать, как подготовить несложную радиолюбительскую конструкцию к производству.

Как уже я писал ранее, творчество радиолюбителей имеет ограниченный возможностями семьи бюджет и имеет ограничение по отнятому у семьи времени. Не каждый радиолюбитель может себе позволить иметь дома оборудование для изготовления печатных плат и их монтажа. В современном мире это решается технологиями CAD/CAM, причём CAM может применяться и для изготовления печатных плат, и для монтажа компонентов на этих платах.

В этой статье описано: как производится монтаж печатных плат на производстве; как подготовить в CAD Eagle 7.7.0 проект для сборки прототипа на CAM, расположенной в КНР.

В этой статье не рассматриваются: критерии выбора контрагента, экономические аспекты, вопросы логистики.
Читать дальше →

Портирование Qt на STM32

Reading time5 min
Views17K
Добрый день! Мы в проекте Embox запустили Qt на STM32F7-Discovery и хотели бы об этом рассказать. Ранее, мы уже рассказывали как нам удалось запустить OpenCV.

Qt — это кроссплатформенный фреймворк, который включает в себя не только графические компоненты, но и такие вещи как QtNetwork, набор классов для работы с базами данных, Qt for Automation (в том числе, для реализации IoT) и многое другое. Разработчики команды Qt заранее предусмотрели использование Qt во встроенных системах, поэтому библиотеки довольно хорошо конфигурируются. Однако до недавних пор, мало кто задумывался о портировании Qt на микроконтроллеры, вероятно потому, что такая задача выглядит сложной — Qt большое, MCU маленькие.
Читать дальше →

Электролонгборд своими руками

Reading time2 min
Views46K
Всем доброго дня. Сегодня я расскажу, как сделать электро-лонгборд своими руками. Итогом всей сборки стала доска с максимальной скоростью 32-35км/ч, запасом хода на 25-30км и весом около 8кг.


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

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity