Разработка
Selectel

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

Вместе с дисковыми телефонами ушла целая эпоха. Но аппараты по-прежнему привлекают разработчиков. Они используют дисковые системы для самых разных проектов. В материале Selectel рассказываем об одном из них — преобразовании телефона в digital-секретаря.

Для реализации проекта нужна плата 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.

Новые возможности.

Selectel

Регистрация в 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

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

Не пропускайте последние новости из мира IT, подписывайтесь на блог Selectel.

{ "author_name": "Selectel", "author_type": "editor", "tags": ["\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430","selectel","raspberrypi"], "comments": 0, "likes": 8, "favorites": 7, "is_advertisement": false, "subsite_label": "dev", "id": 242000, "is_wide": true, "is_ugc": false, "date": "Tue, 04 May 2021 15:04:19 +0300", "is_special": false }
0
0 комментариев
Популярные
По порядку
Читать все 0 комментариев
Кейс. Как увеличить конверсию приложения на 6,3% за счет графического ASO?

Показываем на примере приложения для занятий спортом, как с помощью качественной и продающей графики на странице в Google Play увеличить конверсию из просмотра в установку на 6,3%. Бонус: пять примеров конвертирующей графики.

Как начать экспортировать и продавать свои товары онлайн: советы Почты России

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

Уроки 2020 года или как мы выросли в два раза быстрее рынка
Evrone News #04: сравниваем кроссплатформенные фреймворки, вспоминаем DevOps-продукт, хвалимся новым клиентским кейсом

Анонсируем новые материалы Evrone для тех, кто любит копаться в проектах и деталях разработки. Сегодня — разбираемся в технологиях, вспоминаем дорогой нашему сердцу (правда, архивный) внутренний проект, на котором мы учились DevOps’ить и управлять, и показываем клиентский кейс.

Сооснователь «Самоката» — о первых деньгах, армейском опыте, конкуренции между сервисами и транспорте курьеров

Вячеслав Бочаров окончил военно-финансовое училище, два года отслужил по контракту в Чечне, а потом ушел в ритейл и логистику — работать с «Магнитом» и «Почтой России». Теперь он развивает свой стартап, оборот которого за прошлый год — 9,7 млрд рублей.

Часть владельцев Android-смартфонов в России пожаловалась на массовый сбой в приложении Google Статьи редакции

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

В приложении "Google" снова произошёл сбой

Если вы сегодня всё утро видите эту надпись на своём смартфоне, то идите в настройки - приложения - найдите там Google - нажмите удалить обновления.

И будет вам счастье!
В Москве запретят посещать кафе и рестораны без прививки, отрицательного теста на Covid-19 или антител Статьи редакции

Проверять их будут по QR-кодам.

Сервис Pump запустил подписку на бензин и заправку без участия водителя в Москве, Петербурге и Сочи Статьи редакции

Количество бензина в баке контролируют датчики, а заливает топливо заправщик.

Starlink запланировала покрыть всю планету спутниковым интернетом в сентябре 2021 года Статьи редакции

После выхода спутников на рабочую орбиту компания начнёт переговоры о предоставлении услуг со странами.

NYT: руководители Google уходят из-за главы компании Сундара Пичаи — он медлит, не рискует и зациклен на мнении общества Статьи редакции

«Ещё никогда не было так легко убедить руководителей Google отказаться от стабильной семизначной зарплаты ради возможности работать в другом месте», — говорят в Кремниевой Долине.

Сундар Пичаи The Verge
ТМК и Агентство инноваций Москвы запустили акселерационную программу для московских стартапов

Трубная Металлургическая Компания (ТМК) и Агентство инноваций Москвы запустили акселерационную программу в рамках трека «Московского акселератора» PipeIndustryTech.

Комментарии
null