- Передумови:
- Робоча концепція:
- Програма IDE Arduino для ESP8266:
- Схема та апаратне забезпечення:
- Переадресація портів на ваш ESP8266 IP:
- Встановлення програми Moni для Android:
- Створення аплетів за допомогою служби IFTTT:
- Тестування проекту:
Ласкаво просимо до чергового захоплюючого проекту, в рамках якого ми створимо систему голосової автоматизованої домашньої автоматизації за допомогою модуля Wi-Fi ESP8266, де ви зможете керувати своїми домашніми приладами змінного струму за допомогою голосу за допомогою програми Android з будь-якої точки світу. Так, ваша мрія зробити свої навантаження (Світло / Вентилятори) УВІМКНУТИ або ВИМКНУТИ простими голосовими командами здійсниться в кінці цього проекту. Цей проект є різновидом нашого попереднього проекту Smart Junction Box для домашньої автоматизації, де ми контролювали побутову техніку за допомогою веб-сервера через мережу.
Цей проект голосової контрольованої домашньої автоматизації, що базується на IOT, надзвичайно простий у побудові і не коштує вам дорого, оскільки не вимагає придбання дорогих голосових модулів. Весь проект зайняв для мене близько 500ІНР (8 доларів США). Крім того, це незалежний від мікроконтролера проект, тобто вам не потрібен ніякий MCU / MP, такий як Arduino або Raspberry pi. Весь проект працює на модулі ESP8266. Дізнайтеся більше про ESP8266 тут. Отже, почнемо розмову….
Раніше ми розглядали багато типів систем домашньої автоматизації з використанням різних технологій, таких як:
- Домашня автоматизація на основі DTMF
- Домашня автоматизація на базі GSM за допомогою Arduino
- Автоматизація будинку за допомогою ПК за допомогою Arduino
- Автоматизація будинку, керована Bluetooth, за допомогою 8051
- ІЧ-дистанційне керування домашньою автоматизацією за допомогою Arduino
- проект домашньої автоматизації з використанням MATLAB та Arduino
- Радіочастотні світлодіоди з дистанційним управлінням за допомогою Raspberry Pi
- Автоматизація дому за допомогою смарт-телефону за допомогою Arduino
Передумови:
Цей проект є продовженням нашого попереднього проекту Smart Junction Box for Home Automation з використанням ESP8266, тому більша частина апаратної частини вже висвітлена в цьому посібнику. Будь ласка, прочитайте це, перш ніж продовжувати з цим, оскільки я пропущу інформацію, викладену в цьому підручнику. Щоб зробити невеликий підсумок нашого попереднього проекту, ми модифікували розподільну коробку (плату розширення) у цьому підручнику, яка могла втілити плату Perf, що складається з двох реле та модуля ESP8266. Два реле (навантаження змінного струму) можна переключити за допомогою веб-сторінки, створеної ESP8266 (діючи як веб-сервер). У цьому підручнику я просто збираюся додати до нього деякі функції, щоб ми могли також контролювати навантаження змінного струму за допомогою голосової команди за допомогою смартфона.Ми не будемо охоплювати жодну частину апаратного забезпечення в цьому підручнику, апаратне забезпечення та код залишатимуться такими ж, як у попередньому навчальному посібнику.
Також знання того, як користуватися www.IFTTT.com, дасть вам перевагу в цьому проекті. Якщо ви не знайомі з IFTTT, не хвилюйтеся, я поясни, як використовувати його для цього конкретного підручника, щоб ви могли змусити його працювати.
Робоча концепція:
Я припускаю, що ви вже прочитали попередній підручник, і в цьому випадку тепер ви повинні знати, як побудувати цю розподільну коробку та як віддалено перемикати навантаження з вашого веб-браузера. Щоб зробити це можливим, ми зробили публічно доступною нашу IP-адресу, призначену для ESP8266. Це можна зробити за допомогою «техніки переадресації портів». Потім встановіть мобільний додаток під назвою “Moni” на вашому мобільному пристрої Android / IPhone. Ця програма розпізнає нашу мову та передасть інформацію до аплетів IFTT, які, в свою чергу, будуть контролювати завантаження через веб-гачки Maker.
Це може здатися дещо нудним, але всі ці речі були чітко пояснені в цьому підручнику, і повірте мені, натиснувши кілька кліків, все вищезазначене можна зробити. Цей підручник допоможе вам якнайкраще за допомогою картинок та відео. Наприкінці цього підручника ви зможете включати чи вимикати свою побутову техніку за допомогою голосу з будь-якої точки світу. Перевірте повний код та демонстраційне відео в кінці підручника.
Також перевірте контрольовані голосом підсвічування за допомогою Raspberry Pi та голосового набору тексту на РК-дисплеї 16x2.
Програма IDE Arduino для ESP8266:
Як і в попередньому проекті, ми збираємося програмувати наш модуль ESP8266 за допомогою IDE Arduino. У програму внесено невеликі зміни. Ця модифікація зроблена таким чином, що ваш ESP8266 підключається до постійної IP-адреси кожного разу, коли встановлює зв’язок з маршрутизатором. Програма точно така ж, як і попередній код, за винятком цих чотирьох рядків
// Отримуємо постійний IP щоразу IPAddress ip (192, 168, 0, 104); // Це повинен бути IP мого шлюзу IPAddress мого модуля ESP (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 у своєму браузері. Повний код, наведений в кінці цього підручника.
Схема та апаратне забезпечення:
Схеми та обладнання для цієї побутової техніки, керованої Інтернетом речей, є такими ж, як і в попередньому проекті Smart Junction, і я пояснив схему там, так ласкаво пройдіть її. Тут ви можете переглянути повну схему для довідки:
Переадресація портів на ваш ESP8266 IP:
Першим кроком є увімкнення переадресації портів у вашому маршрутизаторі (модемі), щоб ви могли отримати доступ до свого ESP з будь-якої точки світу, просто ввівши ваш загальнодоступний IP. Щоразу, коли наш ESP8266 підключається до нашого домашнього / офісного маршрутизатора, він отримує унікальну IP-адресу, і ця IP-адреса використовується для доступу до ESP8266 через веб-браузер. Ця IP-адреса обмежена у вашій домашній / офісній мережі, тобто ви не можете отримати до неї доступ глобально; доступ до нього можуть мати лише пристрої, підключені до вашого маршрутизатора. Переадресація портів - це техніка, за допомогою якої ми можемо зробити глобальну завантаження цієї веб-сторінки. Після переадресації портів ви можете використовувати свій загальнодоступний IP для доступу до цієї веб-сторінки з будь-якої точки світу. Звучить круто правильно !! Давайте подивимося, як ми можемо це зробити. Для цього ви заздалегідь знаєте наступне.
1. Назва виробника та IP-адреса вашого маршрутизатора. Це можна легко знайти, подивившись на маршрутизатор. IP-адреса також буде вказана на наклейці. Якщо не Google знатиме ваш IP маршрутизатора.
2. Ім'я користувача та пароль сторінки входу ваших маршрутизаторів. Більшість маршрутизаторів матимуть ім'я користувача як "адміністратор", а пароль - як "адміністратор".
3. IP-адреса, призначена вашому модулю ESP8266. Це адреса, яку ви використовуєте для доступу до веб-сторінки модуля ESP.
4. IP-адреса вашого Інтернет-провайдера (загальнодоступна IP-адреса). Це можна знайти, просто перешукавши “що таке моя IP”.
Отримавши все в руках, ви можете виконати наведені нижче кроки для переадресації портів, якщо ви застрягли в пошуку чогось, скористайтеся розділом коментарів нижче. Я допоможу тобі.
Крок 1: Увійдіть на сторінку утиліти веб-управління маршрутизаторами, використовуючи IP-адресу маршрутизатора, як правило, це 192.168.1.1. Мій екран буде виглядати так нижче
Крок 2: Введіть ім'я користувача "адміністратор" за замовчуванням та пароль "адміністратор" за замовчуванням та натисніть "Вхід". Ви потрапите на сторінку утиліти, яка буде виглядати приблизно так нижче.
Більшість інформації, яку ви бачите тут, є дуже конфіденційною, отже, не діліться ними з невідомими, інакше ви можете загрожувати безпеці Інтернету.
Крок 3: Як показано вище, на вашій сторінці будуть усі опції, перелічені внизу ліворуч. Наша мета - знайти щось під назвою «Віртуальні сервери». У мене є перерахована опція Пересилання. Для більшості маршрутизаторів вони будуть вказані як 6, 7 або 8- й варіант (переважно нижче налаштування DHCP). Знайдіть і натисніть на нього
Крок 4: Тепер вам потрібно ввести IP-адресу, призначену модулю ESP, та номер порту для пересилання нашого IP. У моєму випадку я повинен натиснути Додати новий і ввести ці дані. Для вас це може дещо відрізнятися. IP-адреса - це та, яку ви використовуєте для доступу до веб-сторінки вашого модуля ESP. Номер порту може бути за вашим вибором, але давайте використовувати "80" для простоти. IP-адреса, призначений моєму модулю ESP8266, становить 192.168.0.104, а отже, моя переадресація буде виглядати нижче:
Крок 5: Тепер ми повинні знати нашу загальнодоступну IP-адресу. Ви можете знайти це моє окуляри для "Що таке моя IP". Ваша IP-адреса провайдера повинна зберігатись у високій таємниці. Для цього підручника припустимо, що моєю IP-адресою є 987: 654: 321: 123, я буду використовувати це як свій IP-провайдер для решти уроків.
Примітка. Ви, постачальник послуг Інтернету, могли надати вам статичний / динамічний IP, якщо це динамічний IP, ваш IP буде змінюватися при кожному перезапуску модему / маршрутизатора. У такому випадку вам доведеться використовувати щось на зразок DynDNS. Але це поза рамками цього посібника. Навіть якщо це динамічний IP, він буде працювати для вас, доки ви не скинете маршрутизатор.
Тобто наша переадресація портів успішна, ми можемо перевірити, ввівши IP-адресу ISP: ім’я порту (987: 654: 321: 123: 80) у наш браузер і перевірити, чи завантажується веб-сторінка ESP. Якщо все піде належним чином, тепер ви зможете перемикати завантаження з будь-якої точки світу, використовуючи свою IP-адресу провайдера.
Встановлення програми 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: Тепер натисніть «Пошук» і введіть «Зробити веб-хуки». Виберіть його та натисніть на “Connect”. Виконайте кроки, щоб підключитися до нього.
Крок 3: Тепер знову натисніть «Пошук» і введіть Моні. Виберіть Моні та натисніть «Підключитися». Увійдіть у свій обліковий запис IFTTT, щоб увімкнути підключення.
Крок 4: Ми підключились до служб “Maker Webhooks” та “Moni”. Тепер дозвольте вам створити аплет з цими послугами. Клацніть на Мої аплети, а потім “Новий аплет”. Ви повинні побачити щось подібне:
На цьому екрані ви повинні натиснути на "це" і вибрати "Моні". Потім натисніть «Попроси Моні виконати дію», і ви потрапите на екран нижче.
Крок 5: Заповніть деталі, як я заповнив зображення вище. Тут моє завдання - увімкнути моє освітлення в акваріумі (навантаження 1), коли я кажу «Увімкнути вогні в акваріумі». Потім натисніть "Створити тригер"
Крок 6: Ви повернетесь на екран “IF THIS THAN THAT”. Тепер натисніть на "те" і введіть "Maker Webhooks" і виберіть його. Потім натисніть «Зробити веб-запит». Ви потрапите на екран нижче
Це важливий крок, коли ви, найімовірніше, зробите помилки. На цій сторінці просто введіть URL-адресу, яку потрібно завантажити. У моєму випадку я хочу ввімкнути навантаження, підключену до switch1, отже, використовується рядок http: // 987: 654: 321: 123 / switch1On, коли вам потрібно замінити мій IP на вашу загальнодоступну IP-адресу. Це буде працювати, лише якщо ви використовували мій код у попередньому підручнику. Повний список URL-адрес для перемикання навантажень наведено нижче.
URL |
Ключове слово від програми |
Дія |
http: // 987: 654: 321: 123 / switch1On |
Switch1On |
GPIO_0 робиться високим, таким чином, вмикається навантаження 1 |
http: // 987: 654: 321: 123 / switch1 Вимк |
Switch1Off |
GPIO_0 робиться низьким, тим самим вимикаючи навантаження 1 |
http: // 987: 654: 321: 123 / switch2On |
Switch2On |
GPIO_2 робиться високим, таким чином, вмикається навантаження 2 |
http: // 987: 654: 321: 123 / switch2Off |
Switch2Off |
GPIO_2 робиться низьким, таким чином вимикаючи навантаження 1 |
Після введення потрібної URL-адреси натисніть кнопку «Створити дію». Потім натисніть кнопку Готово. Подібним чином ви можете створити 4 аплети для ввімкнення / вимкнення обох навантажень у нашій розподільній коробці.
Тобто ви, ваш аплет, готовий до дії, і він повинен з’явитися в розділі «Мої аплети», як показано нижче.
Час протестувати наш код…….
Тестування проекту:
Нарешті, ми готові до нашого проекту. Давайте перевіримо. Увімкніть його та відкрийте програму Moni у своєму мобільному телефоні. Клацніть на піктограму мікрофона і вимовіть команду. У моєму випадку це “Увімкніть освітлення акваріума”, і воно має відповісти “ОК” і увімкнути світло. Перевірте повний код та демонстраційне відео нижче.
Сподіваюся, вам сподобався проект і він запрацював. Якщо ви десь застрягли, скористайтеся розділом коментарів нижче, і я обов’язково вам допоможу. Зустрінемо вас з іншим цікавим проектом, до тих пір залишайтеся з нами.
Тут також перегляньте інші наші проекти на основі Інтернету речей.