- Прекрасний матеріал:
- Частина 1: Налаштування Raspberry Pi за допомогою SSH та VNC
- Частина 2. Налаштування облікового запису розробника Amazon та налаштування голосових служб Alexa на Raspberry Pi:
- Частина 3: Налаштування PubNub та IFTTT для домашньої автоматизації Alexa Pi :
- Частина 3-2: Налаштування IFTTT для служби Amazon Alexa:
- Частина 4: Апаратні підключення та принципова схема:
- Частина 5: Код Python для управління світлом:
Ви коли-небудь замислювалися про динамік, яким можна керувати за допомогою вашого голосу !!! Що робити, якщо ми можемо таким чином контролювати свою побутову техніку та робити її розумнішою? Голосові помічники стають все більш популярними, оскільки ми рухаємося до ери систем на основі ШІ та Інтернету речей. Ви чули про Google Assistant, Apple Siri та Amazon Alexa . Це все голосові системи штучного інтелекту, чим вони відрізняються одна від одної - це їх екосистеми, і саме тут Amazon Alexa виділяється найбільше. Google, Apple та Amazon, усі ці компанії вже випустили свої розумні колонки, але Amazon першими представила їх. Amazon echo, Echo Dot Spot тощо - це розумні колонки, які доступні на ринку.
Amazon надає API для використання своєї дуже популярної голосової служби Alexa. Він відкритий і доступний на Github. Далі ви можете встановити або інтегрувати Alexa на власні пристрої, такі як Raspberry Pi, і отримати повну функціональність Amazon Echo на цьому пристрої.
За допомогою голосової служби Alexa ми можемо відтворювати музику, отримувати інформацію про погоду, бронювати квитки та багато іншого. Все, що вам потрібно зробити, це запитати. У попередньому підручнику ми контролювали Raspberry Pi GPIO за допомогою Amazon Alexa. У цьому підручнику давайте подивимося, як створити систему голосової автоматизованої домашньої автоматизації за допомогою Amazon Alexa та Raspberry Pi. Ми побачимо, як ми можемо використовувати Raspberry Pi для запуску голосової служби Alexa та управління лампочкою.
Прекрасний матеріал:
Вимоги до обладнання:
- Raspberry Pi 3 або Raspberry Pi 2 Модель B і SD-карта (8 ГБ або більше)
- Зовнішній динамік з 3,5-мм AUX-кабелем
- Будь-яка веб-камера або мікрофон USB 2.0
- Модуль реле
- Світлодіодна / лампочка змінного струму
Примітка: Веб-камера має вбудований мікрофон, тому ми будемо використовувати це замість мікрофона USB 2.0.
Програмні програми та веб-вимоги:
- Зареєструйте обліковий запис у Alexa Voice Services
- Зареєструйте обліковий запис у PubNub
- Зареєструйте рахунок у IFTTT
Ми також припускаємо, що ваш Raspberry pi вже налаштований на ОС Raspbian і підключений до Інтернету. З їх використанням, давайте продовжимо підручник. Якщо ви новачок у Raspberry Pi, спершу пройдіть Початок роботи з Raspberry pi.
Весь підручник в основному розділений на 5 частин, які є такими:
- Якщо у вас немає монітора, то нам доведеться налаштувати Raspberry Pi за допомогою SSH та VNC, а також перевірити підключення мікрофона USB.
- Налаштуйте розробника Amazon та встановіть Alexa на Raspberry Pi
- Налаштування PubNub та IFTTT для Alexa Home Automation
- Апаратне підключення
- Код Python для домашньої автоматизації Alexa Pi
Тож давайте почнемо !!
Частина 1: Налаштування Raspberry Pi за допомогою SSH та VNC
По-перше, ми з’єднаємо Raspberry Pi з SSH та VNC. Для цих наступних посібників на офіційному веб-сайті Raspberry Pi посилання наведено нижче.
Для SSH: посилання SSh
Для VNC: посилання VNC
Якщо у вас є Monitor, ви можете залишити цей крок і перейти безпосередньо до кроку 2, який є Налаштування голосової служби Alexa (Avs). До цього ми повинні перевірити підключення мікрофона.
Перевірка мікрофона веб-камери за допомогою Raspberry Pi:
1. Відкрийте термінал Raspberry Pi і введіть команду arecord -l. Це відобразить апаратні пристрої, які підключені до Raspberry Pi, як показано нижче:
Картка 1 - це мікрофон вашої веб-камери, який ми будемо використовувати. Якщо вона не відображається, веб-камера може бути несправною.
2. Тепер перевірте, чи працює мікрофон, запустивши команду запису звуку як:
arecord /home/pi/Desktop/test.wav -D sysdefault: КАРТА = 1
3. Для відтворення записаного аудіо введіть цю команду:
omxplayer -p -o local /home/pi/Desktop/test.wav
Якщо ви підключили Raspberry Pi до монітора за допомогою кабелю HDMI, то за замовчуванням вихід звуку проходить через динамік монітора (якщо в ньому є вбудований динамік). Отже, щоб змінити його на 3,5 мм, потрібно ввести таку команду:
sudo raspi-config і перейдіть до опції Advance.
Виберіть зі списку Audio -> виберіть Force 3.5mm -> виберіть Ok і перезапустіть Raspberry Pi.
Тепер ви повинні почути звук із роз'єму 3,5 мм.
ПРИМІТКА: Якщо ви хочете збільшити або зменшити вхідну гучність голосу для мікрофона, введіть alsamixer у терміналі. Виберіть звукову карту з терміналу, натиснувши F6.
Натисніть F4, щоб змінити коефіцієнт посилення мікрофонного дБ і встановити його як завгодно.
Якщо у вас є мікрофон USB 2.0, то для перевірки мікрофона виконуються однакові дії. Тут ми використали веб-камеру для мікрофона USB.
Частина 2. Налаштування облікового запису розробника Amazon та налаштування голосових служб Alexa на Raspberry Pi:
Ми вже детально пояснили це в нашому попередньому підручнику, де ми створили розумну колонку Amazon Echo. Тут ми зосереджуємося на контролі побутової техніки за допомогою Alexa, тому ми не пояснюємо весь процес знову, тому прочитайте попередню статтю та підготуйте свій динамік із голосовими послугами Alexa, встановленими на вашому Raspberry pi.
Щоб протестувати Alexa, просто розбуди її, вимовивши її ім’я! Перевірте демонстраційне відео, подане в кінці підручника.
Ви можете запитати її про температуру вашого міста, щоб перевірити, працює вона чи ні.
Частина 3: Налаштування PubNub та IFTTT для домашньої автоматизації Alexa Pi :
Для побудови системи домашньої автоматизації за допомогою цього Alexa Pi нам потрібна допомога PubNub python SDK та IFTTT. Ми будемо передавати команди IFTTT через Alexa, а PubNub подаватиме сигнал RPi на Увімкнути / Вимкнути світло. Тож спочатку ми встановимо PubNub на Raspberry Pi.
Частина 3-1: Встановлення PubNub Python SDK:
PubNub надає API обміну повідомленнями для публікації / передплати будь-якого повідомлення у їхній глобальній мережі. Тут ми використовуємо IFTTT та Alexa для публікації повідомлення на PubNub для ввімкнення / вимкнення реле. Це повідомлення отримано Raspberry Pi, і Pi відповідно ввімкне або вимкне світло. Виконайте кроки нижче, щоб налаштувати PubNub на Raspberry Pi:
1. Відкрийте термінал на RPi та запустіть таку команду, щоб встановити SDK:
sudo pip встановити pubnub == 3.9.0
Встановіть лише версію 3.9.0, інша версія не працюватиме зі сценарієм python, який ми будемо запускати в останній.
2. Тепер перейдіть до PubNub і увійдіть, використовуючи свої облікові дані.
3. Отримайте ключі публікації та передплати, якими ми будемо користуватися пізніше.
Частина 3-2: Налаштування IFTTT для служби Amazon Alexa:
IFTTT - це безкоштовний веб-сервіс, який дозволяє користувачам створювати ланцюжки простих умовних операторів, які називаються "рецептами", які запускаються на основі змін в інших веб-сервісах, таких як Gmail, Facebook, Instagram та. IFTTT - це абревіатура від "If This Then That".
Для цього проекту IFTTT використовується для запуску команд увімкнення / вимкнення світла на основі мовної команди, отриманої службою Alexa, що працює на RPi.
Виконайте такі дії, щоб створити аплет:
Крок 1: - Увійдіть до IFTTT зі своїми обліковими даними або Зареєструйтесь, якщо у вас немає облікового запису.
Крок 2: - На «Моїх аплетах» натисніть « Новий аплет»
Крок 3: - Натисніть на + це
Крок 4: - Шукайте Amazon Alexa та клацніть на ньому, увійдіть до свого облікового запису розробника Amazon.
Крок 5: - Виберіть тригер, скажіть певну фразу
Крок 6: - Укажіть “ увімкнути світло” як фразу, натисніть Створити тригер.
Крок 7: - Натисніть на + що
Крок 8: - Знайдіть веб-хуки, натисніть на нього та виберіть Зробити веб-запит
Крок 9: - Webhooks надає REST WEB-запит, використовує ключі Publish і Subscribe, отримані з PubNub, та змінює наступну URL-адресу.
http://pubsub.pubnub.com//publish/pub_key/sub_key/0/alexaTrigger/0/{"requester":"Alexa","trigger":"light","status":1}
Крок 10: - Вставте змінену URL-адресу в текстове поле URL-адреси.
Крок 11: - Встановіть Метод як GET, Вміст як application / json і натисніть на збереження.
Крок 12: - Виконайте ті самі дії, щоб створити тригер для " вимкнення світла " та змінити URL-адресу на наступну.
pubsub.pubnub.com//publish/pub_key/sub_key/0/alexaTrigger/0/{"requester":"Alexa","trigger":"light","status"-0
Крок 13: - Зараз ми готові з усіма веб-компонентами для демонстрації.
Частина 4: Апаратні підключення та принципова схема:
Для цього проекту нам потрібен модуль реле та лампочка змінного струму або будь-який інший компонент змінного струму, або ви можете використовувати простий світлодіод для тестування. Нижче наведена принципова схема та апаратні підключення для управління пристроєм змінного струму за допомогою Amazon Alexa.
Ми будемо використовувати GPIO18 у нашому скрипті python, тому підключіть реле до GPIO 18. Ви можете змінити це в python script.
Частина 5: Код Python для управління світлом:
Знайдіть повний сценарій Python наприкінці цього посібника.
Вам потрібно відредагувати ключ Pub та Sub за допомогою ваших ключів pubnub у коді python.
# Ініціалізуйте ключі публічного вибору pub_key = "***************************" sub_key = "*********** ************* "
Тепер запустіть сценарій
python alexaRpi.py
Тепер ми готові до демонстрації. Перш ніж продовжувати, переконайтеся, що ви використовуєте всі три служби з Частини 1 (три термінали).
Щоб дати будь-яку команду, потрібно пробудити службу Alexa, зателефонувавши “Alexa” кожного разу, коли ви хочете надіслати команду. Ви почуєте звуковий сигнал. Як тільки ви почуєте звуковий сигнал, скажіть “ Alexa Trigger Увімкніть світло. ”Ви бачите, як світло вмикається за мить. А потім, якщо ви скажете “ Alexa Trigger Turn off the Light ”, світло має вимкнутись.
Це воно…. Ви можете додати більше приладів змінного струму в сценарій python, додавши їх разом з іншими штифтами GPIO RPi, і ви можете керувати багатьма приладами за допомогою вашої розумної системи автоматизації будинку.
Перевірте повний код та демонстраційне відео нижче. Також перегляньте всі наші проекти з автоматизації будинку тут.