Как стать автором
Обновить
4
0.2
Александр @Sun-ami

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

Отправить сообщение

Связь между Arduino по оптоволокну через SFP трансиверы

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров8.8K

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

Читать далее
Всего голосов 45: ↑54.5 и ↓-9.5+64
Комментарии30

Делаем из битого планшета одноплатник: подключаем Android-устройства к дешевым микроконтроллерам через UART

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров32K
image

В наше время, из-за санкций одноплатники стали стоить каких-то «конских» денег. Даже б/у RaspberryPi Zero стоит 2-3 тысячи рублей на барахолках, что, мягко скажем, не совсем лояльная цена для «самого дешевого одноплатного компьютера в мире». Конечно, Orange Pi Zero всё ещё можно купить в пределах 1.500-2.000 рублей, но как по мне и эта цена не слишком лояльна за те характеристики, который предлагает такой одноплатник. С другой стороны, Android-планшеты 10-летней давности продаются на барахолках по 100-300 рублей, что выглядит гораздо привлекательнее, причём на некоторые устройства практически без костылей можно установить полноценный дистрибутив Linux! Вероятно, многие читатели скажут мол «автор бомж» и будут правы: ведь в рамках этой статьи, я хочу рассказать о том, как использовать полурабочий древний планшет в качестве полноценного одноплатника путём подключения его к микроконтроллеру и выводу GPIO! Сегодня мы с вами: узнаем, как подключить микроконтроллер к шине UART в планшете и научимся работать с последовательной шиной в Android прямо из Java и нативных программ. Интересна моя концепция антикризисного одноплатника? Тогда добро пожаловать под кат!
Читать дальше →
Всего голосов 68: ↑76 и ↓-8+84
Комментарии59

Кто реально угрожает C++ (нет, Rust, не ты)

Время на прочтение14 мин
Количество просмотров69K

Привет! Меня зовут Александр Каленюк, и я крепко подсел на C++. Пишу на C++ 18 лет кряду, и все эти годы отчаянно пытаюсь избавиться от этой разрушительной зависимости.

Всё началось в конце 2005 года, когда мне довелось писать движок для симуляции 3D-пространства. В этом движке было буквально всё, чем язык C++ мог похвастаться в 2005 году. Трёхзвёздочные указатели, восьмиуровневые зависимости, C-подобные макросы повсюду. Кое-где – вкрапления ассемблера. Итераторы в стиле Степанова и мета-код в стиле Александреску. В общем, всё. Кроме ответа на самый важный вопрос: зачем?

Читать далее
Всего голосов 210: ↑221.5 и ↓-11.5+233
Комментарии361

Как ChatGPT поможет заменить репетитора по английскому для айтишников

Уровень сложностиПростой
Время на прочтение1 мин
Количество просмотров28K

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

Несколько лет назад мы бесповоротно влюбились в теорию Стивена Крашена. О ней можно чуть подробнее, но на английском прочитать у нас тут.

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

Читать далее
Всего голосов 21: ↑11.5 и ↓9.5+2
Комментарии14

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

Уровень сложностиПростой
Время на прочтение21 мин
Количество просмотров7.9K

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

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

Читать далее
Всего голосов 38: ↑47 и ↓-9+56
Комментарии33

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

Время на прочтение4 мин
Количество просмотров12K

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

Читать далее
Всего голосов 18: ↑18.5 и ↓-0.5+19
Комментарии3

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

Уровень сложностиСложный
Время на прочтение10 мин
Количество просмотров9.8K

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

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

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

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

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

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров5.8K


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

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

Вперёд к экспериментам!
Читать дальше →
Всего голосов 30: ↑34.5 и ↓-4.5+39
Комментарии10

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

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров57K


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

О выборе железа и тестах — под катом.
Читать дальше →
Всего голосов 124: ↑129.5 и ↓-5.5+135
Комментарии142

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

Время на прочтение7 мин
Количество просмотров2.1K

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

Читать далее
Всего голосов 6: ↑4 и ↓2+2
Комментарии9

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

Уровень сложностиСредний
Время на прочтение28 мин
Количество просмотров20K

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

Читать далее
Всего голосов 162: ↑161 и ↓1+160
Комментарии232

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

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров48K

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

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

Читать
Всего голосов 42: ↑38 и ↓4+34
Комментарии35

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

Уровень сложностиПростой
Время на прочтение30 мин
Количество просмотров21K
Многие из начинающих разработчиков софта для микроконтроллеров реализуют свои проекты исключительно в средствах разработки, которые предоставляются производителем. Многое скрыто от пользователя и очень хорошо скрыто, из-за чего некоторые воспринимают эти процессы сродни настоящей магии. Я, в свою очередь, как человек в пытливым умом и природной любознательностью, решил попробовать собрать проект без использования IDE и различного рода автоматизаций.

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

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

Читать дальше →
Всего голосов 124: ↑123 и ↓1+122
Комментарии67

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

Уровень сложностиСредний
Время на прочтение23 мин
Количество просмотров17K
image

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

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

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров33K
image

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

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

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров9.3K

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

Читать далее
Всего голосов 21: ↑19 и ↓2+17
Комментарии13

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

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров7.6K

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

Читать далее
Всего голосов 12: ↑12 и ↓0+12
Комментарии11

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

Уровень сложностиСредний
Время на прочтение30 мин
Количество просмотров9.9K

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

Читать далее
Всего голосов 22: ↑21 и ↓1+20
Комментарии22

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

Уровень сложностиСложный
Время на прочтение13 мин
Количество просмотров11K

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

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

Читать далее
Всего голосов 28: ↑28 и ↓0+28
Комментарии24

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

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров24K

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

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

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

Читать далее
Всего голосов 36: ↑36 и ↓0+36
Комментарии2

Информация

В рейтинге
2 169-й
Откуда
Potsdam, Brandenburg, Германия
Дата рождения
Зарегистрирован
Активность

Специализация

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