Pull to refresh
4
0.3
Александр @Sun-ami

Программист микроконтроллеров

Send message

Обратный инжиниринг дешевой мини видеокамеры из семейства А9

Level of difficultyEasy
Reading time21 min
Views5.6K

В данной статье речь пойдет о Wi-Fi мини видеокамере из семейства А9 от китайских производителей. Цель исследования этих камер – расширить возможность их применения, которая ограничена использованием только стандартных приложений для мобильных устройств на базе Android или iOS.

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

Читать далее
Total votes 32: ↑37.5 and ↓-5.5+43
Comments30

Что нам стоит код написать: 5 нейросетей, которые помогают разработчикам программировать

Reading time4 min
Views10K

В ближайшем обозримом будущем ИИ будет помогать человеку во всё большем количестве отраслей. Включая, конечно, и разработку. Как известно, уже сейчас есть нейросети, которые способны оказывать неплохую помощь программистам. В этой подборке расскажем о пяти таких нейронках. Самую популярную из них, GitHub Copilot, упоминать не будем, поскольку о ней и так все и всё знают. Подробности о других пяти инструментах — под катом.

Читать далее
Total votes 16: ↑15.5 and ↓0.5+15
Comments2

Полигон для творчества за 1500 р. Ч1: Позовите Кряка

Level of difficultyHard
Reading time10 min
Views9.5K

Приветствую вас, друзья! Не знаю как вам, а мне нравится разбирать всякие штучки, узнавать, как они работают, и применять их в своих проектах. По ходу дела начинается настоящее увлекательнейшее расследование, технический детектив.

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

Проведём расследование, поищем JTAG, узнаем способы и отследим разводку BGA, поработаем с ПЛИС, … и много других действительно интересных вещей. Кряк уже заинтересовался!

Как там у нас обычно? «Сломать, а потом читать инструкцию». Инструкций и документации нет, поэтому будем экспериментировать ломать! ☺
Читать дальше →
Total votes 65: ↑65 and ↓0+65
Comments8

Полигон для творчества за 1500 р. Часть 2. Структура платы, 256 UARTов и расширение спектра

Level of difficultyMedium
Reading time7 min
Views5.5K


Приветствую вас, друзья!

Продолжаем знакомство с платой SX100. Рассмотрим структуру и некоторые любопытные особенности платы, узнаем, как улучшить ЭМС с помощью расширения спектра. Сделаем пару сотен UARTов и доработаем плату.

Вперёд к экспериментам!
Читать дальше →
Total votes 29: ↑33.5 and ↓-4.5+38
Comments10

Как я делал сеть на 10 гигабит с минимальным бюджетом

Level of difficultyMedium
Reading time11 min
Views55K


Решил я ускорить тривиальную задачу в виде передачи файлов с одного компьютера на маленький домашний NAS. Раньше 10 гигабит были для меня чем-то заоблачным (с учётом цены на свичи, а также сетевые карты). Но благодаря апгрейду дата-центров, а также свежим чипам для свичей от Realtek, апгрейд оказался недорогим и безболезненным.

О выборе железа и тестах — под катом.
Читать дальше →
Total votes 124: ↑129.5 and ↓-5.5+135
Comments130

Обзор Vontar YG433 (YG430): Full HD-проектор в ультрабюджетном сегменте

Reading time7 min
Views2.1K

Проектор Vontar YG433 это настоящая находка в ценовой категории около $100. Причем за столь скромную стоимость вы получаете не просто игрушку, а полноценный проектор с реальным разрешением Full HD, который обеспечивает адекватную детализацию для больших диагоналей. А еще этот проектор работает на ос Android, что позволяет установить любимые онлайн кинотеатры и смотреть фильмы в высоком качестве из интернета, без предварительной загрузки на съемный накопитель. Конечно же через HDMI или AV вход можно подключать сторонние устройства, например игровую приставку или видеокамеру. А в настройках есть инструменты для коррекции трапецеидальных искажений: 15 градусов по вертикали при помощи аппаратной «крутилки» + 4D keystone в системе (50 градусов). Тем не менее, проектор очень дешевый, а значит имеет массу недостатков. Насколько они критичны именно для вас, поймете после прочтения обзора. Но на мой взгляд это Vontar YG433 является неплохим решением для входа в мир проекторов и точно не разочарует вас, если четко понимать его возможности.

Читать далее
Total votes 6: ↑4 and ↓2+2
Comments9

SDR приемник GPS на микроконтроллере

Level of difficultyMedium
Reading time28 min
Views20K

В этой статье я расскажу о том, как я делал самодельный SDR GPS приемник на микроконтроллере. SDR в данном случае означает, что приемник не содержит готовых GPS-модулей или специализированных микросхем для обработки GPS сигналов - вся обработка "сырых" данных выполняется в реальном времени на микроконтроллере (STM32 или ESP32).
Зачем я это сделал — просто Just for fun, плюс - получение опыта.

Читать далее
Total votes 162: ↑161 and ↓1+160
Comments232

Где изучать Linux в 2024. Бесплатные курсы, книги и ресурсы

Level of difficultyEasy
Reading time7 min
Views46K

В настоящее время существует множество бесплатных ресурсов, которые предлагают уроки по Linux, от курсов до университетских программ, что делает эту ОС доступной для широкого круга людей. Знание Linux может открыть двери к различным IT‑профессиям, таким как системный администратор, разработчик, инженер по безопасности, этичный хакер, DevOps инженер и другие. Зарплаты таких специалистов высоки, спрос на кадров знающих Linux ожидается и в будущем.

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

Читать
Total votes 42: ↑38 and ↓4+34
Comments35

STM32. Процесс компиляции и сборки прошивки

Level of difficultyEasy
Reading time30 min
Views20K
Многие из начинающих разработчиков софта для микроконтроллеров реализуют свои проекты исключительно в средствах разработки, которые предоставляются производителем. Многое скрыто от пользователя и очень хорошо скрыто, из-за чего некоторые воспринимают эти процессы сродни настоящей магии. Я, в свою очередь, как человек в пытливым умом и природной любознательностью, решил попробовать собрать проект без использования IDE и различного рода автоматизаций.

Так родилась идея для этой статьи: не используя ничего, кроме текстового редактора и командной строки, собрать проект мигания светодиодом на отладочной плате STM32F0-Discovery. Поскольку я не до конца понимал, как происходит процесс компиляции и сборки проекта, мне пришлось восполнять пробелы в знаниях. Разобравшись с этим вопросом, я подумал — а почему бы не рассказать другим об этом?

Всем кому интересно — добро пожаловать под кат! 🙂

Читать дальше →
Total votes 124: ↑123 and ↓1+122
Comments67

На помойку? Никак нет! Пишем нативные приложения для дешевых китайских телефонов

Level of difficultyMedium
Reading time23 min
Views17K
image

Если сейчас приехать в пункт приема металлолома, то можно обнаружить просто огромные кучи различных телефонов и прочих электронных «отходов», которые стоят под открытым небом и ждут, когда придёт их черёд окончательного разложения. Однако при ближайшем рассмотрении выясняется, что многие девайсы оказываются полностью рабочими даже после недельного лежания под палящим солнцем и проливными дождями, а сдали их в чермет по причинам «не нужен, надоел, купил новый» и т. п. Я не считаю это правильным, ведь даже в простые кнопочные звонилки имеется возможность вдохнуть новую жизнь, если знать один интересный, но малоизвестный факт: для них можно писать нативные приложения на C и использовать железо телефона в своих целях. А это, на минуточку, как минимум: дисплей с подсветкой, вибромотор, динамик, клавиатура и GSM-радиомодуль с возможностью выхода в сеть. Сегодня мы с вами: узнаем, на каких аппаратных платформах работают китайские телефоны, какие существуют программные платформы и где взять для них SDK, а в практической части мы напишем 2D-игру с нуля, которая будет работать на многих китайских кнопочниках. Интересно? Тогда жду вас под катом!
Читать дальше →
Total votes 119: ↑117 and ↓2+115
Comments86

Осваиваем 3-рублёвые микроконтроллеры PADAUK

Level of difficultyMedium
Reading time8 min
Views32K
image

Тайваньская фирма Padauk по праву считается производителем самых дешевых корпусных микроконтроллеров. Большим функционалом они не обременены, но несложные задачки для простых устройств могут выполнять.
Читать дальше →
Total votes 78: ↑77 and ↓1+76
Comments56

Начинаем продолжать: обработка исходников с помощью ИИ в оффлайне

Level of difficultyMedium
Reading time17 min
Views9.1K

В этой статье я расскажу про расширение «Continue» для VSCode, помогающее обрабатывать исходные коды и просто текст любым ИИ, в том числе бесплатным и запущенным локально; а так же покажу, что умеет делать локальный вариант ИИ уже сейчас. 

Читать далее
Total votes 21: ↑19 and ↓2+17
Comments13

