Обновить
161.64

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

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

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

Как делать из Intel Edison и Galileo iBeacon-маяки

Время на прочтение4 мин
Количество просмотров5.8K
С использованием технологии Bluetooth Low Energy, которую ещё называют Bluetooth Smart, можно создавать iBeacon-маяки. Маяк периодически оповещает окружающие устройства о своём присутствии, а устройства, оснащённые соответствующими приложениями, определяют расстояние до маяка и выполняют некие действия. Если подобная система установлена в музее, смартфон посетителя может показать ему дополнительные сведения об экспонатах, основываясь на положении человека в выставочном зале. По той же схеме можно организовать, например, предоставление скидок в магазинах и любые другие варианты взаимодействия с пользователем, которые предусматривают его присутствие в некоторой области пространства.



Сегодня мы расскажем о том, как создать iBeacon-приложение для Intel Galileo и Intel Edison. Приложение информирует окружающих о присутствии платы, которая выглядит для них как BLE-маяк. Принять сигнал можно, например, с помощью программы для смартфона, которая способна обнаружить присутствие маяка и измерить расстояние от него до мобильного устройства. Готовый код приложения «BLE iBeacon», предназначенного для Edison и Galileo, можно найти здесь.
Читать дальше →

DLMS/COSEM – открытый протокол для обмена данными с приборами учета. Часть 2: интерфейсные классы, модель прибора учета

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

В этой части серии публикаций, посвящённых протоколу DLMS/COSEM, дается определение интерфейсным классам и их экземплярам, рассматриваются способы обращения к объектам COSEM, приводится структура описания интерфейсных классов и диаграмма классов COSEM. Описывается модель прибора учета, рассказывается о роли логического устройства управления, а также приводится краткое описания системы идентификации объектов (OBIS).
Читать дальше →

Эксперименты с Arduino 101

Время на прочтение5 мин
Количество просмотров31K
Однажды, жарким зимним днём, в канун Рождества, меня неудержимо потянуло сделать что-нибудь интересное. У меня был приличный запас фуа-гра (на юго-западе Франции, где я живу, производят много этого деликатеса), хороший фильм и плата Arduino 101. С ней-то я и решил поэкспериментировать. Присоединяйтесь!


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

К вопросу о стандартных библиотеках

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

Этот рассказ мы с загадки начнем,
Даже Алиса ответит едва ли,
Что остается от сказки потом,
После того, как ее рассказали?


Данное эссе будет посвящено различным темам, среди которых найдется место и ответу на вопрос, вынесенный в подзаголовок, а развиваться повествование будет в основном вокруг да около проблем, связанных с инициализацией периферии современного МК.
Итак, обозначим основные проблемы, связанные с настройкой аппаратной части МК: необходимость задания значительного количества параметров, из которых бОльшая часть не задается в каждом конкретном случае, но, тем не менее, не может быть оставлена произвольной, а должна принимать некоторые пред-определенные значения. Если Вы верите, что такая простая постановка задачи способна вызвать поток сознания и привести к некоторым не вполне очевидным решениям, то
Добро пожаловать по кат

Протокол управления CD-чейнджером

Время на прочтение7 мин
Количество просмотров21K
Продолжаем начатое. В этот раз я расскажу о том, что содержится в полезной нагрузке кадра I/K-bus, кратенько об устройстве информационно-развлекательной системы BMW e38, e39, e46, e53, и рассмотрим подробнее работу протокола на примере чейнджера компакт-дисков.
Читать дальше →

Компилятор С/С++ на базе LLVM для мультиклеточных процессоров: быть или не быть?

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

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


Немного истории


С начала основания компании "Мультиклет" в 2010 велась разработка нескольких типов компиляторов для мультиклеточной архитектуры:


  1. С первым процессором Multiclet P1 в 2012 году был разработан в составе программного обеспечения компилятор С89 на базе LCC. Одновременно велась разработка первого варианта собственного компилятора, приостановленная ввиду изначально сложного нереализуемого замысла.
    Как уже неоднократно указывалось во многих статьях на данную тему, а также признавалось самими разработчиками компании, компилятор на базе LCC имеет ряд существенных недостатков: поддержка лишь языка С89, отсутствие каких-либо оптимизаций.
    Впоследствии данный компилятор был адаптирован для поддержки нового процессора Multiclet R1 (2015 г.), система команд которого была значительно расширена, но компилятор этого не учитывал.
    Принимая во внимание эти недостатки, руководство компании в 2012 году собрало группу программистов, которым была поставлена задача разработать новый компилятор С99, лишённый указанных недостатков.
Читать дальше →

DLMS/COSEM – открытый протокол для обмена данными с приборами учета. Часть 1: краткий обзор

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

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

Решением данной проблемы является применение открытых протоколов, например, протоколов, соответствующих стандарту IEC 62056 (DLMS/COSEM).
Читать дальше →

Знакомство со стеком DLMS/COSEM для микроконтроллеров семейства MSP430 компании Texas Instruments

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


В последнее время протокол DLMS/COSEM стал активно применяться в приборах учета (счетчики электрической энергии, тепла, воды, газа) отечественного производства. Почти у каждой компании, специализирующейся на выпуске микроконтроллеров, имеется, сертифицированный стек DLMS/COSEM, используя который можно сократить стоимость и время разработки прибора учета, поддерживающий данный протокол. В этой статье речь пойдет о стеке DLMS/COSEM для микроконтроллеров семейства MSP430 компании Texas Instruments.
Читать дальше →

Система сбора измерений на примере метеостанции

Время на прочтение21 мин
Количество просмотров17K
imageКазалось бы, каждый, кто осваивает ардуино, первым делом конструирует или повторяет прибор для измерения температуры и(или) прочих параметров окружающей среды. Только большинство подобных конструкций, к сожалению, мало применимы в домашнем хозяйстве — в качестве тренировки сгодится, а пользы нет. Попробуем исправить эту недоработку. В статье расскажу о создании комплекса для измерения и хранения любых данных на примере сбора показаний датчиков температуры, влажности воздуха и атмосферного давления. Начну с требований к прибору и описания протокола обмена, закончу web-службой для получения данных из БД. Подробных выкладок и пошаговых руководств не будет, но будет немного теории и много кода.

Смотреть дневник наблюдений

Wind River Rocket: начало работы

Время на прочтение6 мин
Количество просмотров4.1K
В этом материале мы расскажем о том, как начать разработку приложений с использованием облачной платформы Helix App Cloud. А именно, поговорим о разработке для Intel Galileo Gen 2 и рассмотрим работу с x86-эмулятором.


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

ТВ-таймер обратного отсчета на микроконтроллере AVR

Время на прочтение10 мин
Количество просмотров14K
Первый результат

Однажды один мой друг спросил, на чем бы я сделал таймер обратного отсчета, чтобы на телевизоре показывал большие цифры. Понятно, что можно подключить ноутбук / iPad / Android и написать приложение, только ноутбук — громоздко, а написанием мобильных приложений ни друг, ни я никогда не занимались.

И тут я вспомнил, что видел в сети проекты тв-терминалов на микроконтроллере AVR. В голове сразу появилась идея объединить маленькие символы в большие и мы решили попробовать. Как-то само собой получилось, что основную работу пришлось делать мне.
Читать дальше →

Intel Edison + веб-камера = сканер штрих-кодов

Время на прочтение2 мин
Количество просмотров11K
Все уже привыкли к тому, что любой мобильник умеет сканировать штрих-коды. А как насчёт Intel Edison? На самом деле, всё довольно просто: достаточно раздобыть веб-камеру и подходящий софт.

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

Самодельный сканирующий лазерный дальномер

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

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

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

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

Модуль универсального контроллера для интернета вещей. Основы программирования

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


Открытый проект модуля IoT K66BLEZv1 продолжает развиваться.
Здесь рассмотрим следующие вопросы важные на первом этапе освоения:
— технология быстрого создания приложений для модуля в среде IAR Embedded Workbench без сложных SDK
— время активизации программы от момента подачи питания
— максимальная скорость программного переключения состояния пинов
— пример управления светодиодом по прерываниям на основе автомата состояний

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

Разжёвываем линейно-квадратичный регулятор для управления перевёрнутым маятником

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

Преамбула


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

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

Итак, это уже четвёртая статья, для лучшего понимания происходящего неплохо бы прочитать предыдущие три:


Вот фотография системы (кликабельно):


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

Контроль качества воздуха (со2 и температуры) в офисе и дома, своими руками

Время на прочтение3 мин
Количество просмотров45K
Все началось с того что я работаю в офисе, где как водится нет нормальной вентиляции. Зато есть много народу, кому-то все время жарко, другим постоянно дует.

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

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

RS232 устройство 3-в-1 для домашнего Linux сервера: Часть 2 (Серверная)

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

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


В этой части статьи будет рассмотрено как взаимодействовать с последовательным портом из пространства ядра (kernel space) и как организовать работу с несколькими подсистемами устройства через RS232 в Linux.


Устройство включает в себя следующие подсистемы:


  • Аппаратный сторожевой таймер, работающий с watchdog демоном;
  • Генератор истинно случайных чисел;
  • Радиомодуль nRF24L01+ для сбора данных с автономных датчиков.

WRN устройство

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

Intel System Studio for Microcontrollers 2015: подробности о разработке и отладке

Время на прочтение7 мин
Количество просмотров6.6K
Мы уже рассказывали о том, как начать работу в Intel System Studio for Microcontrollers 2015 (ISSM) и создавать программы для Intel Quark D1000. Сегодня поговорим о том, как модифицировать в IDE Eclipse простую прошивку из примеров к ISSM. Так же рассмотрим работу с эталонной платой для проведения технических испытаний D1000 (Customer Reference Board, CRB). А именно, пользуясь JTAG-подключением, задействуем OpenOCD для того, чтобы прошить созданный нами образ в микроконтроллер и отладить код.

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

Intel Edison в IoT: безопасное подключение сенсорного узла к интернету с помощью MQTT

Время на прочтение21 мин
Количество просмотров10K
Мы уже писали о MQTT-брокере и о том, как собрать сенсорный узел на базе Intel Edison. Устройство содержит кнопку, датчики движения, температуры и освещённости. Сегодня подключим всё это к Mosquitto MQTT-серверу, наладим двустороннюю связь, сделаем нашу конструкцию полноценной частью интернета вещей.


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

Создание сенсорного узла для интернета вещей на Intel Edison

Время на прочтение8 мин
Количество просмотров7.6K
В этом материале мы расскажем о том, как сконструировать сенсорный узел на базе Intel Edison. Займёмся сборкой компонентов, программированием и тестированием. Правда, автономное устройство в век интернета вещей – это не так уж и интересно. Поэтому после того, как все датчики и алгоритмы заработают, мы подключим то, что у нас получится, к Сети. Этому, кстати, будет посвящён наш следующий материал. А сейчас предлагаем заняться железом и кодом.


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

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