Русский
Русский
English
Статистика
Реклама

Перевод Умная новогодняя ёлка

Мечтали ли вы когда-нибудь о том, чтобы включать и выключать гирлянду на новогодней ёлке, просто произнеся некие волшебные слова? Если так оно и есть значит эта статья написана специально для вас. Её автор хочет рассказать о том, как оснастить новогоднюю ёлку системой голосового управления.



Материалы


Аппаратные компоненты и инструменты:

  • Реле.
  • Espressif ESP8266 ESP-01.
  • Arduino UNO.
  • Макетная плата.
  • Блок питания для макетной платы.
  • Гирлянда для ёлки.
  • Соединительные провода.
  • Отвёртка.

Программы:


Обзор проекта


Это мой первый проект такого рода. Он посвящён созданию системы, которая позволяет, используя Google Assistant, включать и выключать ёлочную гирлянду.

Вот схема проекта.


Схема проекта

Вот как выглядят компоненты проекта в сборе.


Система голосового управления ёлочной гирляндой

В ходе работы над проектом надо сначала собрать его аппаратную часть, а потом заняться настройкой программного обеспечения и подготовкой кода. Поговорим о настройке Blynk.

Настройка Blynk


Возможно, у вас уже есть опыт использования Blynk. Тогда тут для вас не будет ничего нового. Но я, в расчёте на тех, кто раньше Blynk не пользовался, приведу здесь достаточно подробное описание настроек соответствующего проекта.

Загрузим приложение Blynk на мобильное устройство (из Apple Store или из Google Play).

Войдём в приложение (для этого понадобится учётная запись; войти в приложение можно и с использованием Facebook-аккаунта).


Вход в приложение

Создадим новый проект (токен аутентификации будет отправлен на тот адрес электронной почты, который был использован для входа в систему).


Создание нового проекта

Выберем имя для проекта, укажем, в качестве устройства, Arduino Uno, а в качестве метода подключения WiFi.


Настройка основных свойств проекта

Теперь, касанием экрана, вызовем меню. Нас интересует элемент Text Input.


Выбор элемента Text Input

Теперь надо коснуться элемента Text Input появится экран, показанный ниже.


Настройка элемента Text Input

В поле Title можно ввести всё что угодно. В поле OUTPUT надо записать V0. Поле HINT оставим пустым, в поле CHARACTER LIMIT установим ограничение на количество символов, равное 20.

На этом настройка Blynk завершена.

Теперь займёмся IFTTT.

Настройка IFTTT


Загрузите мобильное приложение IFTTT и войдите в него. Коснитесь кнопки Create. Теперь коснитесь кнопки Add в поле If This и найдите Google Assistant. Коснитесь соответствующего значка и выберите в появившемся списке первый пункт Say a phrase with text ingredient он позволяет настроить реакцию систему на фразу, содержащую ключевое слово.

В поле What do you want to say? я ввёл Google turn $ the lights. Символ $ это ключевое слово. Если хотите можете задать тут дополнительную фразу, но ключевое слово всегда должно быть одним и тем же. Затем надо указать ответ, который даст Google Assistant.

Далее, нужно выбрать язык (этот материал написан на английском поэтому я выбрал тут English). Теперь коснёмся Continue и на появившемся после этого экране, в поле Then That, коснёмся Add и выполним поиск по ключевому слову Webhooks. Далее, коснёмся соответствующего значка и займёмся настройками раздела Make a web request.

Прежде чем это сделать надо открыть командную строку на компьютере, который подключён к интернету, и ввести такую команду:

ping blynk-cloud.com

Далее, надо записать IP-адрес, который появится в выходных данных этой команды. Он, например, может выглядеть как 188.166.206.43. Это адрес Blynk-сервера для вашей страны.

Теперь возвращаемся к настройкам приложения IFTTT. Здесь, в разделе Make a web request, в поле URL, нужно ввести такую конструкцию:

http://только что полученный IP-адрес/Токен аутентификации проекта Blynk/pin/V0

В поле Method надо выбрать PUT.

В поле Content Type надо выбрать application/json.

В поле Body надо поместить следующую конструкцию:

["{{TextField}}"]

Теперь надо коснуться кнопки Continue, задать заголовок действия и завершить настройку. После этого IFTTT будет готов к работе.

Код


Вот код нашего проекта, предназначенный для Arduino:

#define BLYNK_PRINT Serial#define EspSerial Serial1#include <SoftwareSerial.h>#include <SPI.h>#include <ESP8266_Lib.h>#include <BlynkSimpleShieldEsp8266.h>// Токен аутентификации надо получить в приложении Blynk.char auth[] = "yourAuthToken";// Данные для подключения к WiFi.// Установите пароль в "" для открытых сетей.char ssid[] = "YourSSID";char pass[] = "YourPassword";SoftwareSerial EspSerial(2, 3); // RX, TX ESP8266String s;  // для хранения получаемых ключевых словBLYNK_WRITE(V0)   // будет запускаться каждый раз, когда приложение Blynk отправляет строку{s=param.asStr();Serial.print(s); //Строка, отправленная приложением Blynk, будет выведена в Serial Monitorif(s=="on"){digitalWrite(7, HIGH);    //Пин 7 установлен в setup()}else if(s=="off"){digitalWrite(7, LOW);}else{Serial.print("Say on or off");}}// Скорость ESP8266 в бодах:#define ESP8266_BAUD 9600ESP8266 wifi(&EspSerial);void setup(){// Отладочная консольSerial.begin(9600);pinMode(7, OUTPUT);    //Pin 7 установлен в режим вывода данных// Установим скорость в бодах для ESP8266EspSerial.begin(ESP8266_BAUD);delay(10);Blynk.begin(auth, wifi, ssid, pass);}void loop(){Blynk.run();}

Обратите внимание на этот фрагмент кода:

if(s=="on")else if(s=="off")

Если изменить фразу (и ключевое слово) нужно поменять и текстовые значения, используемые в этом фрагменте. А именно, ключевое слово, включающее гирлянду, надо поместить туда, где сейчас находится строка on, а выключающее туда, где сейчас находится строка off.

Поясню это на примере. Предположим, я решил использовать для управления гирляндой такую фразу:

I am $

Для включения гирлянды решено использовать слово happy, для выключения слово sad. Это значит, что вышеприведённый код нужно будет переписать так:

if(s=="happy")else if(s=="sad")

Код нужно загрузить на Arduino UNO, запустить проект Blynk, открыть Google Assistant и попросить его включить гирлянду.

Планируете ли вы воспользоваться Blynk, IFTTT и Google Assistant в своих проектах?

Источник: habr.com
К списку статей
Опубликовано: 14.01.2021 00:13:39
0

Сейчас читают

Комментариев (0)
Имя
Электронная почта

Блог компании ruvds.com

Разработка под arduino

Diy или сделай сам

Arduino

Разработка

Ruvds_переводы

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru