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

Пользователь

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

Полноценная GDB отладка через USB на плате BluePill (STM32F103С8T)

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

В данной статье речь пойдет о программировании и полноценной отладке микроконтроллера STM32F103C8T6 через USB.

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

Продолжение следует ...

Как сделать волоконно-оптическую светодиодную лампу

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

Ранее я уже делал подобные проекты, но в этот раз я хотел сделать что-то попроще, то, что будет легким в изготовлении, и то, что смогли бы сделать многие из вас. "Механические" части лампы печатаются на 3D-принтере, электронная часть довольно проста, а пластиковое оптическое волокно притягивает взгляд. Сейчас я расскажу, как легко и просто изготовить такую светодиодную лампу.

Приятного чтения!

PKCS#11 для самых маленьких

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

В этой статье мы познакомимся со стандартом PKCS#11, предназначенным для работы с различными криптографическими устройствами. Для демонстрации мы будем использовать токены и смарт-карты Рутокен ЭЦП 2.0.

Читать далее

Портирование Qt на STM32

Время на прочтение5 мин
Количество просмотров16K
Добрый день! Мы в проекте Embox запустили Qt на STM32F7-Discovery и хотели бы об этом рассказать. Ранее, мы уже рассказывали как нам удалось запустить OpenCV.

Qt — это кроссплатформенный фреймворк, который включает в себя не только графические компоненты, но и такие вещи как QtNetwork, набор классов для работы с базами данных, Qt for Automation (в том числе, для реализации IoT) и многое другое. Разработчики команды Qt заранее предусмотрели использование Qt во встроенных системах, поэтому библиотеки довольно хорошо конфигурируются. Однако до недавних пор, мало кто задумывался о портировании Qt на микроконтроллеры, вероятно потому, что такая задача выглядит сложной — Qt большое, MCU маленькие.
Читать дальше →

Разрабатываем web-site для микроконтроллера

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

С приходом в нашу жизнь различного рода умных розеток, лампочек и других подобных устройств, необходимость наличия веб-сайтов на микроконтроллерах стала неоспоримой. А благодаря проекту lwIP (и его младшему брату uIP) подобным функционалом никого не удивишь. Но поскольку lwIP направлен на минимизацию ресурсов, то с точки зрения дизайна, функционала, а также удобства использования и разработки, подобные сайты сильно отстают от тех, к которым мы привыкли. Даже для встроенных систем, сравнить, например, с сайтом для администрирования на самых дешевых роутерах. В данной статье мы попробуем разработать сайт на Линуксе для какого-нибудь умного устройства и запустить его на микроконтроллере.

Как программировать многоядерные микроконтроллеры

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


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


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

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

STM32F3xx + FreeRTOS. Modbus RTU с аппаратным RS485 и CRC без таймеров и семафоров

Время на прочтение9 мин
Количество просмотров29K
Всем привет! Относительно недавно, закончив ВУЗ, я попал в небольшую компанию, которая занималась разработкой электроники. Одна из первых задач с которой я столкнулся — необходимость в реализации Modbus RTU Slave протокола с использованием STM32. С грехом пополам я её тогда написал, однако этот протокол начал встречаться мне из проекта в проект и я решил зарефакторить и оптимизировать либу с использованием FreeRTOS.
Читать дальше →

Прошивка для фотополимерного LCD 3D-принтера своими руками. Часть 2

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


Продолжение статьи о написании своей прошивки для фотополимерного LCD 3D-принтера.
В этой части продолжу описывать этапы своего проекта:
2. Работа с USB-флэшкой и файлами на ней
3. Управление шаговым двигателем для движения платформы.
Читать дальше →

Прошивка для фотополимерного LCD 3D-принтера своими руками. Часть 1

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

… или как я изобретал собственные велосипеды с преферансами и гейшами на свой вкус — писал с нуля прошивку для фотополимерного принтера. На данный момент прошивка уже вполне работоспособна.

За основу была взята продающаяся на Алиэкспресс плата MKS DLP, для которой производитель дает схему и исходные коды прошивки, которые я отверг в пользу написания всего с нуля.
Статья получается очень уж большой, поэтому я решил разбить ее на две части. В этой части будет предыстория и описание самодельного GUI для сенсорного дисплея. В конце будут ссылки на сам предмет издевательств и на репозитории Гитхаба.
Читать дальше →

Как убрать из Git-репозитория файлы с конфиденциальной информацией

Время на прочтение4 мин
Количество просмотров32K
Файлы проиндексированы, написано сообщение коммита, данные отправлены на сервер… И вдруг хочется повернуть время вспять. В коммит попал файл, которого там быть не должно. Когда такое случается, приходит время обращаться к поисковику.

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

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


Удаление файлов с конфиденциальной информацией из Git-репозитория (изображение большого размера)
Читать дальше →

Золотое кольцо скучнейших экскурсий: как это пытаются исправить

Время на прочтение13 мин
Количество просмотров50K
Привет! Мы сейчас всерьёз упарываемся по развитию внутреннего туризма. Обычно я пишу про эту часть работы не на Хабр, но на днях появился один крутой пример, по которому можно отследить интересное продуктовое мышление и UX-подход. В реальном мире. В общем, компания внезапно поняла, что мир изменился, старые подходы не работают, и вообще-то вокруг есть много крутых технологий. Меня позвали как эксперта всё это оценивать и тестировать раннюю альфу турпродукта, и я просто хочу показать, как рациональное мышление может повлиять на туризм.

Итак, у нас есть экскурсии по Золотому кольцу России. Для пенсионеров это желанное приключение, для молодёжи — особый подвид предельно скучного и бессмысленного занятия. «20 храмов за 3 дня», «Самые нудные экскурсоводы, сыпящие датами», «Очереди в банальных местах вроде заселения в отель» — это из отзывов. Думаю, вы и сами можете себе всё это представить.


