Русский
Русский
English
Статистика
Реклама

Превращаем дисковый телефон в цифрового помощника с использованием Google Assistant и Raspberry Pi


Дисковых телефонов, к сожалению, почти нигде уже нет, а вместе с ними ушла целая эпоха. Но есть в этих аппаратах что-то особенное, что привлекает как обычных людей, так и разработчиков. Что касается последних, то они используют дисковые системы для самых разных проектов, и об одном из них мы сегодня расскажем.

Речь идет о преобразовании телефона в цифрового секретаря, который всегда готов прийти на помощь. Для реализации проекта нужна плата Raspberry Pi Zero и подключение к Google Assistant. Ну а теперь подробнее о проекте.

Чтобы сразу было понятно, о чем идет речь, вот видео уже собранного телефона с активированным помощником.


Чуть подробнее о необходимых компонентах


Нам понадобится:
  • Raspberry Pi Zero с запаянными пинами, карта памяти с Raspberry Pi OS и адаптер питания.
  • Старый дисковый телефон с работающей трубкой (микрофоном и динамиком) и работающим рычажным переключателем, который придется кастомизировать.
  • Разного рода кабели, паяльник, отвертки и прочие мелочи.
  • 1 USB audio адаптер, совместимый с Linux.
  • 1 male-male 3.5 мм аудио кабель.
  • 1 Raspberry Pi Zero micro USB to USB A адаптер.

Как установить Google Assistant на старый телефон


Здесь несколько этапов работы:
  • Регистрация в Google (самое простое).
  • Аутентификация с Google (тоже несложно).
  • Кастомизация телефона.
  • Настройка помощника Google.

Регистрация в Google


Речь, конечно же, не о простой регистрации аккаунта в сервисах компании, а о регистрации с raspberry pi. Этот этап может быть немного сложным для тех, кто никогда не работал с Google Cloud Platform, так что лучше прочитать этот пункт, дабы не терять время. Если вы все знаете его можно и пропустить.

Клонируем репозиторий на малинку.

cd ~/
git clone https://github.com/rydercalmdown/google_assistant_telephone


Открываем console.actions.google.com в браузере. Здесь расположен центр управления Google Assistant Actions.

Выбираем новый проект и заполняем появлющиеся поля.


В новой вкладке подтверждаем имя проекта и выбираем Enable для включения API.


Далее на первой вкладке пролистываем страничку до конца и выбираем Are you looking for device registration? Click here


Теперь нужно зарегистрировать девайс, заполнив все поля и скопировав полученный ID в отдельный файл он понадобится позже.


Выбираем Download OAuth 2.0 credentials для того, чтобы загрузить соответствующий файл, который малинка будет использовать для формирования запросов.


Переименовываем загруженный файл в oauth_config_credentials.json и передаем его на Raspberry Pi. Разместить его нужно в папку скопированного репозитория, загруженного в самом начале.

# Rename your downloaded file
cd ~/Downloads
mv your_unique_secret_file_name.json oauth_config_credentials.json
# Move the file into your repository
scp oauth_config_credentials.json pi@your_pis_ip_address:/home/pi/google_assistant_telephone


Возвращаемся к браузеру. После загрузки и переименования нажимаем Next и выбираем Save Traits, не изменяя настроек.


Аутентификация с Google


После того, как регистрация закончена, самое время аутенифицировать девайс для возможности доступа к аккаунту Google и персонализации помощника.

Открываем ссылку console.cloud.google.com/apis/credentials/consent и проверяем, чтобы имя проекта, заданное выше, совпадало с отображаемым по ссылке.

Выбираем External и нажимаем Create


Заполняем поле с названием, выбираем из выпадающего списка почту и добавляем этот e-mail в поле Developer contact information и сохраняем все.


На следующей странице выбираем Add or Remove Scopes и ищем в поисковой строке Google Assistant API. Выбираем /auth/assistant-sdk-prototype scope, обновляем путем нажатия на upfate и сохраняем все.


Затем выбираем OAuth Consent Screen и Add User, добавляя свою почту.


Теперь переходим в папку загруженного репозитория на Raspberry Pi и запускаем команду:

cd ~/google_assistant_telephone
make authenticate


Она завершает процесс аутентификации, после чего нужно скопировать полученный код в консоль. Если все хорошо, то появится сообщение credentials saved:

Эти данные требуются для перехода в текущую аудиторию.

# credentials saved: /Users/test/Library/Application Support/google-oauthlib-tool/credentials.json
mv /Users/test/Library/Application\ Support/google-oauthlib-tool/credentials.json /home/pi/google/assistant/telephone/credentials.json


Кастомизируем телефон


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

В любом случае телефон сначала нужно разобрать.


Далее находим провода, которые идут к рычажковому переключателю. Их нужно будет подключить к пинам малинки, чтобы плата могла определять, снята трубка или нет.


Провода нужно припаять к 18 пину и к земле.

Далее подключаем USB аудио адаптер к raspberry pi zero, после чего припаиваем к проводам трубки два разных 3,5мм провода. Они будут передавать сигнал от Raspberri Pi к трубке и обратно. Возможно, придется повозиться, определяя, где какой провод, но в целом здесь нет ничего сложного.


Заканчиваем кастомизацию телефона, подключая 3,5мм провода к адаптеру.


Остается лишь закрыть корпус телефона, не забыв вывести кабель питания малинки.


Настройка помощника


Осталось совсем немного настраиваем помощника и все. Здесь тоже несколько шагов.

Запускаем установочный скрипт. Это займет не один час, если вы используете Raspberry Pi Zero. Лучше всего запустить все вечером и оставить на ночь.

cd google_assistant_telephone
make install


Настраиваем USB-аудио. Для этого нужна всего одна команда.

make configure-audio

Теперь тестируем аудиоадаптер.

# Run, speak something into the microphone, and listen
make test

# Set volumes
alsamixer


Экспортируем ID проекта. Можно просто зайти вот по этой ссылке и выбрать
Project Settings

export PROJECT_ID=your-project-id

Экспортируем ID

export DEVICE_MODEL_ID=your-model-id-from-the-earlier-steps

Теперь выполняем команду

make run

После чего тестируем телефон. Это просто поднимаем трубку и задаем любой вопрос помощнику. Если все ок, консоль покажет определенное действие, а помощник ответит.

Наконец, выполняем команду ниже для запуска помощника.

make configure-on-boot

Больше подробностей на страничке самого проекта.

Источник: habr.com
К списку статей
Опубликовано: 03.05.2021 16:20:48
0

Сейчас читают

Комментариев (0)
Имя
Электронная почта

Блог компании selectel

Разработка на raspberry pi

Гаджеты

История it

Diy или сделай сам

Телефоны

Raspberry

Diy

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru