Съдържание:

Pi Home, виртуален асистент с малини: 11 стъпки (със снимки)
Pi Home, виртуален асистент с малини: 11 стъпки (със снимки)

Видео: Pi Home, виртуален асистент с малини: 11 стъпки (със снимки)

Видео: Pi Home, виртуален асистент с малини: 11 стъпки (със снимки)
Видео: Broadlink RM plus - интегриране в Domoticz, създаване на база данни с IR и RF кодове 2024, Юли
Anonim
Pi Home, виртуален асистент с малини
Pi Home, виртуален асистент с малини

Google Home е полезно да го имате вкъщи. Това е красиво устройство с вграден Google Assistant - най -съвременният цифров личен асистент от Google. Той може да възпроизвежда медии, да запазва вашите напомняния и бележки, да ви казва продължителността на пътуването ви, да прави домашна автоматизация. Може да бъде поставен навсякъде в дома ви и ще направи някои невероятни неща за вас, но това е скъпо предложение, ако не сте сигурни, че ще го използвате. Добра новина обаче е, че можете да направите напълно функционален, използвайки Raspberry Pi.

До края на това ръководство ще имате напълно функциониращ Google Home, който отговаря на гласовите ви команди. В противен случай това е асистент с всички функции на Google Home. Което означава, че може да прави преобразуване на единици, да възпроизвежда медии, да проверява резултати, да ви чете аудио книги, да проверява времето и много други. Той също така ще работи с различни устройства за домашна автоматизация като интелигентни крушки, така че можете да ги контролирате с гласа си. Подобно на истинския Google Асистент, вашият начален Google Home може да бъде свързан, за да добави още функции, като добавяне на задачи към Evernote или да получите известие на телефона си, когато таймерът изгасне.

Стъпка 1: Неща, от които се нуждаете

Нещата, от които се нуждаете
Нещата, от които се нуждаете

Ще ви трябва:

  • Raspberry Pi 3 или 2 с инсталиран Raspbian и настройка на Wi-Fi.
  • Захранване и MicroUSB захранващ кабел. (Минимум 5V, 2A)
  • MicroSD карта. (Минимум 8GB)
  • USB микрофон. (Ще получите много от начина на настройка по интернет, също тук …)
  • Говорители
  • Клавиатура и мишка за настройка
  • LED и няколко проводника за свързване

Всички неща, събрани, свързани и включени, Нека започнем.

Стъпка 2: Настройване на USB микрофон

Настройване на USB микрофон
Настройване на USB микрофон
  • Pi няма вградени микрофони. Трябва да свържете USB микрофон, ако искате да записвате аудио.
  • Включете вашия USB микрофон в някой от USB слотовете на вашия Pi.
  • Въведете следната команда в терминала.

arecord -l

Тази команда ще изброи всички налични устройства за запис на звук. Той ще бъде празен, ако вашият USB микрофон е свързан. Трябва да получите следния изход

pi@raspberrypi: ~ $ arecord -l

**** Списък на хардуерните устройства за заснемане **** карта 1: Устройство [USB PnP Звуково устройство], устройство 0: USB аудио [USB аудио] Подустройства: Подустройство #0: подустройство #0

Можете да видите, че вашето USB устройство е свързано към карта 1 и идентификаторът на устройството е 0. Raspberry Pi разпознава карта 0 като вътрешна звукова карта, тоест bcm2835 и други външни звукови карти като външни звукови карти, наречени карта 1, карта 2 и следвайки…

Сега ще трябва да променим аудио конфигурациите. За да редактирате файла asound.conf, въведете следната команда

sudo nano /etc/asound.conf

Добавете редове по -долу във файла. След това натиснете Ctrl+X и след това Y, за да запазите файла

pcm.! по подразбиране {

type asym capture.pcm "mic" playback.pcm "speaker"} pcm.mic {type plug slave {pcm "hw: 1, 0"}} pcm.speaker {type hw card 0} ctl.! default {type hw card 0}

Това ще зададе външния ви микрофон (pcm.mic) като устройство за улавяне на звук (pcm!. По подразбиране) и вградената ви звукова карта (карта 0) като устройство с високоговорители.

Създайте нов файл с име.asoundrc в началната директория (/home/pi), като издадете следната команда и поставите горните конфигурации (които са добавени в /etc/asound.conf файл.) Към този файл

sudo nano.asoundrc.

Стъпка 3: Настройка на изхода на високоговорителя

Настройване на изхода на високоговорителя
Настройване на изхода на високоговорителя
  • Свържете вашия високоговорител към 3,5 мм жак за слушалки на Raspberry Pi.
  • Изпълнете командата по -долу, за да отворите конфигурационния екран на 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 надстройка

Изпълнението на командите една по една в терминала ще създаде среда на 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 -надстройка pip setuptools

Активирайте средата на python. Това ще донесе "(env)" текст пред командния терминал на вашия Pi

източник env/bin/активира

