Съдържание:

Гласово контролиран превключвател, използващ Alexa и Arduino: 10 стъпки (със снимки)
Гласово контролиран превключвател, използващ Alexa и Arduino: 10 стъпки (със снимки)

Видео: Гласово контролиран превключвател, използващ Alexa и Arduino: 10 стъпки (със снимки)

Видео: Гласово контролиран превключвател, използващ Alexa и Arduino: 10 стъпки (със снимки)
Видео: Удаленная / прикладная программа IFTTT / Google Home Mini Remote Voice 2024, Ноември
Anonim
Гласово управляван превключвател, използващ Alexa и Arduino
Гласово управляван превключвател, използващ Alexa и Arduino

Основната цел на този проект е да използва температурен сензор за управление на превключвателя (релето) за включване или изключване на устройството.

Списък на материалите

  1. 12V релеен модул ==> $ 4.2
  2. Arduino uno ==> $ 8
  3. DHT11 температурен сензор ==> $ 3
  4. Модул ESP8266 ==> $ 4,74
  5. Оптрон N26 ==> 0,60 $
  6. LM1117 регулатор на напрежението ==> $ 0,60
  7. Платформа ==> $ 2.2
  8. Кабелни проводници ==> 2,5 $
  9. Натиснете бутона ==> $ 2.5

Общата стойност на проекта е около 30 долара. Този проект е разделен на три части. Първо, използваме heroku за създаване на приложение. Второ, изграждаме умение на Amazon Alexa, за да реализираме работата си (Най -важната част). Трето, ние настройваме нашия хардуер и го програмираме с помощта на Arduino IDE.

Стъпка 1: Свързване на Heroku с GitHub

Свързване на Heroku с GitHub
Свързване на Heroku с GitHub
Свързване на Heroku с GitHub
Свързване на Heroku с GitHub
Свързване на Heroku с GitHub
Свързване на Heroku с GitHub

Heroku е облачна платформа като услуга (PaaS), поддържаща няколко езика за програмиране, която се използва като модел за внедряване на уеб приложение. Първо, отидете на сайта heroku създайте нов акаунт или влезте там. Връзката е дадена по -долу

Уебсайт Heroku

Нека започнем със създаването на ново приложение. Дадох името на приложението си „iottempswitch“, когато разгръщате приложението, се генерира връзка.

След като приложението е направено, отидете на GitHub. GitHub/

Влезте там или се регистрирайте, ако нямате акаунт. След като влезете, създайте ново хранилище. Дайте всяко име, което искате да изберете, и след това натиснете създаване на хранилище. На следващата страница щракнете върху README, на тази страница дайте описание, което искате да споделите с другите. След това кликнете върху записване на нов файл. След това кликнете върху бутона за качване.

Има две опции или да плъзнете и пуснете папка или да изберете файл. Изтеглете необходимите файлове отдолу. След като изберете файлове, натиснете коммитиране на промени. Отворете приложението, което сте създали в Heroku, след което отидете на раздела за разполагане. След това щракнете върху GitHub. Give име на хранилището, което сте създали от страна на GitHub. В моя случай това е Smart-Relay. Копирайте го и го поставете тук. След като връзката ви се покаже, кликнете върху свързване. След това кликнете върху разгръщането на клона (ръчно). След разгръщането можете да видите връзка в дневника за изграждане или да видите връзка в настройките. Тази връзка се нуждаем по -късно, когато правим Amazon умения.

Стъпка 2: Amazon

Amazon
Amazon
Amazon
Amazon
Amazon
Amazon

Най -новите изображения на умението Alexa

На сайта за разработчици на Amazon използваме умението на Amazon да контролираме задействането на превключвателя чрез задаване на температура и влажност.

Отидете на сайта за разработчици на Amazon. Връзката е дадена по -долу.

Уебсайт за разработчици на Amazon

  • Отидете на конзолата за програмисти горе вдясно, както е показано на фигура i4
  • Отидете на Alexa, след това изберете Alexa Skill Kit и след това създайте ново умение, като щракнете върху Добавяне на ново умение.

Когато добавите ново умение, ще видите страницата с информация за уменията.

1. Информация за уменията (както е показано на изображение i7)

трябва да предоставим тип умение, език, име, име за извикване.

Тип умение ==> изберете персонализиран

  • Име ==> изберете произволно име.
  • Име за извикване ==>, което използвате по време на комуникация с Alexa. Например;- Alexa, помолете сензора да включи задействането на превключвателя или Alexa, попитайте светлината тук, имената на извикване са сензор и светлина.
  • Език ==> английски (Индия). Изберете според вашата страна

щракнете върху запазване и след това след това

2. Модел на взаимодействие

Тук ще използваме конструктор на умения. Така че, Щракнете върху Стартиране на умение Builder. ще видите страница, както е показано на изображение i8.

Първо създаваме нови намерения. Кликнете върху Добавяне (от лявата страна) и дайте каквото искате име използвах „smartswitch“

  • Дайте име на типа на слота "измерване_тип" и стойностите на слота "температура" и "влажност", както е показано на изображение i9.

  • След това добавете име на тип слот "заявка" и стойностите на слота са "какво" и "е", както е показано на изображението i10.
  • След това добавете слот тип „switchstate“и стойностите на слота са „on“и „off“, както е показано на изображението i11.
  • Добавете друг тип слот „tempscale“и стойностите на слота са „fahrenheit“и „celcuis“, както е показано на изображение i12.
  • След това добавете нов тип слот, тук използваме съществуващ тип слот, за който трябва да кликнете върху използвайте съществуващ слот. В съществуващия слот потърсете amazon.number и изберете това и го добавете. След като го добавите, ще го видите в типове слотове, както е показано на изображение i13.

Така че приключихме с типовете слотове. Общият тип слот, който използваме, е 5. Сега преминете към следващата стъпка. Кликнете върху намерението, което създадохме, в моя случай това е smartswitch. От дясната страна ще видите слот за намерение, както е показано на картинка i14.

  • Създайте нов слот, дайте му име „Switch_State“и го съпоставете с „switchstate“, като използвате падащия бутон, както е показано на изображението i15.
  • Създайте нов слот, дайте му име "Sensor_Values" и го съпоставете с "измерване_тип", както е показано на изображение i16.
  • Създайте нов слот, дайте му името „query“и го съпоставете с „query“, както е показано на изображение i17.
  • След това създайте нов слот "tmp_scale" и го съпоставете с "tempscale", както е показано на изображението i18.
  • Създайте нов слот „Numbers“и го съпоставете с „Amazon. Numbers“, както е показано на изображение i19.

Сега сме готови с Intent слотове. Използваме 5 слота за намерения. След това преминаваме към Примерни изявления, както е показано на изображение i20.

Добавете тези примерни изказвания.

задайте задействането на превключвателя на {Numbers} процента {tmp_scale}

{query} е състоянието на превключване

{Switch_State} задействащ превключвател

задайте спусъка на превключвателя на {Numbers} степен {tmp_scale}

превключвател за превключване {Switch_State}

{query} превключване {Switch_State}

{query} е текущите {Sensor_Values}

След това запазете модела и го изградете. Изчакайте модела да бъде изграден след това щракнете върху конфигурацията. След изграждането ще видите съобщение, както е показано на изображения i21 и i22.

3. Конфигурация

Изберете HTTPS и добавете връзка, която е генерирана при създаването на приложението heroku. В моя случай това е https://iottempswitch.herokuapp.com/. След добавяне на връзка кликнете върху следващия, както е показано на картинка i23.

4. SSL сертификат Изберете втората опция и щракнете върху следващата, както е показано на изображението i24.

ние успешно създадохме нашите умения.

Стъпка 3: Arduino

Arduino
Arduino
Arduino
Arduino
Arduino
Arduino

Отворете Arduino IDE, След това отидете на Файл ==> Предпочитания

В допълнителния мениджър на табла копирайте и поставете URL адреса и щракнете върху OK, както е показано на картинка i26.

arduino.esp8266.com/versions/2.4.0/package_…

  • Отворете Board Manager като отидете в Tools ==> Board ==> Board Manager.
  • Отворете Boards Manager и потърсете nodemcu, както е показано на изображение i27.
  • След това изтеглете ESP8266WiFi библиотека. Отворете библиотечния мениджър: Sketch ==> Include library ==> Manage Libraries.
  • Потърсете библиотеката ESP8266WiFi и я инсталирайте.
  • Изберете платка ==> Общ модул ESP8266.
  • Преди да качим кода, имаме нужда от три библиотеки.

Задължителни библиотеки

Преместете тези библиотеки в папката библиотеки на Arduino

Трябва да промените три неща в кода SSID, PWD и връзката към приложението heroku. След това качете кода. За ESP модул трябва да натиснете бутона за флаш, докато качвате кода, след което натиснете бутона за нулиране веднъж и след това освободете бутона за светкавица. След като качите кода, отворете терминала. ще видите изход.

Стъпка 4: Описание на компонента

Описание на компонента
Описание на компонента
Описание на компонента
Описание на компонента
Описание на компонента
Описание на компонента
Описание на компонента
Описание на компонента

1. Какво е щафета

Релето е електромагнитно устройство, което се използва за изолиране на две вериги електрически и свързването им магнитно. Те са много полезни устройства и позволяват една верига да превключва друга, докато са напълно отделни. Те често се използват за свързване на електронна верига (работеща при ниско напрежение) към електрическа верига, която работи при много високо напрежение. Например, реле може да направи 5V DC батерийна верига за превключване на 230V AC мрежова верига.

Как работи

Релето може да бъде разделено на две части: вход и изход. Входната секция има бобина, която генерира магнитно поле, когато към нея се подаде малко напрежение от електронна верига. Това напрежение се нарича работно напрежение. Обикновено използваните релета се предлагат в различна конфигурация на работно напрежение като 6V, 9V, 12V, 24V и т.н. Изходната секция се състои от контактори, които се свързват или изключват механично. В едно основно реле има три контактора: нормално отворен (NO), нормално затворен (NC) и общ (COM). При липса на входно състояние, COM е свързан към NC. Когато се приложи работното напрежение, релейната бобина се захранва и COM променя контакта на NO. Предлагат се различни конфигурации на релета като SPST, SPDT, DPDT и т.н., които имат различен брой контакти за превключване. Чрез подходяща комбинация от контактори електрическата верига може да се включва и изключва. Вземете вътрешни подробности за структурата на релеен превключвател.

COM терминалът е общият терминал. Ако клемите COIL се захранват с номиналното напрежение, терминалите COM и NO имат непрекъснатост. Ако клемите COIL не са под напрежение, тогава терминалите COM и NO нямат непрекъснатост.

NC терминалът е нормално затворен терминал. Това е терминалът, който може да бъде включен, дори ако релето не получава никакво или достатъчно напрежение за работа.

Терминалът NO е нормално отворен терминал. Това е терминалът, където поставяте желания изход, когато релето получи номиналното си напрежение. Ако няма напрежение към клемите COIL или недостатъчно напрежение, изходът е отворен и не получава напрежение. Когато клемите COIL приемат номиналното напрежение или малко под него, NO терминалът получава достатъчно напрежение и може да включи устройството на изхода.

2. Температурен сензор DHT

DHT11 е сензор за влажност и температура, който генерира калибриран цифров изход. DHT11 може да бъде интерфейс с всеки микроконтролер като Arduino, Raspberry Pi и т.н. и да получите незабавни резултати. DHT11 е евтин сензор за влажност и температура, който осигурява висока надеждност и дългосрочна стабилност.

3. ESP8266 Пълно описание

WiFi модулът ESP8266 е самостоятелен SOC с интегриран стек от протоколи TCP/IP, който може да даде достъп на всеки микроконтролер до вашата WiFi мрежа. ESP8266 може да хоства или мрежови функции на приложения от друго приложение. Всеки модул ESP8266 идва предварително програмиран с AT команда.

ESP8266 поддържа APSD за VoIP приложения и интерфейси за съвместно съществуване на Bluetooth, съдържа самокалибриран RF, който му позволява да работи при всички условия на работа и не изисква външни RF части.

Характеристика

  • 802.11 b/g/n
  • Wi-Fi Direct (P2P),
  • мек-API интегриран стек от протоколи TCP/IP
  • Вграден TR ключ, балун, LNA, усилвател на мощност и съвпадаща мрежа
  • Интегрирани PLL, регулатори, DCXO и единици за управление на захранването
  • +19,5 dBm изходна мощност в режим 802.11b
  • Изключващ ток на утечка <10uA
  • 1MB флаш памет
  • Вграден 32-битов процесор с ниска мощност може да се използва като процесор за приложения
  • SDIO 1.1 / 2.0, SPI, UART
  • STBC, 1 × 1 MIMO, 2 × 1 MIMOA-MPDU & A-MSDU агрегиране и 0,4 мс защитен интервал
  • Събуждане и предаване на пакети за <2ms
  • Консумация на енергия в режим на готовност <1.0mW (DTIM3)

Описание на щифта, както е показано на изображение i34.

За свързване на ESP модул с Arduino UNO се нуждаем от Lm1117 3.3 регулатор на напрежение или друг регулатор, тъй като Arduino не може да осигури 3.3 v към ESP8266.

Забележка:- Докато качвате кода, натиснете бутона за светкавица и след това натиснете бутона за нулиране веднъж и след това освободете бутона за светкавица, както е показано на изображение i29.

За свързване на DHT11 сензор и реле използваме два GPIO пина на модул ESP8266. След като качите кода, можете да изключите контактите RX, TX, GPIO0. Използвал съм GPIO0 за сензор DHT11 и GPIO2 за релета. Сензорът DHT11 работи добре с ESP8266, но за релета се нуждаем от едно допълнително нещо, т.е. опто изолатор или опто разклонител. Вижте изображение i30, i31, i32 и i33.

Стъпка 5: Връзки

ESP8266 ===> DHT11GPIO0 ===> Изходен извод

ESP8266 ===> RelayGPIO2 ===> Вход

ARDUINO ===> ESP8266

Gnd ===> GndTX ===> TX

RX ===> RX

Бутон за нулиране ===> RST

Бутон за флаш ===> GPIO0

Стъпка 6: Проверка на всички неща

Проверка на всички неща
Проверка на всички неща
Проверка на всички неща
Проверка на всички неща
Проверка на всички неща
Проверка на всички неща
Проверка на всички неща
Проверка на всички неща

Успешно създадохме нашето приложение, умения и хардуерът ни е готов. И така, време е за проверка.

За това вашият ESP8266 е включен, защото нашият сървър работи на ESP8266. Тук не съм свързал никакъв сензор към ESP8266, просто проверявам дали работи или не, но можете да свържете сензор, реле към ESP8266. След като бъде свързан с Heroku, ще видите свързан. За тестване отидете на уменията на Amazon, които сте създали, след което кликнете върху тестовата страница. След като се провери дали работи, ще свържа сензора си към ESP8266. Можете да видите резултатите, както е показано на изображения i35, i36, 37, 38, 39, 40.

Ако го използвате без свързване на ESP8266, получавате тази грешка, както е показано на изображението i41.

Неизвестност, която можете да използвате

задайте задействането на превключвателя на {Numbers} процента {tmp_scale}

напр.:- настройте спусъка на превключвателя на 50 процента влажност

{query} е състоянието на превключване

ex-on/off е състоянието на превключвателя

{Switch_State} задействащ превключвател

спусък за включване/изключване

задайте спусъка на превключвателя на {Numbers} степен {tmp_scale}

ex - задайте спусъка на превключвателя на 76 градуса по Фаренхайт

ex - задайте спусъка на превключвателя на 24 градуса по Целзий

превключвател за превключване {Switch_State}

екс - включете/изключете превключвателя

Вижте изображения от i41 до i46 за резултати.

Докато говорите с AlexaAlexa, помолете arduino да включи/изключи спусъка

Алекса, помоли arduino да настрои спусъка на превключвателя на 24 градуса по Целзий.

Алекса, помоли arduino да настрои спусъка на превключвателя на 50 процента влажност

Алекса, помоли arduino да включи/изключи превключвателя

Стъпка 7: Диаграма на VUI (гласов потребителски интерфейс)

Диаграма VUI (гласов потребителски интерфейс)
Диаграма VUI (гласов потребителски интерфейс)

Стъпка 8: Демо

Image
Image

1. Настройте спусъка за температура и влажност.

2. Задайте спусъка на 20 градуса по Целзий.

3. Настройте спусъка на 80 процента влажност.

Стъпка 9: Схеми

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