Cihazınızda özel kodu çalıştırmak için aşağıdaki talimatları uygulayın: Google Asistan'dan komutlara yanıt verme.
Örneği çalıştırma
Artık bir özellik tanımladığınıza ve modeli güncellediğinize göre, Google Asistan'ın uygun içerik için bir Açma/Kapatma komutu gönderdiğinden emin olun emin olun.
googlesamples-assistant-pushtotalk
Enter tuşuna basın ve aşağıdaki sorguyu deneyin:
Etkinleştir
Konsol çıkışında aşağıdaki ifadeleri görürsünüz. Belgeyi görmüyorsanız sorun giderme talimatlarını inceleyin.
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.
Bu ifadelerin kaynak kodunda yazdırıldığı yeri bulabilirsiniz.
Kaynak kodunu alma
Artık kendi projenizi başlatmaya hazırsınız:
git clone https://github.com/googlesamples/assistant-sdk-python
Komut işleyiciyi bulma
Örnek koddaki pushtotalk.py
dosyası, istekleri göndermek ve
Google Asistan'dan yanıt alabilir.
cd assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/grpc
nano pushtotalk.py
Aşağıdaki işleyici tanımını arayın:
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')
onoff()
içindeki kod, action.devices.commands.OnOff
komutunu işler. Bu
komutu OnOff öğesinin bir parçasıdır
özellik şeması.
Şu anda onoff()
tanımı çıkışları konsola kaydedmektedir. Yardımcı kullanır
device_helpers.py
içinde yanıt JSON işlevini ayrıştırmak ve komutu depolamak için işlevler
parametrelerini kullanabilirsiniz. Bu kodu istediğiniz her şeyi
istediğinize karar verin.
LED kitiniz varsa LED'in buna karşılık nasıl yakılacağını öğrenmek için okumaya devam edin açma/kapatma komutuna dokunun. Aksi takdirde, aşağıdaki adımları uygulayarak Daha fazla özellik ve işleyici ekleyin.
Sonraki adımlar - Raspberry Pi
Gelen komutu nasıl işleyeceğinizi artık bildiğinize göre örnek kodu değiştirin yakıyor. Raspberry Pi.
GPIO paketini içe aktarma
Yazılımın Genel Amaçlı Giriş/Çıkış (GPIO) pimlerine erişimini basitleştirmek için RPi.GPIO'yu yükleyin ve sanal ortamdaki pakettir.
pip install RPi.GPIO
Örneği değiştirme
pushtotalk.py
dosyasını açın.
cd assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/grpc
nano pushtotalk.py
pushtotalk.py
dosyasına RPi.GPIO'yu içe aktarın.
modülünü kullanabilirsiniz. Aşağıdaki ifadeyi
diğer import
ifadeleri:
import RPi.GPIO as GPIO
Çıkış PIN'ini başlangıçta düşük mantık durumuna ayarlamak için kodu değiştirin. komutu alındığında, pini yüksek mantık durumuna ayarlayın. "off" komutu alındığında, PIN'i düşük mantık durumuna ayarlayın.
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)
Değişikliklerinizi kaydedin ve dosyayı kapatın.
Örneği çalıştırma
Değiştirilen örnek kodu çalıştırın.
python pushtotalk.py
Önceki sorguyu kullanın. LED yanacaktır.
Bu daha başlangıç. Nasıl daha fazla özellik ve işleyici ekleyeceğinizi öğrenin.