Обновить
221.82

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

Учимся программировать микроконтроллеры

Сначала показывать
Порог рейтинга
Уровень сложности

PKI для IOT, архитектура защищенной сети ESP32 + Mosquitto SSL и Flash Encryption для хранения сертификатов

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

Цель статьи - показать вариант построения защищенной Iot-инфраструктуры для сети устройств на базе ESP32 и обменяться опытом. 

Общую идею и весь проект разделил на темы:

развертывание mosquitto SSL/TLS из docker-контейнера

создание сертификатов для брокера Mosquitto SSL и клиентов ESP32

архитектура хранилища сертификата для ESP32 и практические способы защиты

подготовка защищенной прошивки устройства с применение встроенных средств безопасности и шифрования ESP32.

Читать далее

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

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

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

Читать далее

Гайд по сплит клавиатурам

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

Этот гайд создан для тех, кто интересуется сплит клавиатурами, но еще не знаком с их особенностями и преимуществами или рассматривает переход на них. Главная цель гайда – предоставить всестороннюю информацию о сплит клавиатурах: от их истории и типов до подробного рассмотрения их конструкции, обучения слепой печати, изменения раскладки и так далее.

Мы стремимся сделать переход на сплит клавиатуру максимально плавным и безболезненным. Понимание того, как они устроены и как их можно адаптировать под свои нужды, снизит барьер входа и поможет преодолеть опасения перед переходом.

Читать далее

Оживляем контроллер машиниста от ушедшего в историю электропоезда

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров12K
Приветствую всех!

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

И вот наконец в мои руки попал не просто какой-то контроллер, а очень примечательный экземпляр — от «концептуальной» электрички ЭМ2И, коих в наши дни уже не осталось.



Итак, в сегодняшней статье поговорим о том, как устроен такой контроллер и как его подключить. Традиционно будет много интересного.
Читать дальше →

USB Type-C SWD Adapter

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

Прочитав статью Программируем и отлаживаем STM32 через USB Type-C порт, не нарушая спецификации USB у меня сразу появилась идея, как сделать более правильно и удобнее (как хочешь втыкай кабель, по привычке и рабочий USB 2.0 порт). Получился вот такой вот адаптер для J-Link (для JTAG 10 pin):

Читать далее

Можно ли запустить ембедед С-проект на базе РТОС в режиме симуляции под Windows?

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

Если у вас есть эмбедед(embedded) проект и он написан на С или на С++ вы можете попробовать запустить этот проект в режиме симуляции на десктопном ПК и даже под Windows, по крайней мере у нас это получилось.

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

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

Читать далее

KC868-A16S: тоже железный, но в два раза дешевле

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


Продолжаем обзоры новой «железной» серии контроллеров Kincony и на этот раз разберём очередного её представителя — KC868-A16S. В прошлом обзоре комментаторы справедливо заметили, что сколько бы ни был хорош контроллер, но цена в 50 тыс. рублей не очень гуманна — в этом смысле KC868-A16S выглядит гораздо привлекательнее: внешне он почти неотличим от AIO, имеет тот же металлический корпус, развитый функционал, а стоит при этом в два (а в некоторых конфигурациях и в три) раза дешевле.

Как получается, что цена на «почти одно и то же» отличается в разы и чем пришлось пожертвовать разработчикам мы и узнаем из этой статьи.
Читать дальше →

Собираем самодельный перьевой плоттер

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

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

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

Читать далее

Эмуляция сотового телефона… на сотовом телефоне

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


О чём только не пишут на Хабре. Например, о создании J2ME-игры в 2024 году, о написании программ на ассемблере под Nokia 3310. Вдохновлённый этими статьями, я тоже решил создать нечто подобное. Это «нечто» должно удовлетворять следующим критериям:

а) Быть не слишком простым в техническом плане;
б) Быть, вероятно, бесполезным в практической эксплуатации;
в) Иметь ностальгические элементы.

Многие помнят линейку телефонов Siemens 65-75 серии, которые были в ходу около 20 лет назад. Мы попробуем провести необычный эксперимент на их основе, для чего напишем небольшую управляющую библиотеку на C, а также изменим код одной из встроенных в ОС Linux утилит. Подробнее в статье.
Читать дальше →

Серьги из матрицы светодиодов

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

Изначально я представлял LED Industrial Piercing [перевод на Хабре] как проект, специально рассчитанный на использование светодиодов 0201. В конечном итоге они оказались совершенно не нужны. Светодиоды 0201 слишком малы! Очевидно, я должен был двинуться глубже, поэтому целью нового проекта стало размещение как можно большего их количества на поверхности серёжки-гвоздика.

