Оглавление:
- Шаг 1. Аппаратные компоненты
- Шаг 2. Создайте учетную запись в IBM Watson IoT и зарегистрируйте свое устройство
- Шаг 3. Разработайте приложение Node-RED для анализа настроений
- Шаг 4: эскиз Arduino
- Шаг 5: Подключите кружку
Видео: Подключенная кружка: 5 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:53
Иногда утром, потягивая кофе перед тем, как пойти в офис, я хочу мельком увидеть, что меня ждут в моем почтовом ящике. то есть количество и тон полученных писем…. Независимо от того, работает ли проект, который я закончил накануне, и есть ли положительные или отрицательные комментарии по этому поводу. С другой стороны, я не против открыть клиентское приложение электронной почты на своем мобильном телефоне и начать читать электронные письма во время завтрака.
Из этих соображений и исходит идея этого проекта; в нем используется кофейная кружка, дополненная светодиодными лампами, которые меняют свой цвет в зависимости от результата анализа настроений, выполненного в последних непрочитанных электронных письмах, полученных на мою учетную запись электронной почты. Просто подключите кружку, и светодиодные индикаторы станут зелеными, если в последних полученных письмах есть положительные сообщения, и красный цвет для противоположных.
Анализ тональности непрочитанных сообщений электронной почты выполняется службами 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 для анализа настроений
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 и полученная оценка настроения); просто нужно введите идентификатор устройства..
Теперь я наконец могу наслаждаться кофе в подключенной кружке.
Рекомендуемые:
Подключенная вручную клавиатура USB и Bluetooth на базе Python: 5 шагов
Проводная вручную клавиатура USB и Bluetooth на базе Python: это механическая клавиатура с ручной проводкой. Он поддерживает USB и Bluetooth и запускает Python в микроконтроллере клавиатуры. Вы можете спросить, как это работает. Следуйте инструкциям, чтобы построить его, и вы это узнаете
MOS - IoT: ваша подключенная система Fogponic: 4 шага
MOS - IoT: ваша подключенная система Fogponic: смягчение шока с помощью суперпотока: наш веб-сайт Это руководство является продолжением системы Fogponic. Здесь у вас будет больше возможностей для измерения данных с вашего компьютера теплицы и управления несколькими операциями, такими как вода
Подключенная метеостанция с ESP32: 3 шага
Подключенная метеостанция с ESP32: в этом руководстве вы узнаете, как настроить метеостанцию на основе ESP32 и как удаленно контролировать ее показания через приложение Blynk, а также через веб-сайт
Кружка E-Ink Display: 8 шагов (с изображениями)
E-Ink Display Mug: это одна из тех сумасшедших идей, которые просто спонтанно поселяются в моем мозгу. Я подумал, было бы здорово, если бы появилась кофейная кружка, которую можно было бы настроить на ходу? Тот, который был очень похож на обычную кофейную чашку. Я поискал и
Light Bamboo (подключенная лампа): 3 шага
Light Bamboo (Подключенная лампа): Здравствуйте и добро пожаловать! Light Bamboo - это подключенная лампа, которая загорается при получении уведомления на смартфоне Android, к которому он подключен. Цель этого руководства - показать вам этап проектирования проекта: от оборудования до