Pull to refresh
22
0
Шауэрман Александр @Shamrel

Разнорабочий

Send message

STM32 и USB-HID — это просто

Reading time14 min
Views383K
На дворе 2014 год, а для связи микроконтроллеров с ПК самым популярным средством является обычный последовательный порт. С ним легко начать работать, он до примитивности прост в понимании — просто поток байт.
Однако все современные стандарты исключили COM порт из состава ПК и приходится использовать USB-UART переходники, чтобы получить доступ к своему проекту на МК. Не всегда он есть под рукой. Не всегда такой переходник работает стабильно из-за проблем с драйверами. Есть и другие недостатки.
Но каждый раз, когда заходит разговор о том, применять USB или последовательный порт, находится множество поклонников логической простоты UART. И у них есть на то основания. Однако, хорошо ведь иметь альтернативу?

Меня давно просили рассказать как организовать пакетный обмен данными между ПК и МК на примере STM32F103. Я дам готовый рабочий проект и расскажу как его адаптировать для своих нужд. А уж вы сами решите — нужно оно вам или нет.

У нас есть плата с современным недорогим микроконтроллером STM32F103C8 со встроенной аппаратной поддержкой USB, я рассказывал о ней ранее

Заставим ее работать

Энергоучет в составе SCADA системы торгового центра

Reading time5 min
Views9.4K
Расскажу, как писал консольную программу для снятия показаний со счетчиков Меркурий 230 в торговом центре. Ссылка на исходники в конце статьи.

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

Кратко:

— контроль температур в помещениях;
— централизованное управление вентиляцией по расписанию;
— управление подпиткой ГВС;
— учет воды и электричества;

В этой статье об электричестве.

Как сделать context switch на STM32

Reading time11 min
Views25K
Добрый день!

Потоки… Переключение контекстов… Базовая сущность ОС. И конечно, при разработке библиотек и приложений мы всегда полагаемся на то, что реализация потоков безошибочна. Поэтому было неожиданно найти грубую ошибку в переключении потоков для STM32 на ОСРВ Embox, когда уже продолжительное время работали и сеть, и файловая система и многие сторонние библиотеки. И мы даже успели похвастаться о своих достижениях на Хабре.

Я бы хотел рассказать про то, как мы делали переключение потоков для Cortex-M, и тестировали на STM32. Кроме того, постараюсь рассказать о том как это сделано в других ОС — NuttX и FreeRTOS.
Читать дальше →

Вопросы и ответы по поводу частицы Хиггса

Reading time16 min
Views31K
Что такое частица Хиггса?

Знаете ли вы, что такое частица? Поле? Если нет, давайте разбираться.

Поле – это нечто,

1. что присутствует повсеместно в пространстве и времени,
2. способно принимать нулевое или ненулевое значение,
3. что способно порождать в себе волны.
4. А если это квантовое поле, тогда эти волны состоят из частиц.

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

Так что такое частица?

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

Нештатный аккумулятор в APC Smart-UPS SUA 1000I

Reading time3 min
Views102K


Домашний сервер, контроллер умного дома, ONT от МГТС и прочая чувствительная аппаратура у меня уже давно подключены через UPS от APC. Всё бы хорошо, но родные (довольно недешевые) аккумуляторы в нём служат года два-три, а потом необратимо деградируют. Кроме того, даже новых аккумуляторов хватает в лучшем случае минут на 15. Когда подошла пора очередной замены аккумуляторов, я решил найти более долговременное решение.


Не могу сказать, что замена аккумулятора — это какой-то rocket science, но вопросов с неочевидными ответами было несколько:


  • Какие аккумуляторы взять и на какое напряжение?
  • Будут ли аккумуляторы нормально заряжаться?
  • Проработает ли UPS не 15 минут, а несколько часов?
  • Как объяснить UPSу, что у него теперь аккумуляторы другой ёмкости?

За ответами прошу под кат

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

Бизнес: как понять, что пора с этим завязывать

Reading time4 min
Views57K


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

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

И ещё одно. Провал — обычно не трагедия, а статистика. То есть он неминуемо случается у большей части проектов. Другое дело, что в случае вашего личного бизнеса ваш первый проект может стать единственным, поскольку денег на другое уже не будет.
Читать дальше →

Отечественный процессор от компании ЭЛВИС

Reading time8 min
Views37K

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

В этой статье речь пойдёт об отечественных производителях процессоров (микроконтроллеров). Сейчас эта тема достаточно популярна: например, этому была посвящена конференция OSDay. В общем, в этот раз к нам попала плата от компании «Электронные вычислительно-информационные системы» ЭЛВИС. Мы затащили туда свой Embox и решили, что пользователям хабра было бы интересно узнать и об этой эпопее.
Читать дальше →

Реверс-инжиниринг «Казаков», часть последняя: второе дыхание

Reading time9 min
Views46K


После нескольких месяцев работы над исходным кодом игры «Казаки: Снова война» я наконец-то могу умыть руки и представить результат своих трудов. В этой статье мне хотелось бы поделиться с вами опытом рефакторинга этого незаурядного проекта, в частности кодовыми курьёзами. Всем любителям некро-программирования посвящается…
байка из склепа 1998 года

Начинаем работать в STM32CubeMX. Часть 3

Reading time8 min
Views62K
Продолжаем цикл про основы работы STM32MXCube и программированию микроконтроллеров STM32.

Часть 1
Часть 2

В прошлых частях мы освоили базовые настройки микроконтроллера, работу с GPIO, таймером, DMA и DAC. В этой части мы познакомимся с ADC и USB.
Читать дальше →

Частное облако для видео и фотографий за полчаса «на коленке»

Reading time5 min
Views23K
Многие пользуются функцией синхронизации с облаком от крупных компаний, таких как Apple или Google, кто-то предпочитает Yandex, mail.ru и тому подобное. Мне эти варианты не приглянулись, предпочитаю свои данные хранить самостоятельно. Потому, однажды, решил сделать себе простенькое «облако».


Задача: синхронизировать устройства и дать возможность получить отснятый материал через web-браузер, авторизировавшись по паролю. Пароль этот раздать родным и близким.
Как быстренько собрать это все с использованием Syncthing, LUKS и nginx я и поведаю далее

MakiseGUI — бесплатная библиотека графического интерфейса для микроконтроллеров

Reading time6 min
Views34K

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


Назвал я её MakiseGui.


Qucs — open-source САПР для моделирования электронных схем

Reading time4 min
Views95K
В настоящее время существует не так уж и много open-source САПР. Тем не менее, среди САПР для электроники (EDA) есть весьма достойные продукты. Этот пост будет посвящён моделировщику электронных схем с открытым исходным кодом Qucs. Qucs написан на С++ с использованием фреймворка Qt4. Qucs является кроссплатформенным и выпущен для ОС Linux, Windows и MacOS.

Разработку данной САПР начали в 2004 году немцы Michael Margraf и Stefan Jahn (в настоящее время не активны). Сейчас Qucs разрабатывается интернациональной командой, в которую вхожу и я. Руководителями проекта являются Frans Schreuder и Guilherme Torri. Под катом будет рассказано о ключевых возможностях нашего моделировщика схем, его преимуществах и недостатках по сравнению с аналогами.
Читать дальше →

Почему на то, чтобы найти точное значение постоянной Планка, понадобилось 100 лет?

Reading time50 min
Views28K

Перевод поста Майкла Тротта (Michael Trott) "An Exact Value for the Planck Constant: Why Reaching It Took 100 Years".
Код, приведенный в статье, можно скачать здесь.
Выражаю огромную благодарность Полине Сологуб за помощь в переводе и подготовке публикации


Содержание


Некоторые мысли по случаю Всемирного дня метрологии в 2016 году
Введение и немного обо мне
От истоков метрической системы до сегодняшних дней.
Увеличение числа констант
Существующая система СИ и проблема килограмма
Новая СИ
Секунда
Моль
Кельвин
Ампер
Кандела
Почему основных единиц измерения именно 7?
Путь к изменению определения килограмма



Повествование ведется от имени Жана-Шарля де Борда.

Некоторые мысли по случаю Всемирного дня метрологии в 2016 году


Позвольте мне представиться:
Я человек науки и люблю точность.
Все это время я был где-то рядом.
Я забрал у людей фунт и туаз.
И я был рядом с Людовиком XVI
В минуты его сомнений и боли.
Я чертовски уверен в том, что метрическая рулетка,
Благодаря платиновым стандартам будет установлена раз и навсегда.
Я рад встрече с вами!
Надеюсь, вы угадали, как меня зовут?

Введение и немного обо мне


Если вы еще не догадались, я — Жан-Шарль де Борда: моряк, математик, ученый и член Академии наук. Я родился 4 мая 1733 года в городе Дакс во Франции. Две недели назад я отметил свой двести восемьдесят третий день рождения. А вот и я:



В моем родном городе в честь меня воздвигли памятник. Если вы будете неподалеку, задержитесь, чтобы посмотреть на него. Если вы не знаете, где находится Дакс, вот карта:



Когда я был мальчиком, Франция выглядела примерно так же, как сейчас. У нас было немного меньше территории с восточной стороны, но зато в Северной Америке моей стране принадлежал хороший кусок земли:


Погрузитесь дальше в эту интереснейшую историю...

Рекурсивный фильтр скользящего среднего

Reading time4 min
Views40K


Да, дорогой читатель, такое тоже бывает, и может быть вкусно и полезно!

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

Обработка ошибок в C

Reading time13 min
Views91K


Введение


Ошибки, увы, неизбежны, поэтому их обработка занимает очень важное место в программировании. И если алгоритмические ошибки можно выявить и исправить во время написания и тестирования программы, то ошибок времени выполнения избежать нельзя в принципе. Сегодня мы рассмотрим функции стандартной библиотеки (C Standard Library) и POSIX, используемые в обработке ошибок.
Читать дальше →

Распознавание образов

Reading time1 min
Views25K


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

Вращение изображения на FPGA

Reading time5 min
Views16K


Пол года назад я наткнулся в сети вот на это видео.

Первой мыслью было то, что это очень круто и у меня такое никогда не получится повторить. Шло время, читались статьи, изучались методы и я искал примеры реализации подобного, но к моему огорчению, в сети ничего конкретного не находилось. Наткнувшись однажды на вычисления тригонометрических функций с использованием алгоритмов CORDIC, я решил попробовать создать свою собственную вращалку изображения на ПЛИС.
Читать дальше →

Расчет корректирующего КИХ-фильтра на ПЛИС

Reading time9 min
Views26K


Всем привет! Написать эту статью меня побудило выступление на семинарах по цифровой обработке сигналов, где слушатели всегда заостряли интерес к методике вычисления корректирующих FIR-фильтров, несмотря на то, что эту тему я затрагивал поверхностно и по большей части рассказывал об этом в ознакомительных чертах. Если публика желает получить тайные знания, то почему бы ими не поделиться. В этой статье я постараюсь в доступной форме изложить алгоритм расчета корректирующих КИХ фильтров, который необходим для выравнивания АЧХ в полосе пропускания после звеньев CIC фильтров в задачах децимации и интерполяции сигналов. В частности, рассмотрим проектирование фильтров на современных ПЛИС Xilinx. Как обычно, в конце статьи будет ссылка на полезные скрипты для расчета различных фильтров и получение файла коэффициентов фильтра-корректора.

Предполагается, что читатель знаком с основами цифровой обработки сигналов и имеет представление о CIC и FIR фильтрах. Приступим.
Читать дальше →

Терминальная графика

Reading time8 min
Views58K
Когда printf — мало, а ncurses — много


Когда данных становится слишком много, бывает не хватает стандартного вывода printf в консольной программе. Особенно если различных событий много и различные данные превращаются в безумный листинг. Эти данные могут поступать от контроллера через UART, и тут нечего и думать о какой-то gui-программе. Может так же быть и обычный bash-скрипт, к которому хочется прикрутить какой-никакой псевдографический интерфейс.
Читать дальше →

История одного анализатора спектра

Reading time4 min
Views21K


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

Так было и в этот раз, работая некоторое время назад автоэлектриком, меня интересовал вопрос — «как узнать работает ли пульт сигнализации и чем они отличаются?».

Чем закончилась эта история читайте под катом.

Information

Rating
Does not participate
Date of birth
Registered
Activity