Облачные вычисления в IoT: решения Microchip

16 апреля

автоматизацияинтернет вещейуниверсальное применениеMicrochipстатьяIoTMicrochip

Йохан Лофстад (Microchip)

Благодаря облачным технологиям появилась возможность реализовать сложные проекты на базе микроконтроллера путем перераспределения вычислительной нагрузки между микроконтроллером и облаком. Компания Microchip предлагает несколько идей для реализации устройств домашней автоматизации на базе отладочных плат AVR-IoT и PIC-IoT – «погодные часы», «автоматические жалюзи».

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

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

Что такое облако?

При каждом упоминании термина «облако» возникает ассоциация с системой хранения данных, то есть – с местом. где мы храним свои файлы, резервные копии, настройки и т.д. Но, хотя хранилище является важной частью облака, гораздо большее значение, особенно для интернета вещей, имеют облачные вычисления.

Облачные вычисления – это способ разгрузить вычислительную систему рассматриваемого устройства путем переноса операций на другую систему. Такое решение позволяет относительно дешевым и компактным микроконтроллерам выполнять задачи, требующие большой вычислительной мощности.

Пример облачных вычислений: автоматическая дверь в магазине.

Представим такую область применения: дверь в магазин, которая открывается, как только перед ней оказывается человек. Дверь не должна реагировать на другие движущиеся объекты, например, на птиц. Традиционные решения в области датчиков движения не способны решить поставленную задачу.

Для решения этой задачи мы можем использовать машинное зрение. Делаем снимок, пытаемся распознать человека и открываем дверь в случае успеха. Алгоритмы машинного зрения обычно требуют большого объема вычислений. Система на основе одного микроконтроллера не имеет достаточного количества вычислительных ресурсов для выполнения расчетов, связанных с распознаванием человека на изображении. Здесь вступают в дело облачные вычисления. Отправим изображение в облако, и оно выполнит вычисления и отошлет результат распознавания обратно на микроконтроллер. Если с облака получен ответ «да», то перед дверью стоит человек – нужно ее открыть.

Основными преимуществами данного подхода являются простота и экономичность. Нет необходимости в наличии на объекте дорогого компьютера со сложным ПО. Простой и недорогой микроконтроллер выполнит всю работу, передав ее на облако. Следует отметить еще два преимущества: масштабируемость и эффективность. Если в магазине несколько дверей, вам необходимо лишь установить дополнительные микроконтроллеры и камеры. Облачное решение способно справиться с этой задачей, просто установив соединение с дополнительными устройствами. 

Представляем погодные часы

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

Такую систему можно построить на основе платы AVR-IoT WG, шагового двигателя и платы Stepper 2 Click Board для управления двигателем. Данные о погоде мы получаем от внешнего сервиса прогноза погоды. Эти данные обрабатываются и, в итоге, определяют положение стрелки. На этом этапе происходит обращение к облачным сервисам. Код микроконтроллера управляет положением вала двигателя на основе простого сообщения о погоде из облака, указывающего, куда должна быть направлена стрелка. Наиболее сложные с точки зрения вычислений задачи полностью решаются в облаке. Микроконтроллер выступает лишь в роли устройства представления информации.

Конфигурация облака

Погодные часы построены на основе платы AVR-IoT WG, которая уже настроена на работу с облачной платформой Google Cloud Platform (GCP). Добавление нового устройства осуществляется через модуль IoT Core. Необходимо открыть модуль, добавить в нем устройство и ввести его ID и открытый ключ. Поскольку плата изначально сконфигурирована для работы с Google Cloud, защищенное подключение устанавливается автоматически.

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

Поскольку платформа GCP является модульной, нужно лишь добавить модуль, необходимый для вашего проекта. В примере с автоматической дверью мы бы использовали модуль Vision, дающий доступ к предобученной нейронной сети для распознавания объектов на изображениях. 

Заключение и дополнительные материалы

Использование облачных технологий не только в качестве хранилища данных, но и в качестве вычислительного ресурса открывает двери в область экономичных и элегантных встраиваемых решений. Простые в использовании отладочные платы, такие как AVR- и PIC-IoT WG, позволяют выполнять ресурсоемкие вычисления, передавая их в облако.

Если вы хотите более подробно ознакомиться с погодными часами, их программным кодом, облачным решением и конструкцией самого устройства, обратитесь к документу «Home Automation – Weather Clock User Guide», доступному по ссылке.

Платы AVR-IoT и PIC-IoT доступны как с врожденной поддержкой Google Cloud Platform, так и с AWS Cloud. Дополнительную информацию об этих платах можно найти по ссылкам:

                            Перевел Вячеслав Семенов по заказу АО Компэл

•••

Наши информационные каналы

О компании Microchip

Microchip Technology Inc. - ведущий поставщик микроконтроллеров, схем смешанного сигнала, аналоговых полупроводников и решений на основе флэш-IP. Решения Microchip обеспечивают разработку с низким уровнем риска, снижают общую стоимость системы и сокращают время выхода на рынок для тысяч различных клиентских приложений по всему миру. Штаб-квартира в Чандлер, штат Аризона. Продукция Microchip обладает высокими качеством и уровнем технической поддержки. Продукция Microchip обладает высоким уровн ...читать далее

Товары
Наименование
AC164160 (MCRCH)
AC164164 (MCRCH)
EV15R70A (MCRCH)
EV54Y39A (MCRCH)
MIKROE-1926 (MIKROEL)