Наш сегодняшний рассказ посвящён использованию компактного компьютера Intel Next Unit Computing (NUC) для подключения к IoT-платформе IBM Watson датчиков, присоединённых к плате Genuino 101. Из этого материала вы узнаете о том, как, в реальном времени, считывать сведения с датчиков, подключённых к Genuino 101, тут же просматривать их на NUC и отправлять в облако IBM Watson. Там данные можно хранить, обрабатывать, визуализировать. Для того, чтобы всё это сделать, используется Node-RED, установленный на NUC. Графический интерфейс Node-RED позволяет создавать блок-схемы, реализующие функции ввода, обработки и вывода данных, то есть, всё то, что лежит в основе IoT-приложений.

image

Для того, чтобы опробовать всё то, о чём пойдёт речь, на практике, вам понадобится следующее:

  • Компьютер 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 остаётся пустым (в таком случае используется стандартное имя узла). Номера выводов соответствуют тем разъёмам базовой платы, к которому подключён соответствующий датчик или актуатор.

Узлы и их настройки
Узел блок-схемы
Параметры
  • Platform: Firmata
  • Pin: D4
  • Interval (ms): 1000

Grove Light
  • Platform: Firmata
  • Pin: A1
  • Unit: Raw Value
  • Interval (ms): 1000

Grove Rotary (датчик угла поворота)
  • Platform: Firmata
  • Pin: A2
  • Unit: Absolute Raw
  • Interval (ms): 1000

Grove LED
  • Platform: Firmata
  • Pin: D5
  • Mode: Output

Grove Relay (верхний элемент)
  • Platform: Firmata
  • Pin: D7

Grove Relay (нижний элемент)
  • Name: Grove Buzzer
  • Platform: Firmata
  • Pin: D6 (с помощью этого узла можно управлять зуммером)

chart tag connected to Grove
  • Title: Button
  • Type: Status Text

chart tag connected to Grove
  • Title: Light
  • Type: Gauge
  • Units: RAW

chart tag connected to Grove
  • Title: Rotary
  • Type: Gauge
  • Units: RAW

mqtt
  • Server: localhost:1883
  • Topic: /sensors
  • Name: Charts


После выполнения настроек следует всё проверить, взглянуть, надёжно ли подключены датчики. Теперь можно нажать на кнопку 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 и приступить к работе. Удачи!
Поделиться с друзьями
-->

Комментарии (0)