Как стать автором
Обновить
337.76

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

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

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

NVRAM из EEPROM

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

Дана функция чтения и записи EEPROM dword.

Запись и стирание возможно только по выровненному адресу и пословно.

Надо поверх EEPROM API сделать функцию чтения, записи и стирания для произвольных массивов байт, по произвольному адресу (NVRAM).

Простыми словами надо состыковать Dword API с Byte API.

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

Читать далее

Новости

Ключ от всех дверей: MITM-атака на протокол Wiegand с помощью самодельной платы

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

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

Сегодня я расскажу, как мы спаяли крохотную платку, которая наглядно показывает уязвимость Wiegand. Наш имплант легко перехватывает данные из СКУД, копирует карты доступа и эмулирует их, когда вам это нужно.

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

Читать далее

Машинка на радиоуправлении с одним каналом связи для видеопотока и управления

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

Ставим себе задачу «Just For Fun»: построить машинку на радиоуправлении с камерой, используя компоненты с AliExpress. Управление и видеопоток с камеры совместить в один канал связи. Управление реализовать без отдельных пультов, с помощью своего интерфейса на пк. Так же реализовать возможность изменять скорость.

Читать далее

Подсистема управления GPIO для ЗОСРВ «Нейтрино»

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


При разработке драйверов GPIO для нашей операционной системы реального времени "Нейтрино" исторически имеется одна неприятность — отсутствие общего дизайна для таких драйверов. Причин для этого несколько: они считались и считаются тривиальными, разрабатывают их разные организации и разработчики. Из-за этого каждый инженер нередко писал реализацию «под себя»: кто-то в виде сервиса, кто-то даже в виде статической библиотеки. Такой подход, хоть и кажется удобным на первых этапах, со временем приводит к фрагментации кода, усложнению поддержки и невозможности систематизировать накопленный опыт. Чтобы избежать этих проблем в будущем мы решили перейти на унифицированную подсистему управления GPIO устройствами и выработать подход, который будет считаться best practices в нашей ОС.

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

Истории

Простой способ управления IoT-устройствами через телеграм-бот, используя esp32

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров6.6K
Картинка Benzoix, Freepik

Многие знают и даже пробовали, что микроконтроллер esp32 позволяет управлять собой удалённо через интернет, используя протокол mqtt — что позволяет избавиться от необходимости выяснять IP адрес у esp32 и не заботиться о его постоянных изменениях, например, в случае перезагрузки микроконтроллера.

Однако в наше время было бы обидно пройти мимо гораздо более удобного способа, который, на мой взгляд, частенько многократно более удобен, и к тому же находится всегда под рукой — управление с помощью телеграм-бота…
Читать дальше →

Путь инженера-программиста: от джуна до сеньора

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

За всю свою работу инженером-программистом в области разработки встраиваемых систем, а это более 15 лет, мне ни разу не приходила в голову идея спросить у своего руководителя о том, что мне нужно сделать для того, чтобы перейти с одной категории на другую. Всё что я делал, это решал поставленные перед мной задачи разного характера. Интерес был именно в решении задач, а не в получении категорий. Категории как-то сами по себе назначались…

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

Читать далее

Как легко получить отрицательное напряжение для питания ОУ?

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

Простая схема получения отрицательного напряжения для вспомогательного питания на одном P канальном транзисторе и индуктивности.

Читать далее

Как я «ломал» DeepSeek

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

В своей предыдущей статье[1] я уже рассказывал, как начал свое знакомство с искусственным интеллектом (ИИ). Тогда это был ChatGPT, а теперь — китайский DeepSeek[2].

Общение с DeepSeek происходит без посредников, что делает его более удобным и доступным. Раньше за использование ChatGPT приходилось платить или, например,  задавать не более трёх вопросов в сутки. А с DeepSeek можно спрашивать сколько угодно и о чём угодно, не тратя ни копейки. Правда, есть опасения, что бесплатная подписка может закончиться, и тогда доступ к сервису будет закрыт. Также ходят слухи о возможных проблемах с «нежелательными» запросами.

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

Тем не менее, я кинулся, так сказать, «во все тяжкие». Мне предложили заняться «умными домами» и я согласился. Новая область, новые интересы, новое приложение своих сил. Короче, – «движуха»! Мы, ведь, все мечтаем о чем-то подобном – не так ли? А еще обещали мотивировать, что немаловажно в наше меркантильное время. Вспомним хотя бы размер виртуальной средней зарплаты по России и средний размер пенсий...

Сейчас я только рад случившемуся. Раньше было скучновато. Иногда взбадривало общение на Хабре, а теперь «поддает жару» искусственный интеллект. И хотя я предполагал что-то подобное, но не ожидал, что это произойдет столь быстро, так бурно и с таким эффектом. Китайский ИИ стал коллегой, советчиком, а, порой, и собеседником, помогая освоить новую область программирования. При этом я по-прежнему не согласен с глашатаями, предрекающими замену программистов, но уверен, что квалификацию многих из них он повысит точно. Я убедился в этом на своём опыте.

Читать далее

Создаём эмулятор легендарной игры «Ну, Погоди» на базе Raspberry Pi Pico

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


Многие из тех, кому сейчас за 30, и рождённых в СССР или на постсоветском пространстве, помнят электронную игру «Ну, погоди!». Во времена, когда не было ни интернета, ни ноутбуков, ни мобильных телефонов, а из общедоступных электронных развлечений были только аттракционы в парках культуры и видеосалоны, обладание бытовым компьютером, электронными наручными часами Montana или электронной игрой «Ну, погоди!» было мечтой многих детей.

Были ещё и другие электронные игры, но именно «Ну, погоди!» считается классикой.


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


Лет 10 назад и я купил её в идеальном состоянии, поигрался, вспомнил детство и положил в ящик. Но несколько месяцев назад с разочарованием увидел, что «потекла» нижняя часть экрана.


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


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


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


Эмулятор максимально приближен к оригиналу, если не считать экран (он не сегментный, как в оригинале) и корпус (я пока реализовал на беспаечной макетной плате).


Если вам интересно, как за несколько вечеров воссоздать у себя эмулятор «Ну, погоди!» на современном микроконтроллере или просто поностальгировать, добро пожаловать под кат.


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

Проект Смотритель — удаленно управляемый робот на ESP32-CAM

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

Разрабатываем робота с нуля - от ИИ-дизайна до полного проектирования и реализации всех компонентов устройства.

Зачем? Ради фана, конечно - этот проект практически квинтессенция моих увлечений - электроника, 3d-печать, программирование микроконтроллеров, ИИ и в целом все, что можно включить в сферу DIY.

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

Поехали

Упражнение на ассемблер 8051 для LLM — или «игра в испорченный компилятор»

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

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

Возьмём очень простую задачу - скомпилировать код. Для наиболее однозначного соответствия я беру код на ассемблере - и хочу получить HEX-файл. Это задача которую можно выполнить на бумажке (имея под рукой список команд и помня формат файла) - да в древние времена кому-то и приходилось такую "ручную компиляцию" выполнять. А что нам ответит, например DeepSeek?

Цель не в том чтобы снова поиронизировать над пропонентами LLM, а просто показать как кажущаяся "логика умозаключений" LLM не выстраивается в цепочку, иными словами рвётся от утверждения к утверждению. Думал также, что пример также может служить подспорьем в общении с менеджерами требующими бурного внедрения ИИ в разработку - но возможно он слишком технический.

Итак, заработает ли сгенерённый код?

Технологии из прошлого: проводной телефон. Разбираемся в устройстве, строим микро АТС

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

Историю проводной телефонной связи принято отсчитывать с 7 марта 1876 года, когда Александром Беллом был получен патент на изобретение телефона. Интересное совпадение, но практически в то же время, с разницей в несколько часов, другой изобретатель — Элайша Грей – тоже подал заявку на получение патента на изобретение телефона. Но, так или иначе, приоритет и имя в истории остались за Беллом, который 25 июня 1876 года впервые продемонстрировал свой телефон на первой Всемирной электротехнической выставке в Филадельфии.

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

Обнаружение протечек воды на базе NodeMCU и Wi-Fi с отправкой уведомлений

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

Защита от протечек воды — важный аспект безопасности и комфорта в любом доме. Быстрая реакция на утечку может предотвратить серьезные повреждения и затраты на ремонт. В этом проекте мы создадим автономную систему уведомления о протечке воды с использованием микроконтроллера NodeMCU, которая будет отправлять SMS-сообщения при обнаружении утечки.

Читать далее

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

19 марта – 28 апреля
Экспедиция «Рэйдикс»
Нижний НовгородЕкатеринбургНовосибирскВладивостокИжевскКазаньТюменьУфаИркутскЧелябинскСамараХабаровскКрасноярскОмск
22 апреля
VK Видео Meetup 2025
МоскваОнлайн
23 апреля
Meetup DevOps 43Tech
Санкт-ПетербургОнлайн
24 апреля
VK Go Meetup 2025
Санкт-ПетербургОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань
14 мая
LinkMeetup
Москва
20 – 22 июня
Летняя айти-тусовка Summer Merge
Ульяновская область

Управление голосом и наклоном «пульта» для робота CrowBot BOLT: разбор изменений в заводскую прошивку

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров1.4K
Прошлым летом мы познакомились с модулем голосового управления для ардуино-роботов и использовали его для организации соревнований в детском лагере. С тех пор мы следили за обновлениями продукта и дождались новой интересной функциональности: не только голосовое управление, но и управление наклоном платы.


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

Raccoon Flash Explorer | 9 месяцев спустя…

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

Доброго всем времени ночи :-)

9 месяцев назад я выпустил программатор BIOS-ов для компов и запилил о нём статью.

Тогда на момент выпуска статьи он был довольно сырым, и до законченного продукта по части функционала добрался чуть менее месяца назад.

Здесь же я хочу рассказать как всё это происходило, какие были трудности, и всякое прочее.

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

Читать далее

Пилим игровой мультиплеерный сервер на базе esp32: завершение. Портируем игру на esp32

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

Итак, в прошлой части статьи мы начали довольно интересное дело — написание своей собственной мультиплеерной игры, которая бы запускалась на esp32, используя её как сервер.

Сегодня мы продолжим это дело и закончим наш проект!

Сразу небольшой спойлер: мы сделаем минимально необходимое, набросав основу игры и добившись её устойчивой работы, в то время как дополнительные «плюшки» — игровой счёт, компьютерные противники (кстати, было бы любопытно прикрутить в этом качестве к esp32 нейросеть!) и прочие улучшающие элементы — вы можете сделать самостоятельно, взяв за основу тот код, который будет в конце статьи. Для тех, кто не в курсе, что такое esp32, можно почитать, например, тут, только надо иметь в виду, что там описана одна из версий — а их существует целая линейка и она постоянно пополняется.
Итак...
Читать дальше →

Ядерная подсветка для механической видеостены

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

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

Осторожно, ТРАФИК!

Термочувствительные кварцевые резонаторы: must have или must die?

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


Парадоксально, но факт: у термочувствительного кварцевого резонатора РКТ-206 зарубежных аналогов можно считать, что не существует (даже буквы в наименовании кириллические). Западными (точнее восточными, так как речь идет про Seiko-Epson), как их модно стало называть, «партнерами» выпускались аналогичные термочувствительные кварцы, даже с похожим названием HTS-206. Но сейчас, как можете сами убедиться по этой ссылке, их выпуск прекращен «из-за уменьшения объема продаж». Изобилие, представленное на картинке (встреченной в английской Википедии), давно уже сошло на нет. Вроде бы кто-то из европейцев все еще выпускает термокварцы на частоты около 5 МГц, но на данный момент мне их разыскать не удалось.

В статье мы попробуем сначала разобраться, в чем достоинства и недостатки кварцевых датчиков температуры сравнительно с другими способами, а затем предпримем попытку построить датчик на основе термочувствительного кварца. Это все еще может быть практически целесообразным занятием, так как РКТ-206 легко приобрести и это не слишком дорого. По результатам сами можете прикинуть, насколько это целесообразно. Статья получилась неожиданно объемная, но без досконального копания в мелочах тему рассмотреть не получается.
Читать дальше →

Открытая шина данных АСУ ТП

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

Над созданием открытой шины данных АСУ ТП работают как российские, так и зарубежные разработчики. Причина понятна – уйти от проприетарных протоколов и решений и создать единую прозрачную среду передачи данных систем автоматики. Раскроем суть задач, стоящих перед разработчиками.

Читать далее

Телефон на 600 квартир

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров27K
Приветствую всех!
Когда-то давно попался мне на просторах вот такой мем:


Посмотрел я тогда на всё это и забыл. А недавно, встретив его ещё раз, подумал: что, если попробовать сделать такой девайс в реальности? Как насчёт собрать такой телефон, по которому в самом деле можно будет позвонить? Именно этим-то мы сейчас и займёмся.
Читать дальше →
1
23 ...