Suivez ces instructions pour exécuter du code personnalisé sur votre appareil dans en réponse aux commandes de l'Assistant Google.
Exécuter l'exemple
Maintenant que vous avez défini une caractéristique et mis à jour le modèle, vérifiez assurez-vous que l'Assistant Google renvoie une commande d'activation/de désactivation pour la requête.
googlesamples-assistant-pushtotalk
Appuyez sur la touche Entrée et essayez la requête suivante:
Activer.
Vous devriez voir les instructions suivantes dans le résultat de la console. Si ce n'est pas le cas, consultez dans les instructions de dépannage.
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.
Vous trouverez l'emplacement de ces instructions dans le code source.
Obtenir le code source
Vous êtes maintenant prêt à démarrer votre propre projet:
git clone https://github.com/googlesamples/assistant-sdk-python
Rechercher le gestionnaire de commandes
Le fichier pushtotalk.py
de l'exemple de code utilise le SDK pour envoyer des requêtes et
recevoir des réponses de l'Assistant Google.
cd assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/grpc
nano pushtotalk.py
Recherchez la définition de gestionnaire suivante:
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')
Le code dans onoff()
gère la commande action.devices.commands.OnOff
. Ce
fait partie de la commande OnOff
du schéma de caractéristique.
Actuellement, la définition onoff()
enregistre la sortie dans la console. Il utilise l'outil d'aide
fonctions dans device_helpers.py
pour analyser la réponse JSON et stocker la commande
des paramètres dans les variables pour faciliter leur utilisation. Vous pouvez modifier ce code pour faire ce que
que vous voulez
pour votre projet.
Si vous avez un kit LED, lisez la suite pour savoir comment allumer la LED en réponse à la commande OnOff. Si ce n'est pas le cas, passez la section suivante pour savoir comment Ajoutez d'autres caractéristiques et gestionnaires.
Étapes suivantes : Raspberry Pi
Maintenant que vous savez comment gérer la commande entrante, modifiez l'exemple de code pour allumer un voyant LED. Cela nécessitera du matériel supplémentaire si vous utilisez Raspberry Pi.
Importer le package GPIO
Pour simplifier l'accès logiciel aux broches GPIO (General Usage Input/Output) Raspberry Pi, installez le fichier RPi.GPIO dans l'environnement virtuel.
pip install RPi.GPIO
Modifier l'exemple
Ouvrez le fichier pushtotalk.py
.
cd assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/grpc
nano pushtotalk.py
Dans le fichier pushtotalk.py
, importez le fichier RPi.GPIO.
pour contrôler les broches GPIO sur le Pi. Placez l'instruction suivante à proximité du
Autres instructions import
:
import RPi.GPIO as GPIO
Modifiez le code pour définir initialement la broche de sortie sur l'état logique faible. Lorsque lors de la réception d'une commande, définissez la broche sur l'état logique élevé. Lorsque commande off est reçue, définissez la broche sur l’état logique faible.
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)
Enregistrez les modifications et fermez le fichier.
Exécuter l'exemple
Exécutez l'exemple de code modifié.
python pushtotalk.py
Utilisez la même requête que précédemment. Le voyant doit s'allumer.
Et ce n'est que le début. Découvrez comment ajouter d'autres caractéristiques et gestionnaires.