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):
Code: Select all
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.service6. Otwórz terminal i wykonaj poniższe komendy:
Code: Select all
cd ~/voice-recognizer-raspi
source env/bin/activate
python3 src/main.py7. 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
Code: Select all
pip install requests
sudo nano /home/pi/voice-recognizer-raspi/src/main.py
Code: Select all
import requests4. Możemy zauważyć, że plik ma już zaimplementowane dwie akcje, są to:
Code: Select all
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)Code: Select all
def light_on():
on = requests.get('TUTAJ WKLEJ PUBLICZNY URL DO TWOJEJ SCENY Z SUPLA SCRIPTS')
on.json()Code: Select all
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()Code: Select all
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
