Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Конфигурация желаемого состояния для цепей

Мигание светодиода в зависимости от домена Язык, применяемый через Module Twin к контейнеру Docker, на котором запущен Johnny 5 на Raspberry Pi.

История

Обзор:

Azure IoT Edge позволяет периодически подключенным устройствам получать желаемые свойства с помощью «двойников модулей». Эти двойники могут использоваться в качестве конфигурации желаемого состояния для управления определенным поведением в пограничных модулях. Пограничные модули работают как контейнерные рабочие нагрузки, что обеспечивает самовосстановление и быстрое развертывание без необходимости постоянного подключения. Когда Интернет доступен, устройства могут использовать облачные сервисы для вызова методов в модулях.

В этом проекте мы разрабатываем модуль IoT Edge с использованием пакета SDK для Azure IoT NodeJS, который получает желаемое состояние из облака, которое настраивает контакты GPIO на Raspberry Pi для выполнения желаемых операций в подключенном канале с использованием Джонни 5.

Это может обеспечить такие интересные варианты использования, как:* Разрешить несколько режимов работы для одной цепи, применяя разные конфигурации состояний кубернетес.

Справочная информация:

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

Среда выполнения Azure IoT Edge от Microsoft позволяет нам сформировать прочную основу для проекта. Эта среда выполнения работает как служба на локальном оборудовании и позволяет оркестровку контейнерных «модулей», которые настраиваются для каждого устройства в облаке Azure. Всегда используются два системных модуля:пограничный агент, который получает и применяет конфигурации развертывания модулей, и пограничный концентратор, который обеспечивает кэширование сообщений в облаке и межмодульное взаимодействие.

Мы начали с создания модуля Azure IoT Edge с помощью пакета Azure IoT NodeJS SDK. Этот модуль получает двойную конфигурацию, которая определяет желаемые и сообщаемые свойства для данного устройства. Мы используем предметно-ориентированный язык, который анализируется в конфигурации Johny 5. Это позволяет нам определить, как схема должна работать в облаке, и применить ее к нашему модулю IoT Edge.

Пример конфигурации приведен ниже:

«Config»:«{\» периферийные устройства \ »:[{\» тип \ »:\« Светодиод \ », \« имя \ »:\« будильник \ », \» настройки \ »
:{\ ”Pin \”:\ ”GPIO18 \”}, \ "initialState \":{\ "method \":\ "blink \", \ "period \":500}, \
"outputAlias ​​\":\ "Alias2 \"}, {\ "тип \":\ "Кнопка \", \ "имя \":\ "кнопка \", \ "настройки \":
{\ "контакт \":\ ”GPIO20 \”}, \ ”outputAlias ​​\”:\ ”alias1 \”}]} ”,

В этом примере определяется светодиодное устройство на GPIO18 с initalState миганием включения / выключения каждые 500 мс. Состояние светодиода может передаваться на другие модули с помощью outputAlias. На GPIO20 также используется кнопка, которая публикует изменения состояния для alias1. В такой конфигурации мы можем независимо реагировать на изменения состояния в дополнительных модулях путем маршрутизации outputAlias.

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

Шаги по воспроизведению:

Для начала вам понадобится подписка Microsoft Azure с развернутым Центром Интернета вещей.

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

Подготовив схему и облачные службы, вы захотите установить среду выполнения Azure IoT Edge на свой Raspberry Pi, следуя этому руководству. После установки среды выполнения вам нужно будет вручную подготовить устройство, следуя этим инструкциям.

Затем мы создадим специальное развертывание в Azure, которое позволит нам мигать нашим светодиодным индикатором.

Создайте развертывание, как показано ниже:

URL изображения:

toolboc / johnny5onedge:0.0.981-arm32v7

Параметры создания контейнера:

{«ExposedPorts»:{«9229 / tcp»:{}}, «HostConfig»:{«PortBindings»:{«9229 / tcp»:[{«HostPort»:«9229»}]}, «Privileged»:true , «Устройства»:[{«PathOnHost»:«/ dev / i2c-1», «PathInContainer»:«/ dev / i2c-1», «CgroupPermissions»:«rwm»}, {«PathOnHost»:«/ dev / gpiomem »,« PathInContainer »:« / dev / gpiomem »,« CgroupPermissions »:« rwm »}],« Mounts »:[{« Type »:« bind »,« Source »:« / lib / modules / » , «Цель»:«/ lib / modules /»}]}}

Желаемые свойства двойника модуля:

{
"properties.desired":{
"config":"{\" периферийные устройства \ ":[{\" тип \ »:\" Светодиод \ ", \" имя \ ":\" будильник \ ", \" настройки \ ":{\" контакт \ ":\" GPIO18 \ "}, \" initialState \ ":{\" метод \ ":\" мигание \ ", \" период \ ":500 }, \ "OutputAlias ​​\":\ "alias2 \"}, {\ "type \":\ "Button \", \ "name \":\ "on \", \ "settings \":{\ "pin \ ":\" GPIO20 \ "}, \" outputAlias ​​\ ":\" alias1 \ "}]}”
}
}

Сохраните, когда закончите. Затем пропустите разделы «Указать маршруты» и «Указать показатели», пока не дойдете до «Целевые устройства».

Установите приоритет 10 и добавьте целевое условие tags.environment =’blinK

Подробнее… ..

Требуемая конфигурация состояния для цепей


Производственный процесс

  1. Kubernetes в Azure:инструменты и советы для достижения успеха
  2. Сертификаты Azure:эксперты Cloud Institute объяснят, что лучше для вас
  3. Подходит ли мне сертификация Azure DevOps?
  4. Как подготовиться к сертификационному экзамену Azure DevOps без обучения?
  5. Как сделать эффективное управление затратами для AWS, GCP и Azure
  6. Цепи управления
  7. Конфигурации для HMI в опасных ситуациях
  8. Экранированные кабели для сигнальных цепей (часть 2)
  9. Экранированные кабели для сигнальных цепей (часть 1)
  10. Microsoft запускает Azure Edge Zones для приложений 5G