Как собрать Amazon Echo с помощью Raspberry Pi

Многие люди сегодня используют программное обеспечение помощника в своих домах и офисах для помощи в повседневных задачах. Существует множество различных моделей для покупки, но вы знали, что можете собрать свою собственную? Amazon Developer позволяет вам использовать программное обеспечение Alexa для создания собственного Amazon Echo с помощью Raspberry Pi.
Материалы
Для этого проекта вам понадобятся:
- Raspberry Pi 3 или Pi 2 Model B и кабель питания Micro-USB
- Micro SD карта (минимум 8 ГБ) – Если у вас нет установленной операционной системы, есть простая в использовании операционная система под названием NOOBS (New Out of the Box Software). Самый простой способ получить NOOBS – купить SD-карту с предустановленным NOOBS.
- USB 2.0 мини-микрофон
- Внешний динамик и аудиокабель 3,5 мм
- USB клавиатура и мышь и внешний HDMI монитор
- Подключение к Интернету (Ethernet или WiFi)
- Для подключения Pi 2 к Интернету по беспроводной сети вам нужен адаптер WiFi. У Pi 3 есть встроенный WiFi.
Также читайте: 5 основных советов и хитростей для персонализации вашего Amazon Echo
Зарегистрируйтесь для получения учетной записи Amazon Developer
Если вам нужна учетная запись Amazon Developer, создайте бесплатную на их странице. Прочитайте условия и соглашения AVS (Alexa Voice Service) здесь.

Заполните информацию о вашем профиле.

Прочитайте и примите Соглашение о распространении приложений.

Выберите, хотите ли вы монетизировать свои приложения.

Создайте свое устройство на Amazon Developer
После регистрации вашей учетной записи Amazon Developer создайте устройство Alexa и профиль безопасности. Обратите внимание на следующие параметры, пока вы проходите настройку – ProductID, ClientID и ClientSecret, так как вам нужно будет ввести их позже.
В верхнем меню выберите «Alexa Voice Service».
На экране «Добро пожаловать в Developer» появится.

Первый экран спрашивает о продукте, который вы создаете.
- Сначала назовите ваше устройство.

- Затем введите Product ID без пробелов и специальных символов.
Примечание: Вам это понадобится позже. Запишите это где-нибудь.
- Выберите устройство с поддержкой Alexa в качестве типа продукта.

- Alexa нуждается в сопутствующем приложении. Выберите «да» на этот вопрос.

Выберите «Беспроводные динамики» из выпадающего меню.
Введите «Проект Raspberry Pi на Github» в поле описания. Это информация для AVS и не видна другим.
Убедитесь, что выбраны оба варианта «Инициированный касанием» и «Без рук».

Вы можете загрузить изображение для вашего устройства, но давайте пропустим этот шаг на данный момент.
Выберите «нет» для вопросов о коммерческом распространении и детских продуктах.

- Нажмите «Далее».
Создайте свой профиль безопасности
На этой странице вы создаете новый профиль безопасности LWA (Login with Amazon), чтобы идентифицировать данные пользователя и учетные данные безопасности с этим проектом.
- Нажмите «Создать новый профиль».

- Создайте имя для профиля. Это может быть что-то вроде «Профиль безопасности Alexa».

- Введите описание для профиля. Вы можете выбрать «Описание профиля безопасности Alexa».

Нажмите «Далее».
Amazon генерирует для вас Client ID и Client Secret. Это еще два значения, которые вам понадобятся позже. Держите их под рукой.

Введите ваши Разрешенные источники и Разрешенные URL-адреса возврата. Мы настраиваем http и https маршруты для этого проекта, поэтому введите следующее в поле «Разрешенные источники» — «http://localhost:3000».
Нажмите «Добавить».
Введите «https://localhost:3000» в то же поле, где вы ввели первый.

Нажмите «Добавить» снова.
Сделайте то же самое для Разрешенных URL-адресов возврата, только введите следующие два URL:
http://localhost:3000/authresponse
https://localhost:3000/authresponse- Страница должна выглядеть так, прежде чем вы нажмете «Завершить». Убедитесь, что ни один из ваших URL-адресов все еще не находится в поле, где вы их ввели. Они отображаются на сером фоне после того, как вы их добавите.

- После нажатия «Завершить» появится этот экран. Ваш проект создан и готов к установке.

Клонируйте образец приложения Alexa
- Откройте Терминал.

- Введите следующее:
cd Desktop
git clone https://github.com/alexa/alexa-avs-sample-app.gitОбновите скрипт установки, добавив свои учетные данные
Перед тем как запустить скрипт установки, обновите скрипт с учетными данными, которые вы записали от Amazon — ProductID, ClientID, ClientSecret.
- Введите следующее в Терминале:
cd ~/Desktop/alexa-avs-sample-app
nano automated_install.sh- Когда он запустится, появится этот экран. Используйте стрелки на клавиатуре для навигации и замените поля для ProductID, ClientID и ClientSecret на ваши значения.

Изменения должны выглядеть так:
ProductID="Ваше имя устройства"
ClientID="amzn.xxxxx.xxxxxxxxx"
ClientSecret="4e8cb14xxxxxxxxxxxxxxxxxxxxxxxxxxxxx6b4f9"- Нажмите Ctrl + X, чтобы выйти из скрипта. Нажмите Y, а затем Enter, чтобы сохранить изменения.
Запустите скрипт установки
Чтобы запустить скрипт, откройте Терминал и выполните следующие команды.
cd ~/Desktop/alexa-avs-sample-app
. automated_install.shВо время выполнения этого скрипта вам будет предложено ответить на несколько простых вопросов. Это необходимо, чтобы убедиться, что вы завершили всю необходимую настройку на Amazon перед установкой программы.

Установка занимает около тридцати минут, так что можете перекусить.
Когда установка завершится успешно, ваше окно терминала будет выглядеть как на следующем изображении.

Три терминала
Вам нужно выполнить три шага, чтобы запустить приложение Alexa. Каждое из них должно выполняться в отдельном окне терминала, и вы должны делать их в правильном порядке.
Некоторые программы, которые мне были нужны, но которых у меня не было. Я установил эти программы по мере необходимости. На случай, если у вас возникнет такая же проблема, я включил примечание об этом в каждом шаге.
Терминал 1
Это окно запускает веб-сервис для авторизации вашего приложения с AVS (Alexa Voice Service)
Откройте Терминал и введите следующие команды:
cd ~/Desktop/alexa-avs-sample-app/samples
cd companionService && npm startПримечание: npm – это менеджер пакетов для языка программирования JavaScript. Если он недоступен, когда вы запускаете команду, вы можете получить его здесь.
Когда скрипты завершатся, окно будет выглядеть так, показывая, что Pi слушает на порту 3000.

Не закрывайте это окно. Оно должно оставаться открытым во время выполнения следующих шагов.
Терминал 2
Это окно общается с AVS.
Введите следующее в другое окно терминала.
cd ~/Desktop/alexa-avs-sample-app/samples
cd javaclient && mvn exec:execПримечание: mvn – это сокращение для Apache Maven. Если у вас его нет, нажмите здесь, чтобы начать.
Когда вы запускаете клиент, появляется диалоговое окно с сообщением: «Пожалуйста, зарегистрируйте ваше устройство …»
Нажмите «Да».

С некоторыми браузерами вы получите предупреждение о том, что соединение небезопасно. Отклоните это, нажав кнопку «дополнительно». Затем на следующем экране нажмите «Перейти на localhost (небезопасно)».
Теперь войдите в Amazon, используя свои учетные данные разработчика.
Следующий экран запрашивает разрешение на использование профиля безопасности, который вы создали ранее для устройства, которое вы регистрируете. Нажмите «ОК».

Вы будете перенаправлены на URL, начинающийся с «https://localhost:3000/authresponse», который выглядит как на следующем изображении.
Вернитесь к открытому диалоговому окну и нажмите кнопку «ОК». Теперь клиент может принимать запросы от вашего устройства Alexa.
Держите открытым терминал, а также диалоговое окно Voice Service.

Терминал 3
Это окно устанавливает приложение, которое пробуждает Alexa, используя ее пробуждающее слово. Пропустите это, если не хотите использовать голос для инициации Alexa.
Откройте новое окно терминала и используйте одну из следующих команд, чтобы запустить движок пробуждающего слова с использованием Sensory или KITT.AI.
Чтобы использовать движок пробуждающего слова Sensory, введите:
cd ~/Desktop/alexa-avs-sample-app/samples
cd wakeWordAgent/src && ./wakeWordAgent -e sensoryЧтобы использовать движок пробуждающего слова KITT.AI, введите:
cd ~/Desktop/alexa-avs-sample-app/samples
cd wakeWordAgent/src && ./wakeWordAgent -e kitt_aiПротестируйте это
Поговорите с Alexa, сказав пробуждающее слово «Alexa». Подождите сигнала перед тем, как дать команду. Например, попробуйте сказать: «Alexa». Подождите сигнала, а затем спросите: «Который час?»
Если она ответит правильно, у вас есть работающее устройство Alexa!
Посмотрите на веб-страницу Alexa от Amazon для получения дополнительных идей. Эта Alexa может делать все, что может делать Echo!