Microchip: интернет вещей – это просто

20 июля

автоматизацияинтернет вещейуниверсальное применениеMicrochipстатьяинтегральные микросхемыбеспроводные технологииCortexBluetoothIoTWi-FiPICAVR

Александр Русу (г. Одесса)

Компания Microchip, считая направление интернета вещей одним из важнейших для современного мира, предлагает широкую линейку специализированных решений для IoT, облегчающих разработчику создание его узлов и сетей: Wi-Fi Link- и Network-контроллеры, модули связи Bluetooth, криптографические сопроцессоры и отладочные платы с возможностью связи с различными облачными сервисами.

Интернет вещей (Internet of Things, IoT) обоснованно входит в число мегатрендов, способных изменить мир людей, ведь уже сейчас по оценкам специалистов количество «вещей», подключенных к сети Интернет, превышает численность населения Земли. Не удивительно, что практически все ведущие производители электронных компонентов, в том числе и компания Microchip Technology, считают это направление одним из приоритетных. Хотя IoT-устройства, отвечающие современным требованиям, никак нельзя назвать простыми, их создание, при использовании грамотного подхода и соответствующей элементной базы, может потребовать не так уж много времени и средств, как это может показаться.

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

Особенности IoT-устройств

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

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

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

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

Особенности малопотребляющих микроконтроллеров

Ключевым фактором, влияющим на энергопотребление микроконтроллеров, является технология их изготовления. Чем меньше геометрические размеры транзисторов, формирующих внутренние узлы микросхемы, тем меньше их паразитные емкости, и, соответственно, меньше энергии тратится на их переключение. Поэтому чем меньше размер техпроцесса изготовления микроконтроллеров, тем меньше их удельное энергопотребление – количество тока, затрачиваемого на одно переключение, обычно измеряемое в мкА/МГц. Не менее важным является также качество материалов, используемых для изготовления изоляторов затворов полевых транзисторов, внутрисхемной изоляции и корпуса. Использование высококачественных диэлектриков с высоким сопротивлением позволяет уменьшить токи утечки, что для IoT-устройств, способных годами работать от одной батарейки, является немаловажным условием.

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

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

Таким образом, микроконтроллеры, ориентированные на использование в IoT-устройствах, должны удовлетворять целому комплексу требований, невыполнение хотя бы одного из них не позволит достичь требуемого уровня энергетической эффективности. В списке продукции компании Microchip присутствует большое количество микроконтроллеров с ультрамалым энергопотреблением, на основе которых можно создать IoT-устройства. Отдельного внимания заслуживают микросхемы на основе ядра PIC, в которых реализована технология eXtreme Low Power (XLP), а также на основе ядер AVR и SAM, созданных с использованием технологии picoPower.

Ключевыми особенностями микроконтроллеров, построенных с использованием технологий XLP и picoPower, является наличие тщательно продуманных подсистем питания и тактирования, позволяющих снизить ток потребления до рекордно низких значений. Например, удельное энергопотребление 8-разрядных PIC-микроконтроллеров, в зависимости от модели, не превышает 32…45 мкА/МГц, а ток потребления в спящем режиме при использовании малопотребляющих источников пробуждения может снижаться до 9 нA. 16-разрядные модели микросхем на основе ядер PIC имеют типовое энергопотребление в диапазоне 160…190 мкА/МГц, а максимальный ток в глубоком спящем режиме – 10 нА. Не менее впечатляющие характеристики имеют 32-разрядные SAM-микроконтроллеры семейств L10/L11, выполненные на основе ядер Cortex-M23, у которых потребление в рабочем режиме составляет 25 мкА/МГц, а при переводе их в глубокий спящий режим снижается до 100 нА.

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

Idle – ядро отключено, системная частота и вся периферия продолжает работать.

Sleep/Standby – ядро отключено, но выбранные пользователем модули периферии могут продолжить работу. Существуют разные схемы тактирования модулей: они могут тактироваться от внешнего источника тактовой частоты, от встроенного низкочастотного осциллятора или от стандартного осциллятора высокой частоты.

Power Down – режим максимально низкого потребления энергии, функционирует лишь минимально необходимая для вывода контроллера из спящего режима периферия – RTC и WDT, которая тактируется от низкочастотного низкопотребляющего осциллятора.

Существуют и другие режимы низкого потребления, например, Doze – ядро микроконтроллера функционирует, но на пониженной частоте, или Vbat, в котором при исчезновении основного питающего напряжения часы RTC продолжают питаться от внешней батареи.

Дополнительное уменьшение потребляемого тока, особенно в режимах с пониженным энергопотреблением, возможно за счет использования периферийных модулей, не зависящих от ядра микроконтроллера (Core Independent Peripherals, CIP). Ключевой особенностью CIP является возможность создания конфигурируемых аппаратных связей внутри микроконтроллера, с помощью которых один аппаратный модуль может управлять другим, например, компаратор может запустить таймер, настроенный в режим генерации ШИМ-сигнала. В этом случае взаимодействие периферийных модулей происходит без какого-либо участия ядра, в том числе и без использования прерываний, что позволяет дополнительно уменьшить величину потребляемого тока.

Модули связи Wi-Fi

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

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

Быстрее всего к сети Wi-Fi можно подключиться с помощью готовых OEM-модулей. Для устройств, имеющих внутреннюю поддержку стека TCP/IP, например, построенных на базе микропроцессора и функционирующих под управлением ОС Linux, это можно сделать с помощью Link-контроллеров ATWILC1000 и ATWILC3000 (рисунок 1). Модули ATWILC1000 и ATWILC3000 поддерживают передачу данных по стандартам IEEE 802.11 b/g/n в диапазоне частот 2.412…2.472 ГГц со скоростью до 46 Мбит/с по протоколу UDP и до 28 Мбит/с по протоколам TCP/IP. Кроме этого, модуль ATWILC3000 поддерживает интерфейс Bluetooth 5. Все функции, требующиеся для работы в данных сетях, кроме стека TCP/IP, реализованы во внутреннем программном обеспечении модуля. Управление и передача данных для Wi-Fi осуществляется через интерфейс SPI/SDIO, а для Bluetooth (модуль ATWLIC3000) – через UART.

Рис. 1. Wi-Fi Link-контроллеры ATWILC1000 (слева) и ATWILC3000 (справа)

Рис. 1. Wi-Fi Link-контроллеры ATWILC1000 (слева) и ATWILC3000 (справа)

Особенностью модулей ATWILC1000 и ATWILC3000 являются малое энергопотребление с расширенными функциями управления питанием, что позволяет позиционировать их в качестве решений, пригодных для использования в IoT-устройствах, работающих от батарей. В спящем режиме эти модули потребляют ток всего 1,25 мкА, хотя во время обмена данными его значение возрастает в сотни тысяч раз и может достигать 186 мА (ATWILC1000) или 253 мА (ATWILC3000).

Для устройств без поддержки TCP/IP стека, например, построенных на базе микроконтроллера, наилучшим образом подходят полностью готовые решения, не требующие для своей работы каких-либо дополнительных программных модулей. В этом случае лучше всего использовать Network-контроллеры ATWINC1500/1510 и ATWINC3400 (рисунок 2), со встроенным TCP/IP стеком, фактически являющиеся преобразователями интерфейсов SPI-to-Wi-Fi. ATWINC1500/1510 поддерживают сервисы TCP, UDP, DHCP, ARP, HTTP, TLS и DNS, а ATWINC3400 в дополнение к этому — еще и SNTP протокол. Кроме того, модуль ATWINC3400 имеет возможность передачи данных по интерфейсу Bluetooth 5. Модули ATWINC1500 и ATWINC1510 отличаются объемом Flash-памяти для хранения прошивки: 4 Мбита и 8 Мбит, соответственно.

Рис. 2. Wi-Fi Network-контроллеры ATWINC1500/1510 (слева) и ATWINC3400 (справа)

Рис. 2. Wi-Fi Network-контроллеры ATWINC1500/1510 (слева) и ATWINC3400 (справа)

Так же как Link-контроллеры, модули ATWINC1500/1510 и ATWINC3400 имеют малое энергопотребление с возможностью перевода в энергосберегающий режим, в котором ток, потребляемый от источника питания, не будет превышать 4 мкА для ATWINC1500/1510 и 10,5 мкА для ATWINC3400.

Модули связи Bluetooth

В отличие от сетевого протокола Wi-Fi, использующегося в больших информационных системах, беспроводной интерфейс Bluetooth предназначен для создания индивидуальных каналов передачи данных между устройствами. Привлекательность Bluetooth для использования в IoT-устройствах связана, в первую очередь, с его широким распространением – сегодня Bluetooth-приемопередатчик присутствует практически в каждом смартфоне, что позволяет использовать его в качестве единой консоли управления, например, для средств домашней автоматизации. При этом для связи между смартфоном и устройствами, в отличие от систем на основе Wi-Fi, не нужны какие-либо дополнительные концентраторы или маршрутизаторы. Первые версии Bluetooth, из-за больших затрат энергии для обмена данными и низкого уровня безопасности, не особо подходили для использования в IoT-устройствах, однако со временем эти проблемы были решены, и последние варианты интерфейса обеспечивают уровни экономичности и защищенности, достаточные для использования в IoT-приложениях.

Для небольших IoT-устройств наилучшим образом подходят компактные модули BM70 и BM71 (рисунок 3). Модули BM70 и BM71 отличаются дальностью действия радиоканала и выпускаются в двух версиях: экранированной с интегрированной антенной и неэкранированной – без нее. Оба модуля управляются по интерфейсу UART и содержат все необходимые компоненты для обмена данными по интерфейсу Bluetooth 5 с использованием технологии Bluetooth Low Energy (BLE), в том числе и готовый программный Bluetooth-стек, подсистему управления питанием, а также приемопередатчик, работающий на частоте 2,4 ГГц (таблица 1).

Рис. 3. Bluetooth-модули BM70 и BM71

Рис. 3. Bluetooth-модули BM70 и BM71

Таблица 1. Основные характеристики Bluetooth-модулей

Модуль Антенна и экран Дальность действия Интерфейс подключения к хосту Интерфейс команд Bluetooth
BM70 Есть/Нет 50 м UART бинарный BLE
BM71 Есть/Нет 10 м UART бинарный BLE
RN4870 Есть/Нет 50 м UART ASCII BLE
RN4871 Есть/Нет 10 м UART ASCII BLE
RN4678 Есть 50 м UART ASCII BLE + Classic

Еще проще интегрировать Bluetooth в IoT-устройство можно при использовании модулей RN4678, RN4870/71 (рисунок 4), имеющих упрощенный интерфейс управления с помощью текстовых команд в ASCII коде, передаваемых через UART.

Рис. 4. Bluetooth-модули RN4870/71 и RN4678

Рис. 4. Bluetooth-модули RN4870/71 и RN4678

Модули RN4870 и RN4871 поддерживают спецификацию Bluetooth Low Energy и отличаются дальностью действия радиоканала: 50 и 10 метров, соответственно. Они выпускаются как в экранированном варианте с антенной, так и в неэкранированном – без нее. Модуль RN4678 поддерживает два режима работы – Bluetooth 5.0 Classic и Bluetooth Low Energy, имеет единственное исполнение – экранированное с интегрированной антенной.

Криптографические сопроцессоры

На сегодняшний день существует достаточно большое количество аппаратных и программных инструментов для обеспечения требуемой информационной безопасности, начиная от микросхем со встроенными криптографическими модулями и заканчивая микроконтроллерами, например, на основе ядер от ARM Ltd. c функцией TrustZone, позволяющей делить существующие ресурсы на зоны с разным уровнем доверия. Очевидно, что при этом резко возрастает сложность любого IoT-устройства, и, например, простой датчик температуры при добавлении необходимых функций защиты сразу превращается в серьезный проект, требующий для реализации целой команды высококвалифицированных специалистов.

В этом случае наилучшим решением является использование специализированных микросхем – сопроцессоров шифрования семейства CryptoAuthentication Family, являющихся частью платформы Trust Platform. При таком подходе в любое готовое устройство, например, созданное на небольшом 8-разрядном микроконтроллере, устанавливается дополнительная микросхема, содержащая все узлы, необходимые для шифрования данных. Кроме того, в ней хранятся ключи, пароли и прочая информация, необходимая для идентификации. Эти данные записаны внутри микросхемы и надежно защищены от несанкционированного чтения на аппаратном уровне. Связь сопроцессора шифрования с микроконтроллером может осуществляться по одному из стандартных интерфейсов, например, I2C или 1-Wire. Таким образом, микроконтроллер, например, вначале оправляет в сопроцессор первичную информацию, а затем принимает от нее уже зашифрованные данные. При этом доступа к алгоритмам шифрования, ключам или прочей секретной информации у микроконтроллера нет.

Одними из таких сопроцессоров, предлагаемых компанией Microchip, является ATECC608A и его более новая версия ATECC608B. Эти микросхемы выпускаются в малогабаритных 8-выводных корпусах и имеют 16 аппаратно защищенных зон памяти, в которых могут храниться ключи, сертификаты или пользовательские данные. Обработка данных обеспечивается аппаратными модулями, поддерживающими ассиметричную и симметричную криптографию, а также вычисление хеш-функций по алгоритму SHA-256 и генерацию случайных чисел (TRNG). Ассиметричная криптография представлена криптографией на эллиптических кривых в соответствии со стандартом NIST P-256, в том числе протоколом получения общего секретного ключа (ECDH) и алгоритмом создания цифровой подписи (ECDSA). За криптографию с общим секретным ключом отвечает алгоритм AES-128. Каждая микросхема имеет уникальный 72-битный серийный номер, что дает возможность проверить ее оригинальность.

Сопроцессоры ATECC608A/B предназначены для создания защищенного соединения на основе протоколов TLS 1.2 и TLS 1.3 в IoT-устройствах, поэтому они отличаются не только компактными размерами и высоким быстродействием, но и малым энергопотреблением. Ток потребления этих микросхем в рабочем режиме не превышает 1 мА, а в режиме ожидания он снижается до 40 нА (ATECC608A) и 30 нА (ATECC608B). Следует отметить, что снижение энергопотребления обеспечивается за счет уменьшения не только абсолютной величины потребляемого тока, но и времени, затрачиваемого на шифрование данных. Результаты измерения времени выполнения одних и тех же операций показывают, что аппаратное шифрование выполняется примерно на порядок быстрее, чем время выполнения тех же функций, реализованных программным методом (рисунок 5).

Рис. 5. Сравнение скорости выполнения криптографических операций сопроцессором ATECC608B и микроконтроллером на базе Cortex-M0+

Рис. 5. Сравнение скорости выполнения криптографических операций сопроцессором ATECC608B и микроконтроллером на базе Cortex-M0+

Микросхемы ATECC608A/B выпускаются компанией Microchip с тремя вариантами предустановки, соответствующими уровням платформы Trust Platform. При заказе сопроцессоров по варианту  Trust & GO разработчик IoT-устройств приобретает у компании Microchip готовые микросхемы, уже сконфигурированные для работы с конкретным облачным сервисом и содержащие уникальные идентификационные данные. Таким образом, конечный пользователь фактически заказывает у Microchip надежно защищенные уникальные аппаратные ключи, не заботясь о тонкостях этого процесса, что является важным достоинством такого решения. Для того, чтобы воспользоваться этой услугой, необходимо заказать, как минимум, десять микросхем, что позволяет использовать такой подход даже в малых проектах. На сегодняшний день вариант Trust & GO доступен для аутентификации на платформах Amazon Web Services, Microsoft Azure, Google Cloud, а также на серверах LoRaWAN: The Things Industries и Actility.

Для оригинальных проектов больше подходит вариант Trust Flex. В этом случае компания Microchip также предоставляет микросхемы с предустановленными ключами и сертификатами, которые, при необходимости, можно изменить самостоятельно с помощью соответствующих инструментов. Такой подход дает возможность организовать соединение с любым облаком, использующим аутентификацию на основе TLS. Помимо аутентификации, микросхемы серии Trust Flex предоставляют расширенные варианты использования: безопасная загрузка устройства, безопасное обновление прошивки, защита интеллектуальной собственности и прочие. Чтобы воспользоваться этой услугой, необходимо заказать у компании Microchip не менее двух тысяч приборов, поэтому такой подход обоснован для относительно больших производственных серий.

Для специализированных проектов, требующих особого подхода к вопросам безопасности, наилучшим образом подходит вариант Trust Custom. В этом случае, компания Microchip предоставляет клиентам чистые микросхемы и инструменты для их программирования, а все остальные функции реализуются специалистами клиента. Очевидно, что этот подход является самым сложным и трудоемким, однако даже в этом случае все вопросы защиты и безопасности остаются в узком кругу специалистов, а разработчики оконечных IoT-устройств, в том числе и сторонние, будут получать готовые защищенные микросхемы без какого-либо доступа к секретной информации. Поскольку такой подход для небольших проектов применять нет смысла, компания Microchip установила размер минимальной партии этих микросхем равным четырем тысячам приборов.

Облачные сервисы IoT

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

Одной из таких платформ является Google Cloud Platform, созданная американской компанией Google. Для организации полноценной автоматизированной системы на основе IoT-устройств можно воспользоваться набором служб Google Cloud IoT, позволяющим создать систему практически любого размера и сложности. Рассмотрим некоторые их них:

  • Cloud IoT Core – центральный элемент системы Cloud IoT, обеспечивающий подключение и управление устройствами.
  • Pub/Sub – служба, обеспечивающая обмен сообщениями на основе архитектуры Издатели-Подписчики.
  • AI Platform – сервис, позволяющий реализовать подготовку набора данных для обучения модели, построить модель без написания кода и развернуть ее в облаке для получения предсказаний.
  • Dataflow – служба потоковой и пакетной обработки данных от узлов IoT на основании пользовательской модели.
  • BigQuery – служба, обеспечивающая хранение и доступ к большим объемам данных от узлов IoT.
  • CloudFunctions – сервис, позволяющий перераспределить вычислительную нагрузку между облаком и конечным устройством путем переноса ряда функций в облако.

Еще одной американской компанией, предоставляющей облачные сервисы для IoT-проектов, является компания Amazon. В рамках набора сервисов Amazon Web Services IoT (AWS IoT) можно развернуть достаточно сложные автоматизированные системы управления с гибкими внутренними связями. Рассмотрим основные компоненты данной системы:

  • AWS IoT Core обеспечивает подключения устройств к облаку и обмена данными между ними.
  • AWS IoT Device Management отвечает за организацию парка устройств в структуру, удаленное управление ими в любом масштабе и мониторинг подключенных устройств.
  • AWS IoT Analytics не только позволяет выполнить сложный анализ больших объемов данных, но и фильтрует, преобразовывает и дополняет данные, полученные от устройств IoT.
  • AWS IoT Device Defender позволяет сконфигурировать профиль безопасности устройств и осуществляет мониторинг метрик безопасности, позволяя выявить анормальное поведение.

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

В число крупнейших поставщиков облачных сервисов для IoT-устройств входит также компания Microsoft. Ее платформа Microsoft Azure является одной из крупнейших в мире, а список предоставляемых услуг выходит далеко за рамки проектов автоматизации.

  • Azure IoT-Hub – центральный элемент системы, отвечает за подключение устройств и обеспечение безопасного взаимодействия между ними.
  • Azure IoT Central – платформа приложений IoT, позволяющая создать интерфейс для управления, мониторинга устройств, устранения неполадок и проблем, связанных с устройствами, подготовки новых устройств.
  • Azure IoT Edge позволяет перенести часть критического функционала из облака в пограничное устройство.
  • Azure Stream Analytics – масштабируемый комплексный механизм обработки событий от Microsoft, который позволяет пользователям разрабатывать и запускать аналитику в реальном времени для нескольких потоков данных. Пользователи могут настраивать оповещения для обнаружения аномалий, прогнозирования тенденций, запуска необходимых рабочих процессов при соблюдении определенных условий и предоставления данных другим последующим приложениям и службам для представления, архивирования или дальнейшего анализа.
  • Azure IoT Plug IoT – открытый язык моделирования, который уменьшает нагрузку на разработчика при реализации устройства IoT. Этот язык работает как универсальный интерпретатор, позволяя устройствам интернета вещей немедленно отправлять значимые данные и получать команды из облака для скорейшего включения устройства в работу.
  • Azure Machine Learning – набор служб и инструментов, предназначенных для помощи разработчикам в обучении и развертывании моделей машинного обучения.

Кроме этого, существует большое количество облачных платформ, предоставляемых другими компаниями, в том числе SAP Cloud Platform, Salesforce IoT, Oracle Internet of Things, Cisco IoT Cloud Connect, Bosch IoT Suite, IBM Watson Internet of Things, что является весьма привлекательным для всех желающих быстро развернуть IoT-систему без привлечения значительных инвестиций.

Отладочные платы для разработки IoT-устройств

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

На момент написания статьи Microchip предлагает ряд отладочных плат, позволяющих быстро и просто решить эту задачу (рисунок 6). Например, с помощью плат AVR IoT-WA и PIC IoT-WA (рисунок 7) можно создать полноценные IoT-устройства, способные работать с сервисом AWS. На платах установлен микроконтроллер, криптографический сопроцессор ATECC608A и сертифицированный Wi-Fi-модуль ATWINC1510. Предустановленное программное обеспечение является полностью готовым и позволяет после настройки беспроводного соединения передавать на сервис AWS данные о температуре и освещенности с датчиков, установленных на этих платах.

Рис. 6. Классификация отладочных плат для IoT-решений Microchip

Рис. 6. Классификация отладочных плат для IoT-решений Microchip

Рис. 7. Внешний вид оценочной платы AVR IoT-WA

Рис. 7. Внешний вид оценочной платы AVR IoT-WA

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

Единственным отличием платы AVR IoT-WA от PIC IoT-WA является микроконтроллер. На плате AVR IoT-WA установлен микроконтроллер ATmega4808 на основе ядра AVR, а плата PIC IoT-WA построена на основе PIC24FJ128GA705 с ядром PIC-16. Программное обеспечение для обеих плат может быть разработано в интегрированной среде разработки Microchip MPLAB X с возможностью конфигурации периферийных модулей в графическом плагине MPLAB Code Configurator. Кроме того, прошивку для  микроконтроллера ATmega4808 можно создать в среде Microchip Studio.

Компания Microchip предлагает своим пользователям аналогичные платы, уже настроенные для работы с другими облачным сервисам (таблица 2). Кроме этого, в ассортименте Microchip есть аналогичные платы с другими интерфейсами передачи данных, например, Bluetooth (отладочные платы AVR-BLE и PIC-BLE).

Таблица 2. Основные технические характеристики оценочных плат

Плата P/N Архитектура Микроконтроллер Интерфейс Облако
AVR IoT-WA EV15R70A 8-bit AVR ATmega4808 Wi-Fi AWS
PIC IoT-WA EV54Y39A 16-bit PIC PIC24FJ128GA705 Wi-Fi AWS
AVR IoT-WG AC164160 8-bit AVR ATmega4808 Wi-Fi Google Cloud
PIC IoT-WG AC164164 16-bit PIC PIC24FJ128GA705 Wi-Fi Google Cloud
SAM IoT-WG EV75S95A ARM Cortex-M0+ SAMD21G18 Wi-Fi Google Cloud
AVR-BLE DT100111 8-bit AVR ATmega3208 Bluetooth
PIC-BLE DT100112 8-bit PIC PIC16LF18456 Bluetooth

 

Платы с модулями Wi-Fi оснащены датчиками освещенности и температуры, а платы с модулями Bluetooth – датчиком температуры и акселерометром. Очевидно, что этого недостаточно для создания IoT-устройств, сфера применения которых поистине огромна. Для расширения функциональности оценочных плат к ним можно подключить платы расширения Click Boards, для установки которых предусмотрен специальный разъем mikroBUS.

Основным производителем модулей расширения для оценочных плат Microchip является компания Mikroe, на сайте которой на момент написания статьи можно приобрести более 950 разновидностей плат Click Boards, что открывает широчайшие возможности для конечных разработчиков. Например, к рассмотренным выше платам можно подключить плату OLED C click, на которой установлен полноцветный экран на основе органических светодиодов (OLED) с разрешением 96 х 96 пикселей (рисунок 8). Также к этим платам можно подключить модуль THUMBSTICK click и превратить IoT-устройство в игровую консоль с профессиональным джойстиком.

Рис. 8. Платы расширения OLED C click (слева) и THUMBSTICK click (справа)

Рис. 8. Платы расширения OLED C click (слева) и THUMBSTICK click (справа)

Заключение

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

В этой статье рассмотрена лишь малая часть решений компании Microchip, предлагаемых для IoT-устройств (рисунок 9). Однако даже этого материала достаточно для того чтобы понять, что, несмотря на всю сложность и многогранность данной технологии, создать IoT-устройство с помощью компонентов компании Microchip действительно просто.

Рис. 9. Решения Microchip для IoT-устройств

Рис. 9. Решения Microchip для IoT-устройств

открыть картинку в полном формате

 

•••

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

О компании Microchip

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

Товары
Наименование
ATWINC1500-MR210PB1952 (MCRCH)
ATWINC1500-MR210UB1954 (MCRCH)
ATWINC3400-MR210CA122-T (MCRCH)
ATWINC3400-MR210UA131 (MCRCH)
BM70BLE01FC2-0B05BA (MCRCH)
BM70BLES1FC2-0B03AA (MCRCH)
BM71BLE01FC2-0B04AA (MCRCH)
BM71BLES1FC2-0B02AA (MCRCH)
RN4870-I/RM128 (MCRCH)
RN4870U-V/RM118 (MCRCH)
RN4871-I/RM130 (MCRCH)
RN4871U-V/RM118 (MCRCH)
RN4678-V/RM111 (MCRCH)
RN4678APL-V/RM120 (MCRCH)
ATECC608A-SSHDA-B (MCRCH)
EV15R70A (MCRCH)
EV54Y39A (MCRCH)
AC164160 (MCRCH)
AC164164 (MCRCH)
EV75S95A (MCRCH)