Вот так должно выглядеть заселение в отель: без людей и анкет, чёрт побери!

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

В примере подошли немного иначе: переписали всё, что бесит, и просто начали думать, как это убрать. Подход, очень знакомый мне по рознице — это способ резко поднять уровень сервиса до небывалых высот. Давайте пройдёмся по тому, что конкретно сделали в этом примере.
Читать дальше →

Я десять лет страдал от ужасных архитектур в C# приложениях — и вот нашел, как их исправить

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


Я второй десяток лет участвую в разработке приложений для бизнеса на .NET и каждый раз вижу одни и те же проблемы — быдлокод и беспорядок. Месиво из сервисов, UoW, DTO-шек, классов-хелперов. В иных местах и прямой доступ в базу данных руками, логика в статических классах, километровые портянки конфигурации IoC.


Когда я был молодым и резвым мидлом — я тоже так писал. Потом бил кулаком в стену с криками: "Хватит! В следующий раз сделаю по-другому". Следующий раз действительно начинался "по-другому" — с холодной головой и строгим подходом к архитектуре — а на выходе все равно получалась та же субстанция, лучше на пару миллиметров.


Однако, эволюция — беспощадная штука: моя последняя система показалась мне более-менее близкой к идеалу. Сложность не сильно росла, скорость разработки не падала довольно долго, в систему худо-бедно въезжают новые сотрудники. Эти результаты я взял за основу, улучшил и теперь анонсирую вам свою новую разработку: Reinforced.Tecture.

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

Как устроена графика в Linux: обзор различных сред оформления рабочего стола

Время на прочтение13 мин
Количество просмотров111K
Эта статья о том, как устроена графика в Linux и из каких компонентов она состоит. В ней много скриншотов с различными реализациями сред рабочих столов. 

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

Тема может заинтересовать и продвинутых пользователей при настройке удаленного доступа и при реализации тонкого клиента. Часто встречаю вполне матерых линуксойдов с утверждениями «на сервере только командная строка, и графику подробнее изучать не планирую, так как это всё нужно для простых пользователей». Но даже знатоки Linux с большим удивлением и радостью открывают для себя опцию «-X» у команды ssh (а для этого полезно понимать работу и функции X-сервера).

Источник
Читать дальше →

Бесплатные образовательные курсы: бэкенд-разработка

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

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

Сегодня мы отобрали 19 бесплатных курсов из раздела Образование на Хабр Карьере. Они дадут вам базовые знания о языках и технологиях, которые используются в бэкенде, и помогут определиться, нужно оно вам или нет. При выборе мы смотрели на содержание, количество выпускников и репутацию школ.
Читать дальше →

Пишем автодополнение для ваших CLI проектов

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

Приветствие


Всем привет! Хочу поделиться своим опытом написания кроссплатформенного проекта на C++ для интеграции автодополнения в CLI приложения, усаживайтесь поудобнее.



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

Анализ -> Мониторинг обезличенных сделок при торговле акциями

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

Данная статья, является продолжением вот этой: Анализ обезличенных сделок при торговле акциями

После публикации первой статьи, я получил достаточно большое число сообщений, с просьбой реализовать «Прилипалу» (табличку в Excel-е для анализа информации о обезличенных сделках) для торгового терминала Quik. Реализовал, но это не главное.
Читать дальше →

RISC-V с нуля

Время на прочтение18 мин
Количество просмотров60K
В этой статье мы исследуем различные низкоуровневые концепции (компиляция и компоновка, примитивные среды выполнения, ассемблер и многое другое) через призму архитектуры RISC-V и её экосистемы. Я сам веб-разработчик, на работе ничем таким не занимаюсь, но мне это очень интересно, отсюда и родилась статья! Присоединяйтесь ко мне в этом беспорядочном путешествии в глубины низкоуровневого хаоса.

Сначала немного обсудим RISC-V и важность этой архитектуры, настроим цепочку инструментов RISC-V и запустим простую программу C на эмулированном оборудовании RISC-V.
Читать дальше →

Задачки для фронтенд-тренировки: doodle-place, Apple Podcasts, Site Blocker, парсинг CSV-файлов

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

Клон doodle-place


image

doodle-place — это онлайн-мир, населенный анимированными каракулями. Вы можете бродить и просматривать каракули, созданные пользователями по всему миру, или внести свой вклад.

Чему вы научитесь, сделав клон doodle-place:

  • Использованию API для Canvas в JavaScript для рисования графики вроде каракулей на экране.
  • Методам работы с 2D-графикой и API WebGL
  • Работе с пользовательским вводом, например, с рисунками, и сохранению результатов в базе данных.
Читать дальше →

Как сбросить вес, не занимаясь спортом? Личный опыт

Время на прочтение9 мин
Количество просмотров177K
Привет, Хабр!

По моим наблюдениям, всех людей можно разделить на три категории: счастливчиков с нормальным телосложением, худых, кто не знает как бы поправиться, и полных, кто не знает как бы похудеть. Мне угораздило попасть в третью категорию, и всю взрослую жизнь мой вес колебался в районе 95кг при росте 1.74м, что соответствует BMI=31.4 или ожирению. И хотя в принципе, это ничуть не мешало, но все же лишний вес накладывает определенные ограничения, как в перспективе состояния здоровья, так и в плане личной жизни. Наконец, в один прекрасный день я решил что «пора», и занялся этим вопросом более серьезно.



Думаю, среди IT-шников, работающих в офисе, немало людей с похожими проблемами, и надеюсь, мой опыт будет им полезен.

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность