Наш сегодняшний рассказ посвящён использованию компактного компьютера Intel Next Unit Computing (NUC) для подключения к IoT-платформе IBM Watson датчиков, присоединённых к плате Genuino 101. Из этого материала вы узнаете о том, как, в реальном времени, считывать сведения с датчиков, подключённых к Genuino 101, тут же просматривать их на NUC и отправлять в облако IBM Watson. Там данные можно хранить, обрабатывать, визуализировать. Для того, чтобы всё это сделать, используется Node-RED, установленный на NUC. Графический интерфейс Node-RED позволяет создавать блок-схемы, реализующие функции ввода, обработки и вывода данных, то есть, всё то, что лежит в основе IoT-приложений.
Для того, чтобы опробовать всё то, о чём пойдёт речь, на практике, вам понадобится следующее:
- Компьютер Intel NUC, подключённый к интернету. В нашем проекте он выполняет роль IoT-шлюза.
- Плата Genuino 101, связанная с NUC по USB.
- Базовая плата расширения Seed Studio Grove, подключённая к Genuino 101 и переведённая в режим 3V3 VCC.
- Датчики Grove, подключённые к базовой плате: датчик освещённости, присоединённый к разъёму A1, датчик угла поворота на разъёме A2, кнопка (разъём D4), зелёный светодиод (D5), зуммер (D6) и реле (D7).
Подробности о подключении шлюзов Intel для интернета вещей к облаку IBM Watson можно посмотреть здесь, о работе с IoT Developer Kit читайте здесь.
Чтение показателей датчиков и вывод данных в Intel IoT Gateway Developer Hub
Подключитесь к Intel IoT Gateway Developer Hub, введя в браузере IP-адрес NUС. При запросе имени и пароля используйте и для того и для другого gwuser. После подключения будет показана основная информация о NUC, в частности – номер модели, версия, Ethernet-адрес и сведения о сети.
Щёлкните по значку Sensors, затем – по Manage Sensors для того, чтобы открыть окно Node-RED. Здесь, по умолчанию, будет лист Sheet 1, на котором размещена стандартная блок-схема для датчиков RH-USB. В этом проекте, однако, такие датчики не используются, поэтому на данном шаге нужно выделить всю блок-схему и удалить её. Теперь перед нами чистый лист, на котором мы и будем работать.
В левой части интерфейса Node-RED находится набор узлов. Это – функциональные блоки для создания Node-RED-приложений в NUC. В нашем случае понадобятся узлы, показанные ниже.
Узлы, использованные в примере
Считывание нажатий на кнопку | Светодиод (включен или выключен) | ||
Измерение уровня освещённости | Форматирование выводимых данных на NUC | ||
Измерение угла поворота | Отправка данных в IoT-платформу Watson | ||
Реле (открыто или закрыто) | Отправка данных в IoT-платформу Watson |
Эти узлы надо перетащить в рабочую область и разместить так, как показано на рисунке ниже. Некоторые узлы используются по несколько раз. Узлы соединяют с помощью мыши. Обратите внимание на то, что узел Watson IoT понадобится нам позже, в текущую версию блок-схемы Node-RED он пока не включён.
Размещение узлов в рабочей области Node-RED
Узлы, которые только что разместили в рабочей области, нуждаются в дополнительной настройке, иначе работать наш проект не будет. Для настройки узла надо сделать по нему двойной щелчок. А когда откроется панель параметров, внести необходимые изменения в конфигурацию.
В таблице ниже показаны настройки, которые требуются для узлов. В некоторых случаях поле Name остаётся пустым (в таком случае используется стандартное имя узла). Номера выводов соответствуют тем разъёмам базовой платы, к которому подключён соответствующий датчик или актуатор.
Узлы и их настройки
Узел блок-схемы Параметры |
|
Grove Light |
|
Grove Rotary (датчик угла поворота) |
|
Grove LED |
|
Grove Relay (верхний элемент) |
|
Grove Relay (нижний элемент) |
|
chart tag connected to Grove |
|
chart tag connected to Grove |
|
chart tag connected to Grove |
|
mqtt |
|
После выполнения настроек следует всё проверить, взглянуть, надёжно ли подключены датчики. Теперь можно нажать на кнопку Deploy, она отвечает за развёртывание приложения на NUC и его запуск. Если приложение нормально заработает, в верхней части окна Intel IoT Gateway Developer Hub можно будет увидеть сведения, которые поступают с датчиков в режиме реального времени. Это – показания датчика угла поворота (Rotary), датчика освещённости (Light), а также – данные с кнопки (Button).
Приложение, созданное в Node-RED, запущено на NUC и выводит данные в окна Intel IoT Gateway Developer Hub
Если повернуть рычаг датчика угла поворота или прикрыть датчик освещённости – показатели в соответствующих полях должны поменяться. Если нажать на кнопку, загорится светодиод, включится зуммер, будет подано питание на реле.
Отправка данных в облако и служба Quickstart
Теперь пришло время добавить в наше приложение узел для облачной IoT-платформы IBM Watson. С его помощью можно будет отправлять данные в службу Quickstart. Quickstart позволяет подключаться к Watson очень быстро и с минимальными потерями времени на настройки. Часто эту службу используют на начальных этапах разработки новых IoT-приложений.
Дополните блок-схему в редакторе Node-RED выходным узлом Watson IoT. Когда узел окажется в рабочей области, его имя поменяется на IBM IoT Device. Проведите соединительную линию от выхода узла Grove Rotary ко входу нового узла. Выполните двойной щелчок по этому узлу и настройте его параметры так, как показано ниже. Не забудьте об имени узла (поле Name) – введите в него Watson IoT Quickstart. Идентификатор (Id) Quickstart генерируется автоматически, менять его не нужно.
Настройка параметров для узла IBM IoT Device
После внесения изменений в параметры узла нажмите на кнопку OK, а затем – на кнопку Deploy. Программа, уже установленная на NUC, будет обновлена. В этот момент показатели датчика угла поворота Grove начнут, один раз в секунду, поступать в Quickstart. Для того, чтобы эти данные просмотреть в Quickstart, нужно, в рабочей области Node-RED, выполнить двойной щелчок по узлу Watson IoT Quickstart, после чего – щёлкнуть по кнопке со ссылкой на Quickstart (она отмечена цифрой «1» на рисунке выше и расположена правее поля Quickstart id). Если это сделать, в браузере откроется страница Quickstart, а на ней, в реальном времени, будет выводиться график показателей датчика угла поворота. Если покрутить ручку датчика, график, соответственно, будет меняться.
Показатели датчика выводятся в Quickstart
Каждая новая порция показателей, полученных с датчика, подключённого к плате Genuino 101 и переданная в облако Watson с помощью NUC, выводится в нижней части экрана вместе со сведениями о времени получения данных. Эти данные должны соответствовать тем, которые можно наблюдать локально, в Intel IoT Gateway Developer Hub. Для того, чтобы проверить, правильно ли передаются эти данные, можно сравнить то, что видно в Quickstart, с тем, что выводится в Developer Hub.
Что дальше?
Основываясь на примере, который мы здесь рассмотрели, можно создавать сложные приложения, предусматривающие использование датчиков, подключённых к плате Genuino 101 и компьютер NUC в качестве инструмента для организации работы с облачной IoT-платформой IBM Watson. Если вы сделали всё, о чём мы тут рассказали, то сейчас вам, наверняка, захочется вывести в Quickstart показания ещё нескольких датчиков, проверить, корректно ли эти сведения передаются в облако.
Наверняка, у вас уже появилась идея собственного приложения для интернета вещей, использующего всё то, о чём мы тут рассказали. Поэтому сейчас самое время зарегистрироваться в IBM Watson и приступить к работе. Удачи!
Автор: Intel