интересно

Как создать собственное эхо Amazon с малиновым пи

Амазонское Эхо полезно иметь дома. Он может воспроизводить подкасты, делать напоминания и заметки, сообщать вам длительность ваших поездок и даже управлять другими приборами в вашем доме. Но при ценах от 50 до 150 долларов это дорогое предложение, если вы не уверены, что будете его использовать. Хорошие новости, однако, вы можете сделать полнофункциональный, используя Raspberry Pi.

Обновление : этот метод немного проще и дает вам лучший конечный продукт. Мы оставляем это руководство, поскольку оно использует официальные репозитории Amazon, но система работает намного лучше.

Что вы получите

К концу этого руководства у вас будет (почти) полностью функционирующее Amazon Echo, которое отвечает на ваши голосовые команды. Единственное, что он не может сделать, это получить доступ к музыкальным сервисам, таким как Amazon Prime, Spotify или Pandora. Иначе, это Эхо со всеми прибамбасами Алексы, виртуального помощника Амазонки. Это означает, что он может выполнять конвертацию единиц, проверять спортивные результаты, читать ваши книги Kindle, проверять погоду, воспроизводить подкасты и радио и многое другое. Как только вы закончите, вы сможете использовать приложение-компаньон Alexa (iOS и Android) для изменения настроек вашего Алекса, и вы сможете установить все те же навыки, что и на настоящий Эхо. Это включает в себя как Бэтмен выбрать свою собственную приключенческую игру или базу данных кошачьих фактов. Возможно, с другой стороны, он включает недавно анонсированные интеграции со сторонними приложениями, такими как Todoist и Any.do.

Он также будет работать с различными подключенными устройствами, такими как интеллектуальные лампочки типа LIFX или Nest Thermostat, так что вы можете управлять ими с помощью голоса. Как и настоящее эхо, ваше эхо своими руками можно связать с If This Then That, чтобы добавить дополнительные функции, такие как добавление задач в Evernote или получение уведомления на телефоне, когда таймер отключается.

Что касается цены, то здесь следует упомянуть одну вещь: новейшая Echo Dot от Amazon (меньшая Echo с громоздким динамиком) стоит всего 50 долларов, что делает создание своего собственного из Raspberry Pi за 35 долларов гораздо сложнее. Однако есть одна ключевая особенность Raspberry Pi, которая делает все это стоящим:. Этот проект просто устанавливает набор программ, которые позволяют вашему Raspberry Pi функционировать как эхо. Ваш Raspberry Pi по-прежнему может работать с рядом других проектов, например, с игровой приставкой в ​​стиле ретро (вам просто нужно установить среду рабочего стола) или медиацентром. Это означает, что вы можете превратить его в многозадачный компьютер.

Что вам нужно

Как и следовало ожидать, вам понадобится Raspberry Pi вместе с несколькими частями:

  • Raspberry Pi 3 (рекомендуется) или Raspberry Pi 2 (вам также понадобится адаптер Wi-Fi USB с моделью 2) с установленным Raspbian. Если вы еще не установили Raspbian, наше руководство охватывает все, что вам нужно знать.
  • Кабель питания MicroUSB
  • Карта MicroSD на 8 ГБ
  • USB-микрофон (я использовал этот дешевый микрофон за 6 долларов, но почти любой USB-микрофон, похоже, работает. Playstation Eye за 8 долларов, кажется, работает особенно хорошо, если вы ищете небольшое обновление)
  • Динамики (любой активный динамик делает свою работу, я решил использовать UE Mini Boom, потому что он у меня уже есть, и даже когда он подключен к Pi, он все еще работает как динамик Bluetooth)
  • Клавиатура и мышь для настройки (или доступа к компьютеру с VNC)

Теоретически возможно использовать более старую версию Raspberry Pi или Raspberry Pi Zero для этого проекта, но для этого вам потребуется вручную установить последнюю версию Java. Эта ветка на GitHub может помочь. Мы, однако, проверили это на Raspberry Pi 2 и 3.

Вы создадите свое «Сделай сам», установив комплект умений Amazon Alexa на Raspberry Pi. Для этого руководства мы будем использовать официальный код Amazon. Это идет с одной оговоркой: требуется вручную запустить сервис Alexa. Это раздражает, но при условии, что вы не сильно теряете энергию или вам нужно часто перезагружать Pi, это немного раздражает.

Шаг первый: Зарегистрируйте учетную запись разработчика Amazon

