Про хмари і датчики: підключення Intel NUC і Genuino 101 до IoT-платформі IBM Watson

Наша сьогоднішня розповідь присвячений використанню компактного комп'ютера 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 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.