Съдържание:
- Стъпка 1: Свързване на Heroku с GitHub
- Стъпка 2: Amazon
- Стъпка 3: Arduino
- Стъпка 4: Описание на компонента
- Стъпка 5: Връзки
- Стъпка 6: Проверка на всички неща
- Стъпка 7: Диаграма на VUI (гласов потребителски интерфейс)
- Стъпка 8: Демо
- Стъпка 9: Схеми
Видео: Гласово контролиран превключвател, използващ Alexa и Arduino: 10 стъпки (със снимки)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:52
Основната цел на този проект е да използва температурен сензор за управление на превключвателя (релето) за включване или изключване на устройството.
Списък на материалите
- 12V релеен модул ==> $ 4.2
- Arduino uno ==> $ 8
- DHT11 температурен сензор ==> $ 3
- Модул ESP8266 ==> $ 4,74
- Оптрон N26 ==> 0,60 $
- LM1117 регулатор на напрежението ==> $ 0,60
- Платформа ==> $ 2.2
- Кабелни проводници ==> 2,5 $
- Натиснете бутона ==> $ 2.5
Общата стойност на проекта е около 30 долара. Този проект е разделен на три части. Първо, използваме heroku за създаване на приложение. Второ, изграждаме умение на Amazon Alexa, за да реализираме работата си (Най -важната част). Трето, ние настройваме нашия хардуер и го програмираме с помощта на Arduino IDE.
Стъпка 1: Свързване на Heroku с GitHub
Heroku е облачна платформа като услуга (PaaS), поддържаща няколко езика за програмиране, която се използва като модел за внедряване на уеб приложение. Първо, отидете на сайта heroku създайте нов акаунт или влезте там. Връзката е дадена по -долу
Уебсайт Heroku
Нека започнем със създаването на ново приложение. Дадох името на приложението си „iottempswitch“, когато разгръщате приложението, се генерира връзка.
След като приложението е направено, отидете на GitHub. GitHub/
Влезте там или се регистрирайте, ако нямате акаунт. След като влезете, създайте ново хранилище. Дайте всяко име, което искате да изберете, и след това натиснете създаване на хранилище. На следващата страница щракнете върху README, на тази страница дайте описание, което искате да споделите с другите. След това кликнете върху записване на нов файл. След това кликнете върху бутона за качване.
Има две опции или да плъзнете и пуснете папка или да изберете файл. Изтеглете необходимите файлове отдолу. След като изберете файлове, натиснете коммитиране на промени. Отворете приложението, което сте създали в Heroku, след което отидете на раздела за разполагане. След това щракнете върху GitHub. Give име на хранилището, което сте създали от страна на GitHub. В моя случай това е Smart-Relay. Копирайте го и го поставете тук. След като връзката ви се покаже, кликнете върху свързване. След това кликнете върху разгръщането на клона (ръчно). След разгръщането можете да видите връзка в дневника за изграждане или да видите връзка в настройките. Тази връзка се нуждаем по -късно, когато правим Amazon умения.
Стъпка 2: 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 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 (гласов потребителски интерфейс)
Стъпка 8: Демо
1. Настройте спусъка за температура и влажност.
2. Задайте спусъка на 20 градуса по Целзий.
3. Настройте спусъка на 80 процента влажност.
Стъпка 9: Схеми
Препоръчано:
Гласово контролиран R2D2 вдъхновен дроид, използващ Blynk и Ifttt: 6 стъпки
Гласово контролиран R2D2 вдъхновен дроид, използващ Blynk и Ifttt: Гледайки Междузвездни войни, много от нас са вдъхновени от героите на роботи, особено модела R2D2. Не знам за другите, но просто обичам този робот. Тъй като съм любител на роботите, реших да създам свой собствен дроид R2D2 в това заключване, като използвам blynk Io
Контролиран превключвател на светлината с мигане на очите с помощта на очила за гума на Shota Aizawa (My Hero Academia): 8 стъпки (със снимки)
Контролирано превключване на светлината с мигащи очи с помощта на очила за изтриване на Shota Aizawa (My Hero Academia): Ако четете моята манга от героите на академията или гледате анимето на моята академия от герои, трябва да знаете персонаж на име shota aizawa. Шота Айзава, известна още като гумата на гумата, е професионален герой и учител по домашните стаи на клас 1-А на САЩ. Странността на Шота му дава аб
Робот с контролиран Wi-Fi, използващ Wemos D1 ESP8266, Arduino IDE и Blynk App: 11 стъпки (със снимки)
Робот с контролиран Wi-Fi с помощта на Wemos D1 ESP8266, Arduino IDE и приложението Blynk: В този урок ще ви покажа как да направите роботизиран резервоар с Wi-Fi управление, управляван от смартфон с помощта на приложението Blynk. В този проект е използвана платка ESP8266 Wemos D1, но могат да се използват и други модели плочи (NodeMCU, Firebeetle и др.), А pr
Робот с гласово управление, използващ микроконтролер 8051: 4 стъпки (със снимки)
Робот с гласов контрол, използващ микроконтролер 8051: Роботът с гласов контрол приема определена команда под формата на глас. Каквато и да е командата, подадена чрез гласов модул или Bluetooth модул, тя се декодира от съществуващия контролер и следователно дадената команда се изпълнява. Тук, в този проект, аз
Гласово активиран релеен превключвател (Arduino): 6 стъпки (със снимки)
Гласово активиран релеен превключвател (Arduino): Здравейте на всички! В този проект ще ви покажа как да прилагате гласови команди за вашите проекти на Arduino. Използвайки гласови команди, ще ви покажа как да управлявате модул за релеен превключвател