Читать далее

Игра змейка на ардуино

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

Игра змейка на ардуино нано.

Логика игры проста, поедая яблоки змейка вырастает на один светодиод, если змейка натыкается на саму себя то вся матрица загорается красными светодиодами обозначая проигрыш. После этого игра начинается сначала.

Читать далее

Терминал Modbus TCP / RTU / ASCII с открытым исходным кодом: Часть 1

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

Когда-то я активно работал с промышленным оборудованием. Часто мне приходило какое-то устройство, и оно общалось с внешним миром по волшебному протоколу Modbus.

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

Поэтому представляю вам мою версию Modbus терминала!

Читать далее

Диплом специалиста ИБ. Часть №3 — Портативное устройство SmartPulse

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

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

Вам знакомо такое чувство, когда сидишь, пишешь дипломную работу и думаешь
"А не сделать ли умный пульсометр на ESP32-C3 с интегрированными механизмами защиты, динамическим пин-кодом и управлением через BLE с помощью собственного мобильного приложения для IoT-устройств"?

В этой статье я расскажу и покажу, что может получиться, если поддаться этому желанию.

Данная статья является третьей в цикле “Диплом специалиста ИБ”, в рамках которого я рассказываю про свой опыт написания выпускной квалификационной работы на программе высшего образования “Компьютерная безопасность”. В этой части речь пойдет про создание портативного IoT-устройства "SmartPulse", в разработку которого была включена реализация наиболее приоритетных механизмов защиты из первой статьи цикла.

Читать далее

Ближайшие события

Когда хочешь, чтобы она не потерялась: термометр из RPI2040

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

Если Вы не знали, как начать использовать ненужный Raspberry Pi Pico, "измерьте" температуру с помощью мигающего светодиода.

Читать далее

SimulIDE: открытый симулятор цифровых схем и микроконтроллеров

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

В этой заметке я решил рассказать о SimulIDE. Это относительно новое программное средство с открытым исходном кодом, предназначенное для моделирования 8-битных микроконтроллеров семейств AVR и PIC, а также прочих электронных схем. По интерфейсу SimulIDE напоминает Proteus. SimulIDE кроссплатформенный и работает под Linux, Windows и Mac. Далее будут рассмотрены основные возможности этого симулятора и рассказано о моих личных впечатлениях от работы с данной программой.

Читать далее

Температура на матрице WS2812B

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

Температура на матрице WS2812B - простой проект для вывода температуры с датчика AHT21 на матрицу WS2812B 8x8 светодиодов.

Читать далее

Lavritech: теперь с дисплеем и платой управления (наконец-то дождались)

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


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

Но, как говорится, быстро сказка сказывается, да не быстро дело делается — прошло около полутора лет — и вот на моём столе новая версия контроллера Lavritech со встроенным разъёмом для платы расширения и с самой платой дисплея и управления.

Вообще, — красота и именно то, что я (все мы) так долго ждали. Давайте посмотрим как это устроено и как это работает на практике.
Читать дальше →

Почти забытый трекбол все еще жив. Чем он лучше мыши или тачпада? Опыт разработчика электронной аппаратуры

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

Сначала была мышь. А потом появились трекбол и тачпад. Что удобнее для разработчика электронной аппаратуры?

Читать далее

Датчик объёма на основе резонанса Гельмгольца (микрофон = датчик объёма)

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

Что общего между скрипкой и крылатой ракетой ФАУ-1?

Ответ прост - резонатор Гельмгольца.

На основе физических эффектов можно создавать различного рода датчики.

В этом тексте я высказал предложение использовать резонанс Гельмгольца для измерения объёма ёмкостей. Как следствие датчик уровня жидкостей.

Читать далее

Архитектура, планирование и реализация DMA в микроконтроллерах Synergy

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

Здесь мы продолжаем развитие платформы нашего ПЛК под названием PLCS7 на базе модуля с микроконтроллером семейства Synergy S7FS2. В этом ПЛК ввод-вывод в основном выполняется через микросхемы расширители IO с последовательными каналами связи. Программный байтовый обмен с такими микросхемами может отбирать значительные ресурсы процессора. Но в микроконтроллерах Synergy есть модули DMA Controller (DMAC ) и Data Transfer Controller (DTC).

Читать далее

Вклад авторов