Ikuti petunjuk ini untuk mengeksekusi kode khusus pada perangkat Anda dalam merespons perintah dari Asisten Google.
Menjalankan contoh
Setelah Anda menentukan ciri dan memperbarui model, periksa untuk memastikan Asisten Google mengirimkan kembali perintah Aktif/Nonaktif untuk kueri.
googlesamples-assistant-pushtotalk
Tekan tombol Enter dan coba kueri berikut:
Aktifkan.
Anda akan melihat pernyataan berikut di output konsol. Jika tidak, lihat petunjuk pemecahan masalah.
INFO:root:Recording audio request.
INFO:root:End of audio request detected
INFO:root:Transcript of user request: "turn on".
INFO:root:Playing assistant response.
INFO:root:Turning device on
INFO:root:Waiting for device executions to complete.
INFO:root:Finished playing assistant response.
Anda akan menemukan tempat pernyataan ini dicetak dalam kode sumber.
Mendapatkan kode sumber
Sekarang Anda siap untuk memulai proyek Anda sendiri:
git clone https://github.com/googlesamples/assistant-sdk-python
Menemukan pengendali perintah
File pushtotalk.py
dalam kode contoh menggunakan SDK untuk mengirim permintaan dan
menerima respons dari Asisten Google.
cd assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/grpc
nano pushtotalk.py
Telusuri definisi pengendali berikut:
device_handler = device_helpers.DeviceRequestHandler(device_id)
@device_handler.command('action.devices.commands.OnOff')
def onoff(on):
if on:
logging.info('Turning device on')
else:
logging.info('Turning device off')
Kode dalam onoff()
menangani perintah action.devices.commands.OnOff
. Ini
adalah bagian dari perintah OnOff
trait.
Saat ini, output log definisi onoff()
ke konsol. Menggunakan helper
fungsi di device_helpers.py
untuk mengurai JSON respons dan menyimpan perintah
parameter dalam variabel untuk kemudahan penggunaan. Anda dapat mengubah kode ini untuk melakukan apa pun
yang diinginkan pada
proyek Anda.
Jika Anda memiliki kit LED, teruslah membaca untuk mempelajari cara menyalakan LED sebagai respons ke perintah OnOff. Jika tidak, lewati bagian berikutnya untuk mempelajari cara menambahkan lebih banyak ciri dan pengendali.
Langkah berikutnya - Raspberry Pi
Sekarang setelah Anda mengetahui cara menangani perintah yang masuk, ubah kode contoh untuk menyalakan LED. Proses ini membutuhkan beberapa perangkat keras tambahan jika Anda menggunakan {i>Raspberry Pi.<i}
Mengimpor paket GPIO
Untuk menyederhanakan akses software ke pin General Objective Input/Output (GPIO) di Raspberry Pi, instal paket RPi.GPIO virtual machine di lingkungan virtual.
pip install RPi.GPIO
Mengubah sampel
Buka file pushtotalk.py
.
cd assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/grpc
nano pushtotalk.py
Dalam file pushtotalk.py
, impor RPi.GPIO
modul ini untuk mengontrol
pin GPIO pada Pi. Tempatkan pernyataan berikut di dekat
pernyataan import
lainnya:
import RPi.GPIO as GPIO
Ubah kode untuk menyetel pin output di awal ke status logika rendah. Jika saat perintah diterima, atur pin ke status logika tinggi. Jika perintah {i>off<i} diterima, atur pin ke status logika rendah.
device_handler = device_helpers.DeviceRequestHandler(device_id)
GPIO.setmode(GPIO.BCM)
GPIO.setup(25, GPIO.OUT, initial=GPIO.LOW)
@device_handler.command('action.devices.commands.OnOff')
def onoff(on):
if on:
logging.info('Turning device on')
GPIO.output(25, 1)
else:
logging.info('Turning device off')
GPIO.output(25, 0)
Simpan perubahan Anda dan tutup file tersebut.
Menjalankan contoh
Jalankan kode contoh yang sudah dimodifikasi.
python pushtotalk.py
Gunakan kueri yang sama seperti sebelumnya. LED akan menyala.
Ini hanyalah langkah awal untuk Anda. Pelajari cara menambahkan lebih banyak karakteristik dan pengendali.