Оглавление:

Подключенная кружка: 5 шагов (с изображениями)
Подключенная кружка: 5 шагов (с изображениями)

Видео: Подключенная кружка: 5 шагов (с изображениями)

Видео: Подключенная кружка: 5 шагов (с изображениями)
Видео: ЖЮЛЬ ВЕРН - ПЯТЬ НЕДЕЛЬ НА ВОЗДУШНОМ ШАРЕ 2024, Июль
Anonim
Подключенная кружка
Подключенная кружка

Иногда утром, потягивая кофе перед тем, как пойти в офис, я хочу мельком увидеть, что меня ждут в моем почтовом ящике. то есть количество и тон полученных писем…. Независимо от того, работает ли проект, который я закончил накануне, и есть ли положительные или отрицательные комментарии по этому поводу. С другой стороны, я не против открыть клиентское приложение электронной почты на своем мобильном телефоне и начать читать электронные письма во время завтрака.

Из этих соображений и исходит идея этого проекта; в нем используется кофейная кружка, дополненная светодиодными лампами, которые меняют свой цвет в зависимости от результата анализа настроений, выполненного в последних непрочитанных электронных письмах, полученных на мою учетную запись электронной почты. Просто подключите кружку, и светодиодные индикаторы станут зелеными, если в последних полученных письмах есть положительные сообщения, и красный цвет для противоположных.

Анализ тональности непрочитанных сообщений электронной почты выполняется службами IBM Watson IoT. Плата Arduino MKR1000 используется для управления светодиодной лентой и для подключения к службам IBM Watson IoT через Wi-Fi с использованием протокола MQTT.

Шаг 1. Аппаратные компоненты

Компоненты оборудования
Компоненты оборудования
Компоненты оборудования
Компоненты оборудования

Плата для разработки оборудования:

Ардуино MKR1000

Спецификация оборудования

  • 3 резистора по 100 Ом
  • 3x транзистора TIP122 NPN
  • 1x разъем питания
  • 1x светодиодная лента RGB (AglaiaLT-S2)
  • Запасные кабели

Схема подключения светодиодной ленты с 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…

Запишите свой идентификатор организации, учетные данные, идентификатор устройства и тип устройства после завершения процедуры регистрации устройства, поскольку они потребуются для настройки скетча 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 с использованием протоколов MQTT. Сообщения о состоянии содержат оценку настроения и комбинацию RGB для светодиодов, которые в настоящее время используются в Arduino.

Приложение Node-RED было экспортировано в clipbord и прикреплено сюда как файл.txt.

Шаг 4: эскиз Arduino

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

  • setup (): подключение к точке доступа WiFi и брокеру IBM MQTT; зарегистрировать обратный вызов для сообщений, полученных от IBM Watson IoT
  • loop (): установите вывод RGB для управления светодиодной подсветкой; отправить в IBM Watson IoT статус устройства (RGB и оценку настроения)
  • messageReceived (…): обратный вызов вызывается при получении сообщений с оценкой тональности из приложения Watson IoT. Оценка сопоставляется со значением RGB (отрицательный: красный; положительный: зеленый).

Настройте код, как показано ниже, на основе учетных данных, сгенерированных во время процедуры регистрации устройства (идентификатор организации, тип устройства, идентификатор устройства):

  • MQTT_MODE = IBM_API_KEY
  • char * client_id = "d: your-org-id: your-device-type: your-device-id";
  • char * user_id = "использовать токен аутентификации";
  • char * pwd = "ваш-pwd";
  • char * ibm_hostname = "идентификатор вашей организации.messaging.internetofthings.ibmcloud.com";

Приложение подписывается на тему iot-2 / cmd / + / fmt / string, а обратный вызов messageReceived анализирует сообщения на предмет тональности командного типа.

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

Примечание: не забудьте обновить сертификат SSL для MKR1000; следуйте инструкциям здесь: https://github.com/arduino-libraries/WiFi101-Firm… и вставьте свое имя хоста ibm, чтобы загрузить и установить в MKR1000 корневые сертификаты.

Эскиз Arduino прилагается.

Шаг 5: Подключите кружку

Подключите свою кружку
Подключите свою кружку
Подключите свою кружку
Подключите свою кружку

Было бы неплохо сделать еще одну интеграцию электроники и светодиодов в кружке, но для этого проекта я просто прикрепил подходящую светодиодную ленту вокруг кружки, как показано на рисунке.

Затем я подключаю светодиодную ленту к макетной плате, включаю светодиод и Arduino MKR1000 и жду сообщений с оценкой тональности от приложения NodeRED. На картинке, например, я тестировал, отправляя на свою учетную запись электронные письма, содержащие текст типа «Отличная работа! Ваш проект великолепен!» и т.п.

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

Теперь я наконец могу наслаждаться кофе в подключенной кружке.

Рекомендуемые: