При разработке портативного IoT-устройства необходимо учитывать три основных параметра: низкое энергопотребление, беспроводное подключение и безопасность. Именно с учетом этих трех параметров компания Microchip разработала новую плату разработки PIC IoT WG. Плата работает на 16-битном микроконтроллере PIC с модулем Wi-Fi ATWINC и обладает множеством других интересных функций. В этой статье мы подробнее расскажем об этой плате и о том, как её использовать в ваших проектах IoT. Если вас интересуют другие платы разработки IoT, вы также можете обратить внимание на плату Arduino Nano 33 BLE Sense.

Плата разработки PIC IoT WG
Начнём с самого названия этой платы. Она называется PIC IoT WG, где W означает Wi-Fi, а G — Google. Да, Microchip и Google объединились, чтобы представить нам эту замечательную плату для разработки встраиваемых приложений интернета вещей (IoT), которые могут легко и безопасно взаимодействовать с основными сервисами Google Cloud IoT. Как показано ниже, плата содержит множество компонентов: собственный микроконтроллер, модуль Wi-Fi, криптографический сопроцессор, несколько датчиков и многое другое.

Обзор оборудования PIC IoT WG
Плата разделена на три секции: зарядную, отладочную и контроллерную. Давайте рассмотрим каждую секцию и её важные компоненты.
Микроконтроллер PIC24F с Wi-Fi-модулем WINC1510
В разделе контроллера присутствуют два важнейших компонента: микроконтроллер PIC24FJ128GA705 и Wi-Fi-модуль WINC1510. Что касается микроконтроллера, PIC24F — это чрезвычайно энергосберегающий 16-битный микроконтроллер с тактовой частотой 32 МГц и встроенным 12-битным АЦП. Wi-Fi-модуль — ATWINC1510, также производства Microchip, сертифицированный контроллер маломощных сетей IoT. Оба устройства отлично подходят для разработки периферийного устройства IoT с питанием от батареи.
Криптографический сопроцессор для безопасной передачи данных
Слева от контроллера у нас есть еще одна интересная микросхема — криптографический сопроцессор под названием ATECC608. Сегодня к облаку подключается так много чувствительных устройств, как пульсометры, устройства непрерывного мониторинга глюкозы, устройства отслеживания активов и многое другое. В связи с этим безопасность данных становится серьезной проблемой, и здесь вступает в дело криптографический сопроцессор ATECC608. Итак, здесь происходит следующее: ваша плата генерирует закрытый ключ и открытый ключ. Закрытый ключ будет использоваться для шифрования каждого сообщения, отправляемого с этой платы, а открытый ключ будет передан поставщику услуг, такому как облако Google IoT. Затем, когда это зашифрованное сообщение с нашей платы достигает облака, облако проверяет и расшифровывает это сообщение, используя открытый ключ.
Микросхема ATECC608 здесь выступает в качестве устройства криптографической аутентификации для создания и управления этими закрытыми и открытыми ключами. Микросхема предварительно настроена и подготовлена для аутентификации между вашей платой и ядром Google Cloud IoT. Это означает, что к моменту получения платы закрытый ключ для вашей платы уже будет сгенерирован и заблокирован в этой микросхеме, а открытый ключ зарегистрирован в учётной записи Microchip Sandbox, размещённой в Google Cloud IoT. Таким образом, вам не нужно быть экспертом в области сетевых технологий или шифрования, чтобы обеспечить безопасность ваших устройств IoT. Позже, после завершения создания прототипа, вы также сможете перенести свою плату в закрытый реестр.
Встроенный датчик температуры и освещенности
С обеих сторон микросхемы криптографического сопроцессора установлены два встроенных датчика, готовых к тестированию. Один из них — датчик освещенности TEMT6000X01, а другой — датчик температуры MCP9808. Датчик освещенности — это простой датчик тока, подключенный к 10-битному АЦП нашего PIC-контроллера. Датчик температуры может измерять температуру в диапазоне от -20°C до 100°C с типичной точностью 0,25°C и обменивается данными по шине I2C.
Встроенное литиевое зарядное устройство
Плата разработки PIC IoT WG может питаться как от порта micro-USB, так и от литиевой батареи напряжением 4,2 В, подключаемой к клемме аккумулятора (белый цвет). Если вы питаете плату от аккумулятора, на плате также имеется зарядная микросхема, которая будет заряжать литиевую батарею через порт micro-USB с напряжением 4,2 В и током 100 мА. В углу платы также расположены два светодиода: красный, показывающий, что аккумулятор заряжается, а зелёный — что он полностью заряжен.
PKOB – программатор и отладчик
Плата разработки также оснащена встроенным программатором, эмулятором и отладчиком PKOB. Термин PKOB расшифровывается как Pic-kit on board (встроенный набор для программирования). Многие из нас раньше использовали отдельный набор для программирования и отладки контроллеров, однако эта плата имеет встроенный эмулятор и поддерживает последовательный порт, что очень удобно для отладки без необходимости использования внешнего оборудования.
Распиновка, светодиоды и переключатели
Здесь у нас есть четыре светодиода разных цветов. Первый — синий, который загорается при подключении платы к сети Wi-Fi, второй — зелёный, который загорается при подключении к облачным сервисам Google, третий — жёлтый, который мигает при каждой отправке данных в облако, а четвёртый — красный, который загорается при возникновении ошибки на плате. Также у нас есть два переключателя SW1 и SW2, которые можно использовать для перехода в режим softAP.
Теперь о распиновке: на плате с обеих сторон расположено восемь разъёмов типа «мама», которые служат для расширения шины Mikrobus и позволяют подключать широкий спектр датчиков и модулей Mikro Elektronika. Доступ к другим универсальным выводам PIC-контроллера также осуществляется через контактные площадки, расположенные в нижней части платы.
PIC IoT WG: поддержка программного обеспечения

Что касается программного обеспечения, Microchip максимально упростила программирование и отладку этой платы. При подключении к компьютеру она будет обнаружена как флеш-накопитель, где вы сможете изменить параметры доступа Wi-Fi или перепрограммировать её простым перетаскиванием. Поскольку это 16-битный PIC-контроллер, его можно программировать с помощью MPLABX IDE с компилятором XC16. Плата также поддерживает Microchips Code Configurator (MCC) для быстрого программирования и отладки.
Кроме того, когда вы получите эту плату, она будет предварительно запрограммирована и настроена для демонстрации, в ходе которой мы сможем считывать показания этого датчика освещенности и датчика температуры и отображать их в виде графика на облачной платформе Google.
Начало работы с платой разработки PIC IoT WG

Для начала возьмите кабель mini-USB и подключите его к нашей отладочной плате, а другой конец — к компьютеру. Вы заметите, что ваша плата загорится, а на компьютере появится новый флеш-накопитель под названием Curiosity. Откройте накопитель и найдите его содержимое, как показано ниже.

Нажмите на файл CLICK-ME.HTM, чтобы открыть веб-страницу. На ней введите учётные данные Wi-Fi и нажмите download configuration («Загрузить конфигурацию»).

Это загрузит файл WiFI.config . Просто перетащите его на диск Curiosity, и вы увидите, как на плате загорятся синий и зелёный светодиоды, указывая на то, что она теперь подключена к Wi-Fi и облаку Google. Откройте веб-страницу ещё раз, чтобы проверить состояние платы, затем прокрутите вниз, чтобы увидеть показания датчиков освещённости и температуры на графике. Если у вас есть вопросы, посмотрите видео в конце статьи.

Аналогичным образом вы можете отправлять данные из облака Google на своё устройство. Просто откройте любую программу для мониторинга последовательного порта, например, Putty, подключите устройство к COM-порту платы, затем введите пример сообщения в текстовое поле и нажмите send to the device («Отправить на устройство»).

Как видите, терминал Putty должен отобразить сообщение, которое мы только что отправили. После экспериментов с этой демонстрационной программой вы можете прокрутить страницу вниз, чтобы найти опции для создания собственной программы сенсорного узла. Там есть опция "graduate" («Выпускник»), с помощью которой можно перенести плату из этой демонстрационной среды в частную. Для получения дополнительной информации и дальнейших действий см. это руководство пользователя PIC IoT WG от Microchip.

Затем вы начнете писать свой собственный код, используя среду разработки MPLABX. Как уже упоминалось, плата поддерживает MCC для быстрого и лёгкого программирования. На этом мой обзор платы разработки PIC IoT WG подведён. Надеюсь, вам было интересно узнать об этой плате и интересно что-нибудь с ней собрать.



