Оглавление:

Pi Home, виртуальный помощник на базе Raspberry: 11 шагов (с изображениями)
Pi Home, виртуальный помощник на базе Raspberry: 11 шагов (с изображениями)

Видео: Pi Home, виртуальный помощник на базе Raspberry: 11 шагов (с изображениями)

Видео: Pi Home, виртуальный помощник на базе Raspberry: 11 шагов (с изображениями)
Видео: Home Assistant - Обзор Платформы Автоматизации 2024, Июль
Anonim
Pi Home, виртуальный помощник на базе Raspberry
Pi Home, виртуальный помощник на базе Raspberry

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

К концу этого руководства у вас будет полностью функционирующий Google Home, который будет реагировать на ваши голосовые команды. В противном случае это Ассистент со всеми функциями Google Home. Это означает, что он может преобразовывать единицы измерения, воспроизводить мультимедиа, проверять результаты, читать вам аудиокниги, проверять погоду и многое другое. Он также будет работать с различными устройствами домашней автоматизации, такими как умные лампочки, поэтому вы можете управлять ими с помощью голоса. Как и настоящий Google Assistant, ваш DIY Google Home можно подключить, чтобы добавить больше функций, например, добавить список дел в Evernote или получить уведомление на свой телефон, когда таймер сработает.

Шаг 1. Вещи, которые вам нужны

Вещи, которые нужно
Вещи, которые нужно

Вам понадобится:

  • Raspberry Pi 3 или 2 с установленным Raspbian и настройкой Wi-Fi.
  • Блок питания и кабель питания MicroUSB. (Минимум 5В, 2А)
  • Карта MicroSD. (Минимум 8 ГБ)
  • USB-микрофон. (Вы узнаете, как настроить через Интернет, также здесь…)
  • Динамики
  • Клавиатура и мышь для настройки
  • Светодиод и пара проводов для подключения

Все собрано, подключено и подключено, приступим.

Шаг 2: Настройка USB-микрофона

Настройка USB-микрофона
Настройка USB-микрофона
  • Pi не имеет встроенных микрофонов. Если вы хотите записывать звук, вам необходимо подключить USB-микрофон.
  • Подключите USB-микрофон к любому из USB-разъемов вашего Pi.
  • Введите в терминале следующую команду.

arecord -l

Эта команда выведет список всех доступных устройств записи звука. Он будет пустым, если ваш USB-микрофон подключен. Вы должны получить следующий результат

pi @ raspberrypi: ~ $ arecord -l

**** Список аппаратных устройств CAPTURE **** карта 1: Устройство [USB PnP Sound Device], устройство 0: USB Audio [USB Audio] Субустройства: Субустройство # 0: субустройство # 0

Вы можете видеть, что ваше USB-устройство подключено к карте 1 и идентификатор устройства равен 0. Raspberry Pi распознает карту 0 как внутреннюю звуковую карту, то есть bcm2835 и другие внешние звуковые карты как внешние звуковые карты с именами card 1, card 2 и следующий…

Теперь нам нужно изменить настройки звука. Чтобы отредактировать файл asound.conf, введите следующую команду

sudo nano /etc/asound.conf

Добавьте в файл следующие строки. Затем нажмите Ctrl + X, а затем Y, чтобы сохранить файл

pcm.! default {

введите asym capture.pcm "mic" plays.pcm "динамик"} pcm.mic {type plug slave {pcm "hw: 1, 0"}} pcm.speaker {type hw card 0} ctl.! default {type hw card 0}

Это установит ваш внешний микрофон (pcm.mic) в качестве устройства захвата звука (pcm!. Default), а вашу встроенную звуковую карту (карта 0) в качестве устройства динамика.

Создайте новый файл с именем.asoundrc в домашнем каталоге (/ home / pi), выполнив следующую команду и вставив указанные выше конфигурации (которые были добавлены в файл /etc/asound.conf.) В этот файл

sudo nano.asoundrc.

Шаг 3: Настройка выхода на динамик

Настройка выхода на динамик
Настройка выхода на динамик
  • Подключите динамик к разъему для наушников 3,5 мм на Raspberry Pi.
  • Выполните команду ниже, чтобы открыть экран конфигурации пи.

sudo raspi-config

Перейдите в Дополнительные параметры> Аудио и выберите устройство вывода (разъем 3,5 мм или HDMI)

Шаг 4. Проверьте микрофон и динамики

Проверьте микрофон и динамики
Проверьте микрофон и динамики

Чтобы проверить динамик, выполните в терминале следующую команду. Будет воспроизведен тестовый звук. Нажмите Ctrl + C, чтобы выйти. Если вы не слышите тестовый звук, проверьте подключение динамика и питание. Тест звучит так:

Передний левый, передний правый

спикер-тест -t wav

Чтобы проверить свой микрофон, выполните следующую команду. Будет записан короткий аудиоклип продолжительностью 5 секунд. Если вы получите какую-либо ошибку, проверьте предыдущие шаги еще раз

arecord --format = S16_LE --duration = 5 --rate = 16k --file-type = raw out.raw

Воспроизведите записанный звук и убедитесь, что все работает правильно, набрав следующую команду

aplay --format = S16_LE --rate = 16k out.raw

Наше оборудование установлено

Шаг 5: Загрузите необходимые пакеты и настройте среду Python:

Загрузите необходимые пакеты и настройте среду Python
Загрузите необходимые пакеты и настройте среду Python

Во-первых, обновите свою операционную систему, выполнив одну за другой команды в терминале

sudo apt-get update

sudo apt-get upgrade

Выполнение команд по одной в терминале создаст среду Python 3 (библиотека Google Assistant работает только на Python 3) в вашем Pi и установит необходимые элементы

sudo apt-get install python3-dev python3-venv

$ python3 -m venv env $ env / bin / python -m pip install --upgrade pip setuptools

Активируйте среду Python. Это приведет к появлению текста «(env)» перед командным терминалом вашего Pi

исходный env / bin / активировать

Установите пакет SDK Google Assistant, который содержит весь код, необходимый для запуска Google Assistant на Pi. Он должен загрузить библиотеку Google Assistant и значение

python -m pip install --upgrade библиотека-помощник Google

Шаг 6. Включение облачного проекта Google Assistant

Включение облачного проекта Google Assistant
Включение облачного проекта Google Assistant
Включение облачного проекта Google Assistant
Включение облачного проекта Google Assistant
Включение облачного проекта Google Assistant
Включение облачного проекта Google Assistant
Включение облачного проекта Google Assistant
Включение облачного проекта Google Assistant
  • Откройте Google Cloud Console и создайте новый проект. (Назовите это как угодно.) Учетная запись, с которой вы входите, будет использоваться для отправки запросов в Google Assistant и получения вашего персонального ответа.
  • Перейдите в диспетчер API и включите API Google Assistant.
  • Убедитесь, что вы включили историю приложений и веб-поиска, информацию об устройстве и историю голоса и звука в элементах управления действиями для учетной записи.
  • Перейдите в «Учетные данные» и настройте экран содержимого OAuth.
  • Перейдите на вкладку «Учетные данные» и создайте новый идентификатор клиента OAuth.
  • Выберите тип приложения «Другое» и дайте имя ключу.
  • Загрузите файл JSON, в котором хранится информация о ключе OAuth, и сохраните его.

Шаг 7: аутентификация Raspberry Pi

Аутентификация Raspberry Pi
Аутентификация Raspberry Pi
Аутентификация Raspberry Pi
Аутентификация Raspberry Pi
Аутентификация Raspberry Pi
Аутентификация Raspberry Pi
Аутентификация Raspberry Pi
Аутентификация Raspberry Pi

Установите средство авторизации, выполнив команду ниже

(env) python -m pip install --upgrade google-auth-oauthlib [инструмент]

Запустите инструмент, выполнив следующую команду. Убедитесь, что вы указали правильный путь к файлу JSON, который вы скачали на шаге 6

(ru) google-oauthlib-tool --client-secrets "JSON_FILE_PATH" --scope https://www.googleapis.com/auth/assistant-sdk-prototype --save --headless

Он должен отображаться, как показано ниже. Скопируйте URL-адрес и вставьте его в браузер. Если вместо этого он отображает:

InvalidGrantError

затем был введен неверный код. Попробуйте снова.

Перейдите по этому URL-адресу:

Введите код авторизации:

Шаг 8: Настройка светодиодного индикатора

Настройка светодиодного индикатора
Настройка светодиодного индикатора
  • Подключите светодиод между контактом 25 GPIO и землей.
  • Мы собираемся установить контакт 25 GPIO в качестве выходного контакта.
  • SDK Google Assistant предоставляет обратный вызов EventType. ON_CONVERSATION_TURN_STARTED, когда начинается преобразование с помощью Google Assistant. На этом этапе мы собираемся настроить GPIO 25 на свечение светодиода.
  • Когда диалог завершается, будет получен обратный вызов EventType. ON_CONVERSATION_TURN_FINISHED. На этом этапе мы сбросим GPIO 25, чтобы выключить светодиод.

Шаг 9: Инициализация при загрузке завершена:

Инициализация при загрузке завершена
Инициализация при загрузке завершена
  • Когда ваш Pi завершит загрузку, мы запустим скрипт python, который проверит и представит Google Assistant при загрузке.
  • Сначала добавьте пакет RPi. GPIO, чтобы добавить поддержку GPIO, используя следующую команду.

pip установить RPi. GPIO

Выполните шаги один за другим. Перейдите в каталог пользователя. Создайте новый файл python main.py

cd / home / pi

sudo nano main.py

Напишите связанный скрипт и сохраните файл

Теперь создайте один сценарий оболочки, который будет инициализировать и запускать Google Assistant

sudo nano google-assistant-init.sh

Вставьте строки ниже в файл и сохраните файл

#! / bin / sh

/ дома / пи / окружность / bin / python3 -u /home/pi/main.py

Предоставьте разрешение на выполнение

sudo chmod + x google-assistant-init.sh

Вы можете запустить google-assistant-init.sh, чтобы запустить Google Assistant в любое время.

Шаг 10. Запуск Google Ассистента при загрузке

Запуск Google Ассистента при загрузке
Запуск Google Ассистента при загрузке

Включить Google Assistant при загрузке можно двумя способами. Посмотрим на каждого из них

1. Автозапуск с Pixel Desktop при загрузке:

  • Это запустит Google Assistant, как только загрузится рабочий стол Pixel. Убедитесь, что в конфигурациях Raspberry Pi выбрана загрузка «Рабочий стол».
  • Введите команду ниже.

sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart

Добавьте следующее после @xscreensaver -no-splash

@lxterminal -e "/home/pi/google-assistant-init.sh"

Сохраните и выйдите, нажав «Ctrl + X», а затем «Y»

2. Автозапуск с CLI при загрузке: (Я лично использовал это, хотя автозапуск работает нормально.)

  • Это запустит Google Assistant, если вы установили загрузку CLI. Убедитесь, что в конфигурациях Raspberry Pi выбрана загрузка «CLI».
  • Введите команду ниже.

Судо нано / и т. д. / профиль

Добавьте строку ниже в конец файла

sudo /home/pi/google-assistant-init.sh

Сохраните и выйдите, нажав «Ctrl + X», а затем «Y»

Шаг 11: Заключение

Заключение
Заключение

Чем именно отличается этот Home Pi? Ничего, кроме расходов. Конечный результат в основном тот же: вы можете активировать свой DIY Google Home, произнеся пробуждающее слово «Окей, Google», и устройство будет работать как настоящий Ассистент. Вы можете выполнять множество повседневных дел с вашим Google Home. Если вы хотите выполнить свои индивидуальные задачи, такие как выключение света, проверка двери, вы можете сделать это с помощью интеграции Google Actions в свой Google Assistant. Если у вас возникли проблемы с запуском Google Assistant, оставьте комментарий ниже. Я постараюсь решить их, насколько смогу.

Рекомендуемые: