Pull to refresh
0
0
Андрей Шелестов @stream13

Разработчик встраиваемых систем

Send message

Поворотный энкодер: насколько сложен он может быть

Reading time7 min
Views12K

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

Мне нужен был поворотный энкодер — и я вытянул дешевый экземпляр из одного набора «49 плат для Arduino», какие продаются повсюду. Уверен, это не самый филигранный поворотный шифратор из имеющихся в природе, но для поставленной задачи его должно было хватить. К сожалению, в Mbed OS нет драйвера для такого датчика, а первые несколько сторонних библиотек, которые я нашел, либо работали по принципу опроса, либо не компилировались под последнюю версию Mbed. Разумеется, для чтения поворотного энкодера никакой магии не требуется. Но насколько сложно самостоятельно написать для него код? В самом деле, довольно сложно. Подумал, поделюсь моим кодом и расскажу, как к этому коду пришел.

Читать далее

Synology NAS добавляем сервер точного времени с синхронизацией от GPS

Reading time2 min
Views6K

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

И в принципе можно прописать какой-то чужой сервер точного времени, но мы не ищем легких решений.

Итак приступаем. Сначала надо найти подходящий usb GPS приёмник. В моём случае попался старенький globalsat. У моего приёмника внутри оказался rs->usb pl2303 , но может оказаться ftdi итп, тут надо искать , тот что можно прикрутить. Втыкаем его в USB Synology NAS и ..... и ничего.

Логинемся на NAS по ssh , для удобства сразу становимся root ( sudo -i )

делаем

https://habr.com/ru/post/79629/?ysclid=l1u

Что такое гигагерц и при чем тут Илон Маск?

Reading time6 min
Views12K

Проанализируем объявление о приеме на работу в Теслу на позицию джуниор-проектировщика процессора для AI автопилота автомобиля (скриншот ниже). Как мы видим, от соискателя требуется понимание микроархитектуры процессора, проектирование на уровне регистровых передач используя язык описания аппаратуры Verilog, а также понимание, как проектирование логики влияет на временные задержки. Иными словами, соискатель должен понимать, как связаны его строки на верилоге с гигагерцами синтезируемого из них процессора. А понимаете ли это вы?

Читать далее

Aтрибуты Хорошей Прошивки (Firmware)

Level of difficultyEasy
Reading time6 min
Views19K

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

Читать далее

Атрибуты Xорошей PCB

Level of difficultyEasy
Reading time5 min
Views15K

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

Этот перечень сформировался в результате реальных инцидентов.

Читать далее

Согласование импедансов: переходные процессы и переходные отверстия

Reading time12 min
Views20K

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

Металлизировать отверстия

Уязвимости в системе лицензирования J-Link, или Почему так важно исследовать безопасность устройств

Reading time10 min
Views14K

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

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

Читать далее

Согласование импедансов: симуляторы и симуляция. Часть 2

Reading time14 min
Views13K

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

Симулировать работу

PyQt6 — полное руководство для новичков. Продолжение

Reading time35 min
Views62K

В первом материале мы рассказали о создании первого окна, о сигналах, слотах и событиях, а также о виджетах. Сегодня, к старту курса по Fullstack-разработке на Python, делимся продолжением — о макетах, работе с панелями инструментов и меню при помощи QAction, дополнительных и диалоговых окнах. За подробностями приглашаем под кат.

1. Макеты

2. Панели инструментов, меню и QAction

3. Диалоговые окна и окна предупреждений

4. Дополнительные окна

Читать далее

ADOBE Systems — история удивительного успеха

Reading time25 min
Views13K

Из этой статьи вы узнаете:

- Как двое немолодых людей взяли себя в руки, ушли из крупной компании и основали свою.
- Как Стив Джобс стал их первым и самым значимым клиентом, а годы спустя объявил им войну.
- Как одного из них похитили и 4 дня держали в заложниках.
- И какую роль играло Министерство Обороны США не только в становлении компании, а во всей компьютерной отрасли.

Читать далее

Конвертер из HDMI/DP++ в MIPI DSI

Reading time5 min
Views14K
Доброго времени суток, Хабр!



Неоднократно мне тут задавали вопросы по конвертеру из HDMI в MIPI DSI. Так сказать, по просьбам трудящихся, выкладываю что у меня получилось. В статье затрону аппаратную сторону реализации устройства и изложу основные проблемы, с которыми столкнулся. Приятного прочтения.
Читать дальше →

Делаем встраиваемый полифункциональный зарядник

Reading time15 min
Views23K

Попытаемся сделать зарядник 300 Вт с КПД 99% из тех деталей которые еще остались в стоках интернет-продавцов. Продумаем архитектуру. Cоздадим схему. Проведем симуляцию в LTSpice и Microcap. Научимся технологии оптимизации в симуляторе. Найдем применение методу Monte Carlo. Посмотрим на трассировку. Попробуем сравнительно новую фишку Altium Designer - PDN Analyzer.

Читать далее

Разработка веб приложений на C/С++

Reading time6 min
Views15K
В этой статье я бы хотел рассказать про создание веб приложений на С/С++ с использованием стека Nginx+fastcgi. Если быть более точным, то статья больше относится к сайтам, то есть к отдаче контента. Есть достаточно старая, но хорошая статья habr.com/ru/post/154187 Хотя тех пор прошло много времени, вышли новые стандарты С++. Я хочу в этой статье описать некоторое логическое продолжение, так как думаю, что тема будет многим интересна.
Читать дальше →

Анализ теней: 5 примеров использования SunCalc для OSINT расследований

Reading time3 min
Views16K
image

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

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

Есть два проекта: SunCalc.org и SunCalc.net. Последний на досуге разработал хабраюзер Mourner в 2010 году и написал пост на Хабре, а через год выложил библиотеку в открытый доступ (а какой-то ушлый немец без упоминания автора её форкнул).

Под катом несколько примеров, как по теням на кадрах видео и фото можно вычислить недостающую информацию: местоположение или время.
Читать дальше →

Ссылки и ссылочные типы в C++

Level of difficultyMedium
Reading time47 min
Views132K

Продолжаем серию «C++, копаем вглубь». Цель этой серии — рассказать максимально подробно о разных особенностях языка, возможно довольно специальных. Это пятая статья из серии, список предыдущих статей приведен в конце в разделе 6. Серия ориентирована на программистов, имеющих определенный опыт работы на C++. Эта статья посвящена ссылкам и ссылочным типам в C++.


Термин «ссылка» широко используется и в обыденной жизни, в компьютерных и других науках и поэтому его смысл сильно зависит от контекста использования. В языках программирования под ссылкой понимают небольшой объект, главная задача которого обеспечить доступ к другому объекту, расположенному в другом месте, имеющему другой размер и т.д. Объекты ссылки удобно использовать на стеке, они легко копируются, что позволяет получить доступ к объекту, на который эта ссылка ссылается, из разных точек кода. В той или иной форме ссылки поддерживаются во всех языках программирования. В ряде языков программирования, таких как C#, Java, Pyton и многих других, ссылки, по существу, являются концептуальным ядром.



В C роль ссылок играют указатели, но работать с ними не очень удобно и в C++ появилась отдельная сущность — ссылка (reference). В C++11 ссылки получили дальнейшее развитие, появились rvalue-ссылки, универсальные (передаваемые) ссылки, которые играют ключевую роль в реализации семантики перемещения — одном из самых значительных нововведений C++11.



Итак, попробуем рассказать о ссылках в C++ максимально подробно.


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

Латунирование, это просто

Reading time7 min
Views40K

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

Читать далее

PyQt6 — полное руководство для новичков

Reading time30 min
Views382K

К старту курса по разработке на Python делимся детальным руководством по работе с современным PyQt для новичков. Чтобы читать было удобнее, мы объединили несколько статей в одну:

1. Первое приложение

2. Слоты и сигналы

3. Виджеты

За подробностями приглашаем под кат.

Читать далее

Китайская азбука

Reading time1 min
Views15K

В инете часто встречается вопрос: "А как китайцы передают азбукой Морзе свои иероглифы?". Да всё просто! У них давно принята специальная гражданская таблица, в которой каждый иероглиф (из примерно 7000, т.е. далеко не все 40000+, что знает образованный китаец) зашифрован четырехзначным числом. И эта таблица есть у всех телеграфистов.

На картинке приведена первая страница из этой книги, с кодами от 0001 до 0200. На самом деле последняя - книга дореформенная, посему листается и читается (и поля пронумерованы) справа налево и сверху вниз (0001 - справа вверху, 0002 под ним и т.д.).

Ещё особеность - цифры они передают укороченные: a, u, v, 4, 5, 6, b, d, n, t. Числа в большинстве не совпадают с передаваемым кодом: 0 - 0001 (ttta); 2 - 0037 (ttvb); 3 - 0005 (ttt5)...

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

Так что если в диапазоне от 3 до 6 мГц (в зависимости от сезона и времени суток) услышите четырехзначные группы из символов выше - это точно китайские телеграфисты.

Иногда для передачи китайского текста применяют фонетическую замену на латиницу. В этом случае текст пишется как псевдоанглийский: "cho ping hao".

Читать далее

Как читать китайские этикетки со словарем и без Google Translate

Reading time7 min
Views19K
image

Когда мы видим слово или фразу на китайском, то мы не сможем их прочитать «по буквам» или даже предугадать их значение. Или знаешь, как оно читается и его значение, или нужно лезть в словарь, других вариантов нет. Конечно, сейчас достаточно включить камеру смартфона, и Google Translate сделает на лету все сам, но как люди решали эту проблему до эпохи электронных устройств?
Читать дальше →
1
23 ...

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Date of birth
Registered
Activity