Инсталирайте пакета SDK на Google Assistant, който съдържа целия код, необходим за стартиране на Google Assistant на Pi. Тя трябва да изтегли библиотеката на Google Assistant и значението

python -m pip install --upgrade google-assistant-library

Стъпка 6: Активиране на облачния проект на Google Асистент

Активиране на облачния проект на Google Асистент
Активиране на облачния проект на Google Асистент
Активиране на облачния проект на Google Асистент
Активиране на облачния проект на Google Асистент
Активиране на облачния проект на Google Асистент
Активиране на облачния проект на Google Асистент
Активиране на облачния проект на Google Асистент
Активиране на облачния проект на Google Асистент
  • Отворете Google Cloud Console и създайте нов проект. (Назовете го с каквото и да е.) Профилът, с който влизате, ще се използва за изпращане на заявки до Google Асистент и получаване на персонализиран отговор.
  • Отидете до мениджъра на API и активирайте API на Google Assistant.
  • Уверете се, че сте активирали Активност в мрежата и приложенията, Информация за устройството и Гласова и аудио активност в Контролите за активност за акаунта.
  • Отидете на „Идентификационни данни“и настройте OAuth Content Screen.
  • Отидете в раздела „Идентификационни данни“и създайте нов клиентски идентификатор на 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-надстройка google-auth-oauthlib [инструмент]

Стартирайте инструмента, като изпълните следната команда. Уверете се, че сте предоставили правилния път за JSON файла, който сте изтеглили в стъпка 6

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

Тя трябва да се показва, както е показано по -долу. Копирайте URL адреса и го поставете в браузър. Ако вместо това се показва:

InvalidGrantError

след това е въведен невалиден код. Опитай пак.

Моля, отидете на този URL адрес:

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

Стъпка 8: Настройка на LED индикатора

Настройка на LED индикатора
Настройка на LED индикатора
  • Свържете вашия светодиод между GPIO щифт 25 и маса.
  • Ще зададем GPIO щифт 25 като изходен щифт.
  • SDK на Google Асистент осигурява EventType за обратно повикване. ON_CONVERSATION_TURN_STARTED, когато започне преобразуването с Google Асистент. В този момент ще настроим GPIO 25 да свети светодиода.
  • Когато разговорът приключи EventType. ON_CONVERSATION_TURN_FINISHED ще се получи обратно повикване. В този момент ще нулираме GPIO 25, за да изключим светодиода.

Стъпка 9: Инициализирането на Boot Complete:

Инициализацията при зареждане завършена
Инициализацията при зареждане завършена
  • Всеки път, когато вашият Pi завърши зареждането, ние ще стартираме скрипт на python, който ще проверява и представя Google Assistant при зареждане.
  • Първо добавете пакет RPi. GPIO, за да добавите GPIO поддръжка, като използвате следната команда.

pip install RPi. GPIO

Изпълнете стъпките една по една. Отидете в потребителската директория. Създайте нов python файл main.py

cd /home /pi

sudo nano main.py

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

Сега създайте един скрипт на обвивката, който ще инициализира и стартира Google Assistant

sudo nano google-assistant-init.sh

Поставете редовете по -долу във файла и запишете файла

#!/bin/sh

/home/pi/env/bin/python3 -u /home/pi/main.py

Дайте разрешение за изпълнение

sudo chmod +x google-assistant-init.sh

Можете да стартирате google-assistant-init.sh, за да стартирате Google Assistant по всяко време.

Стъпка 10: Стартиране на Google Assistant по време на зареждане

Стартиране на Google Assistant по време на зареждане
Стартиране на Google Assistant по време на зареждане

За да активирате Google Assistant при стартиране, има два начина. Нека да видим всеки от тях

1. Автоматично стартиране с Pixel Desktop при зареждане:

  • Това ще стартира Google Assistant веднага щом се зареди Pixel Desktop. Уверете се, че сте избрали зареждане „Desktop“в конфигурациите на 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. Уверете се, че сте избрали зареждане „CLI“в конфигурациите на Raspberry Pi.
  • Въведете командата по -долу.

sudo nano /etc /profile

Добавете по -долу ред в края на файла

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

Запазете и излезте, като натиснете „Ctrl+X“и след това „Y“

Стъпка 11: Заключение

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

Какво точно е различното в този Home Pi? Нищо, освен разходите. Крайният резултат е почти същият, можете да активирате своя DIY Google Home, като кажете думата за събуждане „Ok Google/ Hey Google“, и устройството работи точно като истински асистент. Можете да правите много ежедневни дейности с вашия Google Home. Ако искате да изпълнявате вашите персонализирани задачи като изключване на светлината, проверка на вратата, можете да го направите с интегриране на Google Actions във вашия Google Assistant. Ако имате проблеми със стартирането на Google Assistant, оставете коментар по -долу. Ще се опитам да ги разреша, доколкото мога.

Препоръчано: