Как стать автором
Поиск
Написать публикацию
Обновить
157.4

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

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

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

ZigBee и Intel Edison: практика автоматизации переговорных комнат

Время на прочтение8 мин
Количество просмотров17K
Во многих организациях комнаты для переговоров используют неэффективно. У такого положения дел есть две основных причины. Первая заключается в том, что некто, забронировав переговорную, может ей и не воспользоваться в назначенное время. Вторая причина – встреча закончилась раньше, чем было запланировано, все разошлись, но об этом не знают те, кому комната пригодилась бы.


Мы создали интеллектуальную систему бронирования переговорных комнат (Smart Conference Room System, SCR) для того, чтобы помочь всем желающим с этими проблемами справиться.
Читать дальше →

Пишем задачки на FBD. Пятнашки и Симпсон

Время на прочтение10 мин
Количество просмотров26K
Здравствуйте.

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

Для начала напомню правила игры: игра в «15», «Пятнашки», «Такен» — популярная головоломка, придуманная в 1878 году Ноем Чепмэном. Представляет собой набор одинаковых квадратных костяшек с нанесёнными числами, заключённых в квадратную коробку. Длина стороны коробки в четыре раза больше длины стороны костяшек для набора из 15 элементов, соответственно в коробке остаётся незаполненным одно квадратное поле. Цель игры — перемещая костяшки по коробке, добиться упорядочивания их по номерам, желательно сделав как можно меньше перемещений.

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

Вот что получилось в итоге:


Описание программы, комментарии и картинки под катом.
Читать статью

Intel Edison, Windows Phone и Microsoft Azure: облачный союз пульта и светодиода

Время на прочтение7 мин
Количество просмотров5.4K
Возможности современных технологий ярче всего проявляются при их совместном использовании. Например, что можно сделать, если объединить Intel Edison, Microsoft Azure и Windows Phone? На самом деле, много всего. Здесь мы рассмотрим один из вариантов – дистанционное включение и выключение светодиода, присоединённого к одному из цифровых выходов Edison с коммутационной платой Arduino.


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

MQTT и Modbus: cравнение протоколов, используемых в шлюзах для IoT

Время на прочтение6 мин
Количество просмотров52K
В становлении интернета вещей важны не только совершенно новые технологии. Неоценимую роль здесь играет возможность интеграции с разработками прошлых лет. А ключевой момент такой интеграции – связь. Существует немало протоколов, которые позволяют огромному количеству разнообразных «вещей» подключаться к интернету и взаимодействовать друг с другом.

image

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

Анонсирован Cubieboard 5/Cubietruck Plus и HDD-RAID Shield

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

Команда cubeiboard анонсировала две занятных вещицы — cubietruck plus и HDD-RAID shield
Подробности

Ответственный подход к измерению относительной влажности

Время на прочтение12 мин
Количество просмотров17K
Этой статьей мы продолжаем рассказывать о датчиках от швейцарской компании IST. Не так давно были опубликованы посты о датчиках электрической проводимости воды и датчиках скорости потока жидкостей и газов, сегодня очередь дошла до относительной влажности.



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

Запускаем Yocto Linux на виртуальной машине

Время на прочтение5 мин
Количество просмотров29K
В процессе разработки, например, для Intel Edison или Galileo, может случиться так, что нужного для экспериментов устройства под рукой не оказалось. Похожее происходит и тогда, когда «железо» есть, но установленная на нём ОС не поддерживает всех необходимых для проекта возможностей. Что делать?


Один из вариантов решения этой проблемы – запуск целевой операционной системы на виртуальной машине. На ней можно компилировать, развёртывать и тестировать программы. Сегодня поговорим о том, как создавать образы Yocto Linux, подходящие для запуска в виртуальных средах, например, в простом программном эмуляторе QEMU. Кроме того, подобные образы можно использовать в системах с гипервизорами, скажем, в Microsoft Hyper-V на Windows.
Читать дальше →

Загрузчик для dsPIC33

Время на прочтение7 мин
Количество просмотров7.9K
Загрузчик (bootloader) — очень удобный инструмент работы с микроконтроллерами (далее — МК). Это маленькая программа, которая позволяет МК «самопрограммироваться» (self-programming). Обычно, при подаче питания на МК, управление сначала получает загрузчик, которые проверят заранее заданные условия (определенное состояние на ножке МК, флаг в EEPROM, подходящий файл прошивки на SD-карте и т.д.). Если условия не выполняются, то управление передается основной программе. Если же условия выполняются, то загрузчик переключается в режим программирования, получая данные новой прошивки по предопределенному интерфейсу. Это позволяет обновить прошивку МК не прибегая к паяльнику, программатору или внутрисхемному программированию.
Читать дальше →

Началось соревнование «Make with Ada» для разработчиков встраиваемых систем

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


AdaCore организует новый конкурс для разработчиков. Как и в прошлые разы, на подготовку даётся существенно больше времени, чем в олимпиадах по иноформатике. Это как раз подходит тем, кому не нравятся соревнования по быстрому написанию страшного кода, который потом только выбросить.

Сегодня на повестке дня — разработка для ARM на голом железе и технологии верификации. Общий призовой фонд — более 8000€.
Читать дальше →

Как делать из 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 мин
Количество просмотров45K

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

Решением данной проблемы является применение открытых протоколов, например, протоколов, соответствующих стандарту 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. В голове сразу появилась идея объединить маленькие символы в большие и мы решили попробовать. Как-то само собой получилось, что основную работу пришлось делать мне.
Читать дальше →

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