- Перфектен материал:
- Част 1: Настройване на Raspberry Pi с SSH и VNC
- Част 2: Настройте своя акаунт за разработчици в Amazon и конфигурирайте Alexa Voice Services на Raspberry Pi:
- Част 3: Настройване на PubNub и IFTTT за Alexa Pi Home Automation :
- Част 3-2: Настройване на IFTTT за услугата Amazon Alexa:
- Част 4: Хардуерни връзки и електрическа схема:
- Част 5: Python код за управление на светодиода:
Замисляли ли сте се някога за високоговорител, който може да се управлява от вашия глас !!! Ами ако можем да контролираме нашите домакински уреди по този начин и да направим тези уреди по-умни? Гласовите асистенти стават все по-популярни, докато се насочваме към ерата на системите, базирани на AI и IoT. Чували сте за Google Assistant, Apple Siri и Amazon Alexa . Всички те са базирани на глас AI системи, това, което ги прави различни помежду им, са техните екосистеми и тук Amazon Alexa се откроява най-много. Google, Apple и Amazon, всички тези компании вече пуснаха своите интелигентни високоговорители, но Amazon беше първата, която представи интелигентни високоговорители. Amazon echo, Echo Dot Spot и др. Са интелигентните високоговорители, които се предлагат на пазара.
Amazon предоставя API за използване на много популярната си гласова услуга Alexa. Той е с отворен код и е достъпен в Github. Освен това можете да инсталирате или интегрирате Alexa на персонализирани устройства като Raspberry Pi и да получите пълната функционалност на Amazon Echo в това устройство.
Използвайки гласова услуга Alexa, можем да пускаме музика, да получаваме информация за времето, да резервираме билети и много други. Всичко, което трябва да направите, е да "попитате". В този урок ще видим как можем да контролираме Raspberry Pi GPIO с помощта на Alexa Voice услуги, за да свети светодиод.
Перфектен материал:
Хардуерни изисквания:
- Raspberry Pi 3 или Raspberry Pi 2 Модел B и SD карта (8 GB или повече)
- Външен високоговорител с 3,5 мм AUX кабел
- Всяка уеб камера или USB 2.0 микрофон
- Релеен модул
- LED
Забележка: Уеб камерата има вграден микрофон, така че ще използваме това вместо USB 2.0 микрофон.
Софтуерни приложения и уеб изисквания:
- Регистрирайте акаунт в Alexa Voice Services
- Регистрирайте акаунт в PubNub
- Регистрирайте акаунт в IFTTT
Ние също така предполагаме, че вашият Raspberry pi вече е настроен с Raspbian OS и е свързан с интернет. С тях на място, нека да продължим с урока. Ако сте нов в Raspberry Pi, преминете първо към Първи стъпки с Raspberry pi.
Целият урок е главно разделен на 5 части, които са както следва:
- Ако нямате монитор, трябва да настроим Raspberry Pi със SSH и VNC, също така проверете свързаността на USB микрофона.
- Настройте своя разработчик на Amazon и инсталирайте Alexa на Raspberry Pi
- Настройване на PubNub и IFTTT за Alexa Home Automation
- Хардуерна връзка
- Python код за Alexa Pi GPIO Control
Ако просто искате да управлявате светодиод с гласа си, проверете и нашия Bluetooth базиран гласов светодиоден проект.
Част 1: Настройване на Raspberry Pi с SSH и VNC
Първо, ще свържем Raspberry Pi със SSH и VNC. За тези следващи уроци на официалния уебсайт на Raspberry Pi връзките са дадени по-долу.
За SSH: SSh връзка
За VNC: VNC връзка
Ако имате Monitor, можете да напуснете тази стъпка и да преминете директно към стъпка 2, която е Настройка на Alexa Voice Service (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, за да промените усилването на микрофона dB и да го настроите както искате.
Ако имате USB 2.0 микрофон, тогава следваните стъпки са същите за проверка на микрофона. Тук използвахме уеб камера за USB микрофон.
Част 2: Настройте своя акаунт за разработчици в Amazon и конфигурирайте Alexa Voice Services на Raspberry Pi:
Вече обяснихме това подробно в нашия предишен урок, където сме изградили интелигентен високоговорител Amazon Echo. Тук се фокусираме върху контрола на Raspberry Pi GPIO с Alexa, така че не обясняваме отново целия процес, така че прочетете предишната статия и подгответе високоговорителя си с гласови услуги Alexa, инсталирани на вашия Raspberry pi.
За да тествате Алекса, просто я събудете, като кажете името й! Проверете демонстрационния видеоклип, даден в края на урока.
Можете да я попитате за температурата във вашия град, за да проверите дали работи или не.
Част 3: Настройване на PubNub и IFTTT за Alexa Pi Home Automation :
За да контролираме Raspberry Pi GPIO с помощта на този 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 GPIO ниско / високо. Това съобщение е получено от 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 се използва, за да направи Raspberry Pi GPIO LOW / HIGH въз основа на речевата команда, получена от услугата Alexa, работеща на RPi.
Следвайте тези стъпки, за да направите аплет:
Стъпка 1: - Влезте в IFTTT с вашите идентификационни данни или се регистрирайте, ако нямате акаунт в него.
Стъпка 2: - На моите аплети, щракнете върху нов аплет
Стъпка 3: - Щракнете върху + това
Стъпка 4: - Потърсете Amazon Alexa и кликнете върху нея, влезте с данните за вашия акаунт за разработчици на Amazon.
Стъпка 5: - Изберете спусъка, Кажете конкретна фраза
Стъпка 6: - Осигурете „ включете светлината“ като фраза, кликнете върху Създаване на задействане.
Стъпка 7: - Кликнете върху + това
Стъпка 8: - Потърсете Webhooks, кликнете върху него и изберете Направете уеб заявка
Стъпка 9: - Webhooks предоставя REST WEB заявка, използвайте ключовете за публикуване и абонамент, получени от 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, Content като application / json и кликнете върху save.
Стъпка 12: - Следвайте същите стъпки, за да създадете спусъка за „ изключване на светлината “ и променете URL адреса на следното.
pubsub.pubnub.com//publish/pub_key/sub_key/0/alexaTrigger/0/{"requester":"Alexa","trigger":"light","status"-0
Стъпка 13: - Вече сме готови с всички уеб компоненти за демонстрацията.
Част 4: Хардуерни връзки и електрическа схема:
За този проект се нуждаем от прост светодиод за целите на тестването. По-долу е схемата и хардуерните връзки за управление на Raspberry Pi GPIO с Amazon Alexa.
Ще използваме GPIO18 в нашия python скрипт, така че свържете реле вашия LED 18. Можете да промените това в python скрипт.
Част 5: Python код за управление на светодиода:
Намерете пълния Python Script в края на този урок.
Трябва да редактирате Pub и Sub ключа с вашите pubnub ключове в кода на python.
# Инициализирайте ключовете за публикуване pub_key = "***************************" sub_key = "*********** ************* "
Сега стартирайте скрипта
python alexaRpi.py
Сега всички сме готови за демонстрацията. Уверете се, че използвате всичките три услуги от Част 1 (трите терминала), преди да продължите.
За да дадете команда, трябва да събудите услугата Alexa, като извикате „Alexa“ всеки път, когато искате да изпратите команда. Ще чуете звуков сигнал. След като чуете бипкането, кажете „ Alexa Trigger Turn the Light. ”Можете да видите, че светлината се включва в рамките на един момент. И тогава, ако кажете „ Alexa Trigger Turn off the Light “, светлината трябва да се изключи.
Това е…. Можете допълнително да добавите реле за управление на уреда с променлив ток, дори можете да контролирате много уреди, като използвате повече релета и повече GPIO щифтове на Raspberry pi.
Проверете пълния код и демонстрационното видео по-долу. Също така проверете всички наши проекти за домашна автоматизация тук.