Do wykonania będzie potrzebne: Raspberry Pi, głośniki, mikrofon na usb. Można także podłączyć diodę led na pinie 25, aby wizualizować aktualny status asystenta.
1. Zaktualizuj system komendą sudo apt-get update.
2. Skonfiguruj swojego asystenta za pomocą instrukcji (krok 4 jest zbędny, więc możesz go bez obaw ominąć): https://developers.google.com/assistant ... nd-account
3. Skopiuj pobrany plik JSON do katalogu /home/pi na swoim raspberry oraz zmień jego nazwę na assistant.json
4. Otwórz terminal i wykonaj poniższe komendy (ostatnie dwie komendy ustawiają automatyczny start aplikacji asystenta, kiedy Raspberry się włącza):
Kod: Zaznacz cały
git clone -b voicekit https://github.com/google/aiyprojects-raspbian.git ~/voice-recognizer-raspi
cd ~/voice-recognizer-raspi
scripts/install-deps.sh
sudo scripts/install-services.sh
cp src/assistant_library_with_local_commands_demo.py src/main.py
sudo systemctl enable voice-recognizer.service
6. Otwórz terminal i wykonaj poniższe komendy:
Kod: Zaznacz cały
cd ~/voice-recognizer-raspi
source env/bin/activate
python3 src/main.py
7. Możesz teraz wywołać asystenta za pomocą zdania „Ok Google” a następnie powiedzieć coś do niego. Po restarcie raspberry asystent powinien sam się uruchomić.
Własne akcje
1. Do wykonania akcji posłużymy się adresami publicznymi do naszych scen w Supla Scripts (instrukcja do scen: https://www.youtube.com/watch?v=m9JipPYhm6I&t=288s).
2. Otwórz nowe okno terminala i wykonaj komendy
Kod: Zaznacz cały
pip install requests
sudo nano /home/pi/voice-recognizer-raspi/src/main.py
Kod: Zaznacz cały
import requests
4. Możemy zauważyć, że plik ma już zaimplementowane dwie akcje, są to:
Kod: Zaznacz cały
def power_off_pi():
aiy.audio.say('Good bye!')
subprocess.call('sudo shutdown now', shell=True)
def reboot_pi():
aiy.audio.say('See you in a bit!')
subprocess.call('sudo reboot', shell=True)
Kod: Zaznacz cały
def light_on():
on = requests.get('TUTAJ WKLEJ PUBLICZNY URL DO TWOJEJ SCENY Z SUPLA SCRIPTS')
on.json()
Kod: Zaznacz cały
elif event.type == EventType.ON_RECOGNIZING_SPEECH_FINISHED and event.args:
text = event.args['text']
print('You said:', text)
if text == 'power off':
assistant.stop_conversation()
power_off_pi()
elif text == 'reboot':
assistant.stop_conversation()
reboot_pi()
Kod: Zaznacz cały
elif text == 'turn on the lamp':
assistant.stop_conversation()
light_on()
Jak można było zauważyć na filmiku, ja wywołuję mojego asystenta frazą "Supla" jednak z tym jest więcej roboty, więc jak wyrazicie chęć to mogę przygotować do tego osobny poradnik
Źródła:
https://supla.fracz.com/login
https://www.raspberrypi.org/forums/view ... p?t=188958
https://github.com/google/aiyprojects-raspbian