- Предварителни условия:
- Работна концепция:
- IDE програма Arduino за ESP8266:
- Електрическа схема и хардуер:
- Пренасочване на порт на вашия ESP8266 IP:
- Инсталиране на приложението Moni Android:
- Създаване на аплети с помощта на услугата IFTTT:
- Тестване на проект:
Добре дошли в друг вълнуващ проект, в който ще изградим система за гласова автоматизирана система за домашна автоматизация, използваща Wi-Fi модул ESP8266, където можете да управлявате домашните си уреди за променлив ток с помощта на гласа си чрез приложение за Android от всяка точка на света. Да, мечтата ви да накарате вашите товари (Светлина / Вентилатори) да се ВКЛЮЧВАТ или ИЗКЛЮЧВАТ само чрез гласова команда ще се сбъдне в края на този проект. Този проект е вариацията на нашия предишен проект Smart Junction Box за домашна автоматизация, където сме контролирали домашните уреди с помощта на уеб сървър по мрежата.
Този базиран на IOT проект за гласова автоматизирана домашна автоматизация е изключително лесен за изграждане и не ви струва много, тъй като не изисква да купувате скъпи гласови модули. Целият проект ми отне около 500INR (8 USD), за да го изградя. Също така това е проект, независим от микроконтролер, което означава, че не се нуждаете от MCU / MP като Arduino или Raspberry pi. Целият проект работи на модула ESP8266. Научете повече за ESP8266 тук. И така, нека започнем да говорим….
По-рано обхващахме много видове домашни автоматизации, използвайки различни технологии като:
- DTMF базирана домашна автоматизация
- GSM базирана домашна автоматизация, използваща Arduino
- Компютърна автоматизирана домашна автоматизация с помощта на Arduino
- Контролирана от Bluetooth автоматизация на дома чрез 8051
- IR дистанционно управлявана домашна автоматизация, използваща Arduino
- проект за автоматизация на дома с използване на MATLAB и Arduino
- RF дистанционно управлявани светодиоди, използващи Raspberry Pi
- Автоматизация на дома, контролирана от Smart Phone с помощта на Arduino
Предварителни условия:
Този проект е продължение на нашия предишен проект Smart Junction Box за домашна автоматизация, използващ ESP8266, така че по-голямата част от хардуерната част вече е обхваната в този урок. Моля, прочетете го, преди да продължите с този, тъй като ще пропусна информацията, описана в този урок. За да дадем малко резюме на нашия предишен проект, ние модифицирахме кутия за свързване (Extension Board) в този урок, който може да консолира Perf платка, състояща се от две релета и модула ESP8266. Двете релета (AC натоварвания) могат да се превключват чрез използване на уеб страница, създадена от ESP8266 (като действа като уеб сървър). В този урок просто ще добавя някои функции към него, за да можем също така да контролираме натоварванията с променлив ток, като използваме гласовата команда чрез Smart Phone.Няма да покрием никоя част от хардуера в този урок, хардуерът и кодът ще останат същите като този на предишния урок.
Също така знанието как да използвате www.IFTTT.com ще ви даде надмощие в този проект. Ако не сте запознати с IFTTT, не се притеснявайте, ще ви обясня как да го използвате за този конкретен урок, за да можете да го накарате да работи.
Работна концепция:
Предполагам, че сте прочели предишния урок, в този случай сега трябва да знаете как да изградите тази кутия за свързване и как да превключвате натоварванията отдалечено от вашия уеб браузър. За да направим това възможно, направихме публично достъпен нашия IP адрес, разпределен на ESP8266. Това може да се направи с „Техника за препращане на портове“. След това инсталирайте мобилно приложение, наречено „Moni“, на вашето мобилно устройство Android / IPhone. Това приложение ще разпознае нашата реч и ще предаде информацията на IFTT аплетите, които от своя страна ще контролират натоварванията чрез Maker Web hooks.
Може да звучи малко досадно, но всички тези неща са обяснени ясно в този урок и повярвайте ми с няколко щраквания всичко горепосочено може да бъде направено. Този урок ще ви помогне по възможно най-добрия начин с помощта на Снимки и видеоклипове. В края на този урок ще можете да включвате или изключвате домашните си уреди чрез гласа си от всяка точка на света. Проверете пълния код и демонстрационния видеоклип в края на урока.
Също така проверете гласово контролирани светлини, използвайки Raspberry Pi и гласово писане на 16x2 LCD.
IDE програма Arduino за ESP8266:
Точно както в предишния проект, ние ще програмираме нашия модул ESP8266 с помощта на IDE на Arduino. В програмата е направена малка модификация. Тази модификация е направена така, че вашият ESP8266 да се свързва с постоянен IP адрес всеки път, когато установи връзка с рутера. Програмата е абсолютно същата като предишния код, с изключение на тези четири реда
// Вземете постоянен IP всеки път IPAddress ip (192, 168, 0, 104); // Това трябва да е IP-адресът на моя ESP модул IPAddress шлюз (192, 168, 0, 1); // задайте шлюз, за да съответства на вашата мрежа, повечето шлюз ще бъде същият по подразбиране Serial.print (F ("Задаване на статичен ip на:")); Serial.println (ip); IPAddress подмрежа (255, 255, 255, 0); // задаване на маска на подмрежата, за да съответства на вашата мрежа WiFi.config (ip, шлюз, подмрежа);
Тук, на мястото на IPAddress ip (192, 168, 0, 104); въведете желания от вас IP адрес. В този случай моят ESP ще бъде свързан през цялото време с 192.168.0.104 и мога просто да осъществя достъп до него, като използвам този IP в моя браузър. Пълният код, даден в края на този урок.
Електрическа схема и хардуер:
Схеми и хардуер за този базиран на IoT гласов контрол на домакински уреди са същите като нашия предишен проект Smart Junction и обясних схемата там, така че любезно го прегледайте. Тук можете да видите пълната схема за справка:
Пренасочване на порт на вашия ESP8266 IP:
Първата стъпка е да активирате пренасочването на портове във вашия рутер (модем), така че да имате достъп до вашия ESP от всяка точка на света, само като въведете публичния си IP. Всеки път, когато нашият ESP8266 се свърже с нашия домашен / офис рутер, той ще получи уникален IP адрес и този IP адрес се използва за достъп до ESP8266 чрез уеб браузър. Този IP адрес е ограничен във вашата домашна / офис мрежа, което означава, че нямате достъп до него глобално; той може да бъде достъпен само от устройства, които са свързани към вашия рутер. Пренасочването на портове е техниката, чрез която можем да накараме тази уеб страница да се зареди глобално. След пренасочването на портове можете да използвате публичния си IP за достъп до тази уеб страница от всяка точка на света. Звучи яко готино !! Нека видим как можем да направим това. За целта предварително знаете следното.
1. Името на производителя и IP адресът на вашия рутер. Това може лесно да се намери, като се погледне рутера. IP адресът също ще бъде споменат на стикер. Ако не Google да знае IP адреса на вашите рутери.
2. Потребителското име и паролата на страницата за вход на вашите рутери. Повечето рутери ще имат потребителско име като „admin“ и парола като „admin“.
3. IP адресът, присвоен на вашия ESP8266 модул. Това е адресът, който използвате за достъп до уеб страницата на модула ESP.
4. IP адресът на вашия доставчик на интернет услуги (публичен IP адрес). Това може да се намери чрез просто издирване „какъв е моят IP“.
След като имате всичко в ръка, можете да следвате стъпките по-долу за пренасочване на портове, ако сте закъсали да намерите нещо, използвайте раздела за коментари по-долу. Ще ти помогна.
Стъпка 1: Влезте в страницата на вашата помощна програма за управление на уеб, като използвате IP адреса на вашия рутер, обикновено това е 192.168.1.1. Екранът ми ще изглежда така по-долу
Стъпка 2: Въведете потребителското име „admin“ по подразбиране и паролата „admin“ по подразбиране и кликнете върху Login. Ще бъдете отведени до страницата на помощната програма, която ще изглежда по следния начин.
Повечето от информацията, която виждате тук, са много поверителни, следователно не ги споделяйте с други неизвестни, които може да рискувате да защитите интернет.
Стъпка 3: Както е показано по-горе, страницата ви ще има всички опции, изброени вляво отдолу. Нашата цел е да намерим нещо с име „Виртуални сървъри“. Моят има в списъка под опцията Препращане. Повечето рутери ще ги изброят като 6, 7 или 8 -ма опция (най-вече под настройката на DHCP). Намерете го и кликнете върху него
Стъпка 4: Сега трябва да въведете IP адреса, определен за модула ESP, и номера на порта, за да препратите нашия IP. В моя случай трябва да щракна върху Добавяне на нов и да въведа тези подробности. Може да е малко по-различно за вас. IP адресът е този, който използвате за достъп до уеб страницата на вашия ESP модул. Номерът на порта може да бъде по ваш избор, но нека използваме „80“ за улеснение. IP, разпределен на моя модул ESP8266, е 192.168.0.104 и следователно моето препращане ще изглежда по-долу:
Стъпка 5: Сега трябва да знаем публичния си IP адрес. Можете да намерите това моето Goggling за „What is my IP“. Вашият ISP IP трябва да се пази в строга поверителност. За целите на този урок нека приемем, че IP адресът ми е 987: 654: 321: 123 Ще използвам това като IP адрес на ISP през останалата част от урока.
Забележка: Вие ISP може да сте предоставили статичен / динамичен IP, ако това е динамичен IP, вашият IP ще се променя при всяко рестартиране на модем / рутер. В този случай трябва да използвате нещо като DynDNS. Но това е извън обхвата на този урок. Дори да е динамичен IP, той ще работи за вас, стига да не нулирате рутера си.
Това е, че нашето пренасочване на портове е успешно, можем да проверим, че чрез въвеждане на ISP IP: име на порт (987: 654: 321: 123: 80) в нашия браузър и да проверим дали ESP уеб страницата се зарежда. Ако всичко върви според очакванията, сега можете да превключвате зарежданията от всяка точка на света, като използвате вашия IP адрес на ISP.
Инсталиране на приложението Moni Android:
Moni е приложение, което е достъпно за Android, Windows, iTunes и дори Skype. Можете да изтеглите това приложение на мобилния си телефон. Moni.ai има много повече възможности, освен просто да отговаря на вашите гласови команди, той е много удобен за разработчици и можете бързо да дефинирате разговорите визуално и да се свържете с услуги. Moni.ai използва приложение, наречено Node-Red, с помощта на което можете лесно да създадете гласов канал и да изградите своя собствена система Chabot (AI) за вашия бизнес / проекти и да го автоматизирате с вашия естествен език. Най-хубавото е, че Moni е напълно безплатна за нетърговска употреба.
Използвам телефон с Android и затова директно изтеглям Moni от Google play store. След инсталирането създайте своя безплатен акаунт и влезте в него, приложението ви трябва да изглежда по следния начин:
Можете да използвате това като всеки друг виртуален асистент, като например да поискате време, време и т.н. Но допълнителното е, че той може да реагира на вашите аплети, създадени от вашата услуга Ifttt. Нека да видим как да създадем аплети за вашето приложение сега.
Създаване на аплети с помощта на услугата IFTTT:
На една крачка сме от завършването на този проект. Последната стъпка е да създадете аплетите в уебсайта на IFTTT. Тук инструктираме нашия Moni за различни гласови команди за управление на различни домакински уреди у дома.
Използвам тази гласово контролирана кутия за свързване, за да превключвам натоварванията в аквариума (светлина / филтър), както е показано във видеото по-долу. Следователно аз персонализирам аплета за това изискване, можете да го персонализирате за вашата цел. Следвайте стъпките по-долу:
Стъпка 1: Посетете www.IFTTT.com и влезте със своя акаунт. Ако е ново, регистрирайте се.
Стъпка 2: Сега кликнете върху „Търсене“ и въведете Make Webhooks. Изберете го и кликнете върху „Свързване“. Следвайте стъпките, за да се свържете с него.
Стъпка 3: Сега отново кликнете върху „Търсене“ и въведете Moni. Изберете Moni и кликнете върху „Connect“. Влезте в профила си в IFTTT, за да активирате връзката.
Стъпка 4: Свързахме се с услугите „Maker Webhooks“ и „Moni“. Сега ви позволете да създадете аплет с тези услуги. Кликнете върху Моите аплети и след това върху „Нов аплет“. Трябва да видите нещо подобно:
В този екран трябва да кликнете върху „това“ и да изберете „Мони“. След това кликнете върху „Помолете Мони да извърши действие“, ще бъдете отведени на екрана по-долу.
Стъпка 5: Попълнете данните, както попълних горното изображение. Тук моята задача е да включа моите аквариумни светлини (Зареждане 1), когато кажа „Включете аквариумните светлини“. След това кликнете върху „Създаване на задействане“
Стъпка 6: Ще бъдете върнати на екрана „АКО ТОВА ОТ ТОВА“. Сега кликнете върху „това“ и въведете „Maker Webhooks“ и го изберете. След това кликнете върху „Направете уеб заявка“. Ще бъдете отведени до долния екран
Това е важна стъпка, при която най-вероятно ще допуснете грешки. На тази страница просто въведете URL адреса, който искате да заредите. В моя случай искам да включа товара, свързан към switch1, следователно се използва линията http: // 987: 654: 321: 123 / switch1On, трябва да замените моя IP с вашия публичен IP адрес. Това ще работи само ако сте използвали моя код в предишния урок. Пълният списък с URL адреси за превключване на натоварванията е даден по-долу.
URL |
Ключова дума от Програма |
Действие |
http: // 987: 654: 321: 123 / switch1 Вкл |
Switch1On |
GPIO_0 се прави високо, като по този начин се включва товар 1 |
http: // 987: 654: 321: 123 / switch1 Изкл |
Switch1Off |
GPIO_0 се прави ниско, като по този начин се изключва товар 1 |
http: // 987: 654: 321: 123 / switch2Включено |
Switch2On |
GPIO_2 се прави високо, като по този начин се включва товар 2 |
http: // 987: 654: 321: 123 / switch2 Изкл |
Switch2Off |
GPIO_2 се намалява, като по този начин се изключва товар 1 |
След като въведете желания URL, щракнете върху „Създаване на действие“. След това кликнете върху Finish. По същия начин можете да създадете 4 аплета за включване / изключване на двата товара в нашата кутия за свързване.
Това е, че вашият аплет е готов за действие и той трябва да се появи в „Моите аплети“, както е показано по-долу.
Време е да тестваме нашия код…….
Тестване на проект:
Накрая сме готови с нашия проект. Нека го тестваме. Включете го и отворете приложението Moni в мобилния си телефон. Щракнете върху иконата на микрофон и произнесете командата. В моя случай това е „Включете светлините на аквариума“ и трябва да отговорите с „ОК“ и да включите осветлението. Проверете пълния код и демо видео по-долу.
Надявам се, че проектът ви е харесал и сте го заработили. Ако сте останали някъде, използвайте раздела за коментари по-долу и със сигурност ще ви помогна. Ще ви срещнем с друг интересен проект дотогава останете на линия.
Проверете тук и другите ни базирани на IoT проекти.