Прежде чем что-то делать, вам нужно зарегистрировать бесплатную учетную запись разработчика Amazon, а затем создать профиль для своего эха. Это довольно просто:

  1. Войдите в свою учетную запись разработчика Amazon.
  2. Нажмите на вкладку Alexa.
  3. Нажмите Зарегистрировать тип продукта> Устройство.
  4. Назовите тип устройства и отображаемое имя (мы выбрали «Raspberry Pi» для обоих).
  5. Нажмите кнопку "Далее.
  6. На экране профиля безопасности нажмите «Создать новый профиль».
  7. На вкладке Общие рядом с «Имя профиля безопасности» укажите свой профиль. Сделайте то же самое для описания. Нажмите кнопку "Далее.
  8. Запишите идентификатор продукта, идентификатор клиента и секрет клиента, сгенерированный для вас сайтом.
  9. Перейдите на вкладку «Веб-настройки», затем нажмите кнопку «Изменить» рядом с раскрывающимся списком профилей.
  10. Рядом с «Разрешенные источники» нажмите «Добавить еще» и введите: //localhost:3000 .
  11. Рядом с разрешенными URL-адресами возврата нажмите «Добавить еще» и введите: //localhost:3000/authresponse Нажмите кнопку «Далее», когда закончите.
  12. Вкладка Сведения об устройстве следующая. Неважно, что вы вводите здесь. Выберите категорию, напишите описание, выберите ожидаемую временную шкалу и введите 0 в форме рядом с тем, на скольких устройствах вы планируете использовать это. Нажмите кнопку "Далее.
  13. Наконец, вы можете добавить в Amazon Music здесь. Это не работает на устройстве с питанием от Pi, поэтому оставьте его отмеченным как «Нет». Нажмите «Сохранить».

Теперь у вас есть учетная запись разработчика Amazon и вы создали профиль для своего эхо на основе Pi. Пришло время отправиться на Raspberry Pi и заставить Алексу работать.

Шаг второй: клонировать и установить Alexa

Подключите все к вашему Pi и загрузите его. Для этого вам понадобится графический интерфейс пользователя (теперь он называется PIXEL), поскольку в конечном итоге вы используете веб-браузер для аутентификации вашего устройства.

  1. Откройте приложение Terminal на Raspberry Pi и введите: cd Desktop и нажмите Enter.
  2. Введите git clone //github.com/alexa/alexa-avs-sample-app.git и нажмите Enter.

  3. После этого введите: cd ~/Desktop/alexa-avs-sample-app и нажмите Enter.
  4. Введите nano automated_install.sh и нажмите Enter.
  5. Это подтягивает ваш текстовый редактор. Здесь вам нужно будет ввести свой ProductID, ClientID и ClientSecret, которые вы отметили в шаге выше. Используйте клавиши со стрелками для перехода к каждой записи. Введите каждую деталь после знака = как указано на рисунке выше. Когда вы закончите, нажмите CTRL + X, чтобы сохранить и выйти.
  6. Теперь вы вернулись в командную строку. Пришло время запустить скрипт установки. Введите cd ~/Desktop/alexa-avs-sample-app и нажмите Enter.
  7. Введите . automated_install.sh . automated_install.sh и нажмите Enter.
  8. При появлении запроса нажмите Y, чтобы ответить на другие вопросы, и ответьте так, как считаете нужным для остальных. Это настроит ваш Pi и установит дополнительное программное обеспечение. Это может занять до 30 минут, так что просто дайте ему это сделать.

Как только это закончится, пришло время запустить сервис Alexa.

Шаг третий: Запустите веб-сервис Alexa

Затем вы собираетесь запустить три набора команд одновременно в трех разных окнах терминала. Вы создадите новое окно терминала для каждого из следующих шагов. Не закрывайте окна! Вам нужно будет выполнять шаги три (этот) четыре и пять каждый раз, когда вы перезагружаете свой Raspberry Pi.

Первый, который вы запустите, - это веб-сервис Alexa:

  1. Введите cd ~/Desktop/alexa-avs-sample-app/samples и нажмите Enter.
  2. Введите cd companionService && npm start и нажмите Enter.

Это запустит сопутствующий сервис и откроет порт для связи с Amazon. Оставьте это окно открытым.

Шаг четвертый: Запустите образец приложения и подтвердите свой аккаунт

Откройте второе окно терминала (Файл> Новое окно). На следующем шаге запускается приложение Java и запускается веб-браузер, который регистрирует эхо на основе Pi с помощью веб-службы Alexa.

  1. В новом окне терминала введите cd ~/Desktop/alexa-avs-sample-app/samples и нажмите Enter.
  2. Введите cd javaclient && mvn exec:exec и нажмите Enter.
  3. Появится окно с просьбой подтвердить подлинность вашего устройства. Нажмите Да. Это открывает окно браузера. Второе всплывающее окно появится в приложении Java с просьбой нажать Ok. Не нажимайте это пока.
  4. Войдите в свой аккаунт Amazon в браузере.
  5. Вы увидите экран аутентификации для вашего устройства. Нажмите Хорошо. Ваш браузер теперь будет отображать «токены устройства готовы».
  6. Теперь вы можете нажать всплывающее окно Ok в приложении Java.

Теперь у вашего Raspberry Pi есть токены, необходимые для связи с сервером Amazon. Оставьте это окно терминала открытым.

Шаг пятый: Запустите Wake Word Engine

Наконец, откройте третье окно терминала (Файл> Новое окно). Здесь вы запустите механизм пробуждения слов. Благодаря этому вы можете сказать «Alexa», чтобы ваш Raspberry Pi начал вас слушать. У вас есть два варианта программного обеспечения Wake Word, Sensory и KITT.AI. Оба бесплатны, но срок действия Sensory истекает через 90 дней, поэтому давайте вместо этого воспользуемся KITT:

  1. Введите cd ~/Desktop/alexa-avs-sample-app/samples и нажмите Enter.
  2. Введите cd wakeWordAgent/src && ./wakeWordAgent -e kitt_ai

Вот и все, ваше DIY Echo теперь работает. Попробуйте и скажите «Алекса». Вы должны услышать звуковой сигнал, указывающий, что он слушает. Когда вы услышите этот звуковой сигнал, задайте вопрос типа «Какая погода?» Или «Какой счет в игре Доджерс?»

Шаг шестой: улучшите микрофон и убедитесь, что ваше эхо может услышать вас

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

  1. В командной строке введите alsamixer и нажмите Enter.
  2. Нажмите F6, чтобы выбрать другое устройство USB. Используйте клавиши со стрелками, чтобы выбрать свой микрофон.
  3. Используйте клавиши со стрелками, чтобы увеличить громкость захвата.
  4. Когда вы довольны громкостью, нажмите ESC, чтобы выйти.
  5. Введите sudo alsactl store и нажмите Enter, чтобы сделать настройки постоянными.

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

Дополнительный кредит: добавьте поддержку AirPlay

Единственное, чего не хватает вашему DIY Echo в коммерческой версии, - это возможность функционировать в качестве динамика Bluetooth. Вы можете добавить аналогичные функции с AirPlay. Таким образом, ваше Эхо также действует как приемник, на который вы можете отправлять музыку со своего телефона или компьютера. Это легко добавить, вам просто понадобится последняя поездка в командную строку через терминал:

  1. Введите sudo apt-get install git libao-dev libssl-dev libcrypt-openssl-rsa-perl libio-socket-inet6-perl libwww-perl avahi-utils libmodule-build-perl и нажмите Enter. Это установит различное программное обеспечение, которое вам нужно.
  2. Нажмите Y, когда будет предложено, и подождите, пока все загрузится и установится.
  3. Введите git clone //github.com/njh/perl-net-sdp.git и нажмите Enter. Это необходимо для самой новой версии программного обеспечения AirPlay. Следующие несколько команд создают и устанавливают это программное обеспечение.
  4. Введите cd perl-net-sdp и нажмите Enter.
  5. Введите perl Build.PL и нажмите Enter.
  6. Введите sudo ./Build и нажмите Enter.
  7. Введите sudo ./Build test и нажмите Enter.
  8. Введите sudo ./Build install и нажмите Enter.
  9. Введите CD .. и нажмите Enter.
  10. Теперь вы захватите shairport, программное обеспечение DIY Airport. Введите git clone //github.com/hendrikw82/shairport.git и нажмите Enter.

  11. Введите cd shairport и нажмите Enter.
  12. Введите make и нажмите Enter.
  13. Введите ./shairport.pl -a AlexaPi и нажмите Enter.

Теперь вы можете передавать потоковую музыку или другое аудио на ваше эхо-проектирование по протоколу AirPlay. Теперь, когда ваше Эхо запущено и работает, начните играть с ним.