Библиотека Mraa Для Работы С Платами Intel Edison И Intel Galileo

В данной статье описана библиотека MRAA, которая позволяет существенно упростить работу с различными типами устройств с помощью:

  • аналоговый вход;
  • цифровой ввод и вывод;
  • широтно-импульсная модуляция (ШИМ);
  • двухпроводная шина I2C;
  • Универсальный асинхронный приёмопередатчик (UART);
  • прерывается при изменении уровня входного сигнала.



Библиотека MRAA для работы с платами Intel Edison и Intel Galileo

Вместо примеров с полными программами мы рассмотрим небольшие фрагменты на языке C, которые покажут основные принципы работы MRAA API. Чтобы получить дополнительную информацию из этой статьи, вы должны знать следующее:
  • Легко освоить ОС Linux и язык C;
  • иметь базовые знания цифровой электроники и использования GPIO (вход/выход общего назначения – входы и выходы общего назначения);
  • иметь документацию на используемые вами устройства.

В этой статье не объясняется, как компилировать, собирать и устанавливать приложения на конкретной платформе.

1. Обзор MRAA MRAA (произносится «у-ра») — это низкоуровневая библиотека, написанная на C. Она предназначена для абстрагирования деталей, связанных с доступом и управлением вводом-выводом на такой платформе, как Intel Galileo или Intel Edison, путем введения одного небольшого API. .

.

  • MRAA действует как переходный уровень для базовых возможностей ввода-вывода портов (GPIO) в Linux. Несмотря на то, что Linux предлагает достаточно богатую инфраструктуру для управления GPIO, а типичные команды для работы с GPIO являются стандартными, использовать их все равно может быть сложно.

  • Каждая платформа уникальна.

    Каждый из них имеет разные возможности, чистые контакты и типы GPIO. Например, пин может не поддерживать одну и ту же функциональность на двух разных платформах.

    Пин может не существовать на этой платформе.

    Кроме того, способ его настройки может зависеть от многих факторов.

    Например, использование контакта в одном режиме может помешать работе другого контакта в другом режиме или вообще запретить его использование.

    А поскольку библиотека MRAA позволяет создавать платформонезависимый код, это упрощает разработку.

  • Следует помнить, что хотя MRAA можно использовать для написания независимого от платформы кода, ответственность за обеспечение устойчивости кода к ограничениям всех платформ, на которых он может выполняться, по-прежнему лежит на разработчике.



1.1 Загрузка библиотеки MRAA и документации по API

Пакет MRAA уже установлен на Intel Galileo и Intel Edison и может быть подключен к вашему коду, как показано ниже.

Последний исходный код также можно загрузить из репозитория Intel. Документация по API доступна по адресу http://iotdk.intel.com/docs/master/mraa/

1.2 Названия контактов GPIO

В этой статье есть различные пины.

Аппаратные контакты обычно обозначаются номером.

Номер контакта также может начинаться с буквы «D» для цифрового типа и с буквы «А» для аналогового типа.

Например, «D0» будет указывать на цифровой контакт №0, а «A3» — на аналоговый входной контакт №3. Вывод также можно указать как GPIO6, т.е.

это вывод GPIO под номером 6, без указания его типа «D» или «A», т.е.

он может быть как цифровым, так и аналоговым.



1.3 Подключение библиотеки

При компиляции свяжите библиотеку командой –lmraa, например:
  
   

gcc -g blink.c -o blink -lmraa



1.4 Использование MRAA

Прежде чем писать код, имейте в виду следующее.

1. При запуске программы MRAA необходимо инициализировать следующим образом:

mraa_result_t rv; rv = mraa_init(); if (rv != MRAA_SUCCESS)

Теги: #iot #DIY или Сделай сам #i2c #uart #ADC #shim #galileo #intel edison #edison #ADC #intel galileo #pwm #mraa

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.