Осваиваем чип с Arm Cortex-M85

Level of difficultyMedium
Reading time6 min
Views7.5K

Фирма Renesas вдруг стала раздавать бесплатно платы EK-RA8M1 со своим новейшим чипом R7FA8M1AHECBD. А чип этот является первым в индустрии коммерческим микроконтроллером с ядром Arm® Cortex®-M85. Работает ядро на 480 МГц, снабжено технологией M-Profile Vector Extension (MVE) под названием Helium™ и ускоряет работу AI в малых системах в 4 раза. Ну и другие DSP алгоритмы там тоже ускоряются примерно на столько же. По сути чип стал передовым DSP, но это не всё.

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

Прокачиваем Modbus: арбитраж, сканирование шины, события

Level of difficultyMedium
Reading time30 min
Views9.6K

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

Читать далее
Total votes 22: ↑21 and ↓1+20
Comments22

Автономный программатор SWD

Level of difficultyHard
Reading time13 min
Views11K

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

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

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

Объясняем простым языком, что такое трансформеры

Level of difficultyEasy
Reading time12 min
Views23K

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

Один из важнейших инструментов машинного обучения — трансформеры. Популярность трансформеров взлетела до небес в связи с появлением больших языковых моделей вроде ChatGPT, GPT-4 и LLama. Эти модели созданы на основе трансформерной архитектуры и демонстрируют отличную производительность в понимании и синтезе естественных языков. 

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

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

DIY-программатор ST-Link V2.1

Level of difficultyMedium
Reading time6 min
Views18K

Привет, Хабр!

Предлагаю вашему вниманию самодельный программатор ST-Link V2.1.

Особенности: интерфейс SWD, функция виртуального COM-порта, поддержка SWO, функция MSC (mass storage class), низкая цена.

Перейти к статье
Total votes 33: ↑33 and ↓0+33
Comments47

USB на регистрах: составные устройства

Reading time13 min
Views8.2K


Еще более низкий уровень (avr-vusb)
USB на регистрах: STM32L1 / STM32F1
USB на регистрах: bulk endpoint на примере Mass Storage
USB на регистрах: interrupt endpoint на примере HID
USB на регистрах: isochronous endpoint на примере Audio device


Вот мы познакомились со всеми базовыми типами конечных точек, пришло время разработать какое-нибудь полезное устройство. Для примера пусть это будет программатор-отладчик STM-ок, работающий через стандартный UART bootloader.

Читать дальше →
Total votes 43: ↑41 and ↓2+39
Comments8

Обзор платы Black Pill V2.0

Level of difficultyEasy
Reading time3 min
Views8.6K

PCB Black Pill V2.0 - эта дешевая плата-малютка которая подходит для прототипирования электронных устройств.

В этом тексте я написал с какой стороны подходить к плате Black Pill V2.0. Перечислил особенности аппаратной реализации и перечислил плюсы и минусы этой платформы.

Читать далее
Total votes 12: ↑11 and ↓1+10
Comments18

21 фича современного C++, которые вам обязательно пригодятся

Reading time10 min
Views32K

Итак, судьба снова свела вас с C++, и вы поражены его возможностями с точки зрения производительности, удобства и выразительности кода. Но вот незадача: вы теряетесь в этом многообразии замечательных новых фич и, как следствие, затрудняетесь сходу определить, что из этого всего вам действительно стоило бы взять на вооружение в своей повседневной работе по написанию кода. Не стоит расстраиваться, в этой статье вашему вниманию будут представлены 21 новая фича современного C++, которые помогут сделать ваш проект лучше, а работу над ним легче.

Сообщество C++ дополняет стандарт чаще, чем Apple выпускает новые iPhone. Благодаря этому C++ теперь больше похож на большого слона, а съесть целого слона за один присест невозможно. Вот почему я решил написать эту статью, чтобы дать вашему путешествию по современному C++ своего рода отправную точку. Моя целевая аудитория здесь — люди, которые переходят со старого (т.е. 98/03) С++ на современный (т.е. 2011 и далее) С++.

Я отобрал ряд фич современного C++ и постарался объяснить их на лаконичных примерах, чтобы вы научились определять места, где их можно использовать.

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

Information

Rating
1,864-th
Location
Potsdam, Brandenburg, Германия
Date of birth
Registered
Activity

Specialization

Embedded Software Engineer
Lead
C++
Object-oriented design
Programming microcontrollers
Real-time operating system
C
STM32
Circuitry
Development of printed circuit board
Atmel AVR
Development management