Свързана чаша: 5 стъпки (със снимки)
Свързана чаша: 5 стъпки (със снимки)
Anonim
Свързана чаша
Свързана чаша

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

От тези съображения идва идеята за този проект; използва чаша за кафе, подобрена с LED светлини, които променят цветовете си въз основа на резултатите от анализа на настроенията, извършен върху последните непрочетени имейли, получени в моя имейл акаунт. Просто включете чашата и LED светлините ще се превърнат в зелен цвят, ако последните получени имейли имат положителни съобщения, червен цвят за обратното.

Анализът на настроенията към непрочетени имейли се извършва от услугите на IBM Watson IoT. Платка Arduino MKR1000 се използва за управление на LED лентата и за свързване с услугите на IBM Watson IoT през WiFi чрез протокол MQTT.

Стъпка 1: Хардуерни компоненти

Хардуерни компоненти
Хардуерни компоненти
Хардуерни компоненти
Хардуерни компоненти

Дъска за разработка на хардуер:

Arduino MKR1000

Хардуерна спецификация

  • 3x 100ohm резистори
  • 3x TIP122 NPN транзистори
  • 1x жак за захранване
  • 1x RGB LED светлинна лента (AglaiaLT-S2)
  • Резервни кабели

Окабеляването за управление на LED лента с Arduino MKR1000 се основава на този урок:

Стъпка 2: Създайте акаунт в IBM Watson IoT и регистрирайте вашето устройство

За да създадете облачно приложение, което да може да извършва анализ на настроенията на непрочетени имейли с IBM Watson IoT, първо е необходимо да се подпишете за безплатен пробен акаунт (https://www.ibm.com/internet-of-things/trial/). Втората стъпка е да създадете приложение за платформата Watson IoT и да регистрирате вашата дъска Arduino MKR1000; това вече е стандартна процедура за свързване на хардуерни платформи с IBM Watson IoT и е добре документирана в ръководствата за бърз старт на IBM:

console.ng.bluemix.net/docs/services/IoT/i…

IBM също така предлага шаблони за IoT, които ускоряват тези стъпки, като ограничават услугите и времето на изпълнение, необходими за стартиране на вашето IoT приложение. IoT for Electronics Starter Boilerplate беше този, използван за този проект.

Стъпка по стъпка ръководството за регистрация на устройството е предоставено тук:

console.ng.bluemix.net/docs/services/IoT/i…

Запишете вашия org-id, идентификационни данни, идентификатор на устройство и тип устройство, след като приключите процедурата за регистрация на устройството, тъй като те ще са необходими за конфигуриране на скицата на Arduino и приложението NodeRED.

Стъпка 3: Разработете приложението Node-RED за анализ на настроенията

Разработете приложението Node-RED за анализ на настроенията
Разработете приложението Node-RED за анализ на настроенията

NodeRED е визуален инструмент, който може да се използва в платформата на IBM Watson IoT за създаване на приложения за свързване на устройства и облачни услуги (nodered.org).

Разработеното приложение NodeRED е много просто и се състои от два потока, един за анализ на настроенията на имейлите, а друг за регистриране на състоянието на Arduino MKR1000 (оценка на сантимента, получена от устройството и RGB комбинация за светодиода, който се показва).

Първият поток се свързва периодично с имейл акаунт и извлича последните непрочетени имейли; конфигурацията зависи от вашия имейл акаунт. Всеки получен имейл се изпраща в полето за анализ на настроенията, което връща резултат (по -малък или над 0) въз основа на отрицателно/положително съдържание на анализирания текст (вижте информация https://github.com/thisandagain/sentiment/blob/mas… за повече информация). Резултатът от настроението се изпраща до проста функционална кутия, която изчислява средната стойност на последните получени данни и натиска резултата до следващия възел. Накрая последният блок изпраща съобщение, съдържащо стойността на оценката на настроението към свързаното устройство, използвайки протокол MQTT; този блок трябва да бъде конфигуриран с идентификационните данни, генерирани по време на процеса на регистрация на устройството.

Вторият поток се използва за тестване, за да се визуализира състоянието на платката Arduino; той свързва входящ IoT възел за вашата платка Arduino към уеб страницата на IBM за бързо стартиране за визуализация на данни (https://quickstart.internetofthings.ibmcloud.com/). Входният IoT възел е конфигуриран както по -горе, за да получава съобщения за състоянието от Arduino Board, използвайки протоколите MQTT. Съобщенията за състоянието съдържа оценката на настроенията и RGB комбинацията за LED, използвана в момента в Arduino.

Node-RED приложението е експортирано в clipbord и прикачено тук като.txt файл.

Стъпка 4: Скица на Arduino

Скицата на Arduino се основава на клиентска библиотека на MQTT от Gilberto Conti (https://github.com/256dpi/arduino-mqtt), която е променена, за да се свърже с IBM Watson IoT. Кодът се състои от три части:

  • setup (): свързване с WiFi AP и IBM MQTT брокер; регистрирайте обратно повикване за съобщения, получени от IBM Watson IoT
  • loop (): задайте RGB щифт за управление на LED светлини; изпратете до IBM Watson IoT състоянието на устройството (RGB и оценка на настроенията)
  • messageReceived (…): обратно повикване при получаване на съобщения с оценка на настроенията от приложението Watson IoT. Резултатът е съпоставен със стойността на RGB (отрицателен: червен; положителен: зелен).

Конфигурирайте кода, както следва, въз основа на идентификационни данни, генерирани по време на процедурата за регистрация на устройството (org-id, device-type, device-id):

  • MQTT_MODE = IBM_API_KEY
  • char *client_id = "d: your-org-id: your-device-type: your-device-id";
  • char *user_id = "use-token-auth";
  • char *pwd = "your-pwd";
  • char *ibm_hostname = "your-org-id.messaging.internetofthings.ibmcloud.com";

Приложението се абонира за тема iot-2/cmd/+/fmt/string и messageReceived call call анализира съобщения за настроение от тип команда.

Съобщенията за състоянието се публикуват на тема: iot-2/evt/status/fmt/json

Забележка: не забравяйте да актуализирате SSL сертификат за MKR1000; следвайте инструкциите тук: https://github.com/arduino-libraries/WiFi101-Firm… и вмъкнете вашето ibm_hostname, за да изтеглите и инсталирате в MKR1000 коренните сертификати.

Приложена е скица на Arduino.

Стъпка 5: Свържете чашата си

Свържете чашата си
Свържете чашата си
Свържете чашата си
Свържете чашата си

Би било хубаво да направим още малко интегриране на електроника и светодиоди в чашата, но за този проект просто прикрепих адхезивната LED лента около чашата, както е показано на снимката.

След това свързвам LED лентата към схемата за захранване, захранвам светодиода и Arduino MKR1000 и изчаквам да получа съобщения с оценка на чувствата от приложението NodeRED. На снимката например тествах, като изпращах до акаунта си имейли, съдържащи текст като "Страхотна работа !, Вашият проект е прекрасен!" и т.н.

Възможно е също така да проверите в публичната уеб страница на IBM Quickstart (https://quickstart.internetofthings.ibmcloud.com) състоянието в реално време на приложението Arduino (показва се RGB код и получената оценка на настроенията); просто трябва да въведете идентификатора на устройството..

Сега най -накрая мога да се насладя на кафето си в свързана чаша.

Препоръчано: