Google Assistant реализован на плате:
Orange pi zero 2: http://alii.pub/5vdpxy
Плата расширения с джеком 3.5 и микрофоном: http://alii.pub/5vdq3l
usb микрофон: http://alii.pub/5vdqby
Прежде чем приступить к материалу, я Вас попрошу, если нравится то, что я делаю и хотите следить за моей деятельностью, то рекомендую подписаться на мой телеграмм канал: https://t.me/ypavla
Там я публикую новости о вышедших видео, статьях и разные устройства для умного дома и не только показываю.
Спасибо за внимание, теперь продолжим.
Прежде чем производить настройки в ubintu на orange pi zero 2. Нам необходимо создать новое устройство в сервисах google. Зарегистрировать его и раздать все необходимые разрешения.
Надеюсь гугл аккаунт у Вас у всех есть и не стоит описывать как регистрироваться в гугле.
Переходим в панель инструментов Google Console Actions:
https://console.actions.google.com
После того, как вы войдете в свою учетную запись, вы увидите следующий экран.
Здесь вам понадобится кнопка « Add/Import project », как показано на скриншоте ниже.
На следующем экране вам будет предложено ввести « Project Name»
Помимо названия проекта вам необходимо указать и вашу страну, и ваш язык, как показано на скриншоте ниже.
После того, как вы установили название проекта и выбрали язык и страну, нажмите кнопку « Create Project»
В новой вкладке перейдите в Google developers console и включите Google Embedded Assistant API.
Теперь, прежде чем продолжить и нажать кнопку « Enable », убедитесь, что у вас выбран проект который мы создали ранее.
Убедившись, что выбран текущий проект, нажмите кнопку « Enable »
Теперь вернитесь на другую вкладку, где вы создали проект, прокрутите вниз до нижней части экрана.
Вы должны увидеть текст, в котором говорится: «Are you looking for device registration? Click here».
Все, что вам нужно сделать, чтобы продолжить, нажать на текст «click here ».
Теперь вы попадете на следующий экран, нажимаем кнопку « Register Model», чтобы продолжить.
На этом экране вам нужно установить « Название продукта », « Название производителя » и установить « Тип устройства » ( 1. )
Ниже вы можете увидеть данные, которые мы в него ввели, не имеет большого значения, что вы здесь установили, но все три поля должны быть установлены, чтобы вы могли зарегистрировать свою модель.
Для « Product Name »это имя продукта который мы создаем. На скрине это « pi Google Assistant ». Из всех этих названий и будет формироваться необходимая нам model id.
« Manufacturer name » не имеет большого значения, так как мы не собираемся делать это широко используемым устройством. ПО этому на скрине написано « Pi My Life Up ». ( как видите я взял скрины с сайта PiMyLifeUp.com Так как скринов очень много. По этому поля описываю так как показаны на скринах. В видео я в итоге другие названия вписывал.)
Переходим к « Device Type » и устанавливаем там тип « Speaker », поскольку, по нашему мнению, он лучше всего соответствует тому, что мы собираемся использовать с API Google Assistant на нашем Orange pi zero 2. Но работать будет и с raspberry pi.
И теперь все то что появилось в поле« Device Model ID », сохраняем к себе в отдельный блакнотик. Оно нам понадобится далее.
Наконец, когда все настроено и вы записали « Device Model ID », нажмите кнопку « Register Model» , чтобы продолжить.
Теперь, когда вы зарегистрировали модель, вы попадете на экран « Download credentials ».
Этот экран имеет решающее значение, поскольку предоставленный файл учетных данных – это то, что нам нужно для нашего помощника Google на базе Orange pi zero 2 для связи с сервером.
Чтобы получить этот файл учетных данных, нажмите кнопку « Download OAuth 2.0 credentials», как показано на скрине ниже.
Храните это в надежном месте, так как содержимое файла нам понадобится для настроек Orange pi.
После того, как у вас есть учетные данные, которые вы сохранили на компьютер. Вам нужно нажать кнопку « Next» .
На следующем поле галочки никакие не ставим.
А просто нажимаем кнопку « Save Traits », как показано ниже.
Как только все будет сделано, у Вас должно появиться следующее окно.
Теперь у нас есть только одно последнее, что нам нужно сделать, прежде чем мы сможем настроить Google Assistant на самом Orange pi zero 2.
Нам также необходимо настроить экран согласия OAuth. Без этого Google не позволит нам авторизовать наше устройство Orange pi zero 2 с Google Assistant позже в этом руководстве.
Для этого вам нужно будет перейти на страницу настроек API Credentials OAuth consent screen.
На этой первой странице убедитесь, что ваш проект выбран в верхнем раскрывающемся списке ( 1. )
Во-вторых, вам нужно будет выбрать « External» в качестве типа пользователя ( 2. ). Эта опция позволит любому, у кого есть учетная запись Google, использовать настраиваемое нами программное обеспечение Google Assistant.
После того, как все настроено, нажмите кнопку « CREATE », чтобы перейти к настройке экрана аутентификации ( 3. ).
На следующей странице которая появится вписываем адрес электронной почты, который мы будем использовать при авторизации в гугле.
После того, как все необходимое вписали, нажмите кнопку « Save» ( 2. ) внизу страницы.
Далее на странице Scopes ничего не меняем А просто нажимаем кнопку “Save and continue”
И во вкладке Test users выберем тоже usera который будет допущен до управления. В нашем случае это тот же наш аккаунт.
Наконец, нам нужно перейти к элементам управления действиями в моей учетной записи Google .
Здесь вам нужно будет активировать следующие элементы управления действиями, чтобы убедиться, что API Google Assistant работает правильно.
- История приложений и веб-поиска
- История местоположений
- Информация об устройстве
- Голосовая и аудиозапись
Все, на этом настройка аккаунта в гугл сервисах закончена.
Теперь перейдем к настройка в консоли.
Для начала перейдем по этой ссылке http://www.orangepi.org/downloadresources/ и скачаем дистрибутив Ubuntu актуальный для нашей платы Orange pi zero 2.
После того как скачали образ с расширение .img. Его нужно установить на флешку.
Я устанавливал программой Raspberry pi imager.
После установики ОС. Я подключился usb/ttl конвертером к orange pi zero 2. Благо это очень нелгко сделать. Ведь на плате специально выведены 3 контакта rx,tx и gnd. Только Обязательно еще GND нужно подключить. Иначе консоль будет работать не корректно.
Все в консоль мы попали. Теперь давайте настроим сеть. Тут два варианта. Если у вас DHCP есть и подключились просто проводом rj-45. То ip адрес получится автоматически. Но на плате нашей же есть wi-fi. ВОт он настраивается командой
nmtui
И после ввода этой команды откроется панель настроек. Там все просто. Находим необходимую нам сеть, вводим от нее пароль и все. Я это показываю в видео которое в конце статьи на 5:54 минуте.
Все, если с сетью проблем нет. То давайте перейдем к настройкам звука. Я использую usb звуковую карту. Так как к сожалению на orange pi zero 2 не работает встроенный микрофон на плате расширения. ПО этому у меня была usb звуковая карта и я использовал ее. Но Вы например можете исопльзовать обычный usb микрофон. Стоит на любимой алишке копейки.
Чтоб проверить какие у нас устройства вывода звука нужно ввести команду:
aplay -l
Чтоб проверить какие записывающие устройства нужно ввести:
arecord -l
Далее нужно создать в каталоге /home/orangepi/ файл .asoundrc . Для этого введем команду nano ~/.asoundrc
И добавить в файл следующее:
pcm.!default {
type asym
capture.pcm "mic"
playback.pcm "speaker"
}
pcm.mic {
type plug
slave {
pcm "hw:<card number>,<device number>"
rate 48000
}
}
pcm.speaker {
type plug
slave {
pcm "hw:<card number>,<device number>"
}
}
pcm.!default {
google-oauthlib-tool --client-secrets ~/googleassistant/credentials.json \
--scope https://www.googleapis.com/auth/assistant-sdk-prototype \
--scope https://www.googleapis.com/auth/gcm \
--save --headless