Un hook
permet à l'utilisateur de définir une commande shell qui sera exécutée à un moment précis du programme.
Ils sont accessibles via le menu Settings.
Voici quels sont les hooks
qui seront disponible avec cette première version:
Chaque hook est un script shell qui peut-être modifié directement depuis le menu ci-dessus. Certains hooks recoivent un ou plusieurs arguments que vous pouvez utiliser, voir tableau ci-dessous:
Hook | Moment de déclenchement | Valeur de $1 | Exemple d'utilisation |
Program startup | Lancement de Jarvis | ||
Start listening | Jarvis écoute une commande de l'utilisateur | Allumer une led | |
Stop listening | Jarvis arrête d'écouter (silence entendu, timeout, ...) | Eteindre une led | |
Listening timeout | Jarvis attendait une commande mais rien n'a été entendu | ||
Entering command mode | Hotword entendu, Jarvis entre en mode conversation et va écouter / exécuter une ou plusieurs commandes | Mettre en pause la musique / TV | |
Start speaking | Jarvis commencer à parler | Phrase énoncée | |
Stop speaking | Jarvis a fini de parler | ||
Exiting command mode | Jarvis sort du mode conversation, et se remet en attende du hotword | Remettre la musique / TV | |
Program exit | Jarvis est quité ou si une erreur est rencontrée Pour quitter Jarvis depuis une commande et déclencher ce hook, utiliser `jv_exit` et non pas `exit` |
Code retour |
Utilisation
La grande majorité de ces hooks sont utilisé par le plugin Jarvis-Face qui affiche un visage animé à l'écran en fontion des différents états de Jarvis.
Vous pouvez par exemple utiliser une diode pour indiquer l'état de Jarvis:
- Diode éteinte: Jarvis n'est pas lancé (ou a planté)
- Diode clignotante: Jarvis attend que le mot clé soit prononcé
- Diode allumée: Jarvis est en écoute d'une commande
Disons que vous avez un script my_led.sh
qui vous permet de contrôler une diode en lui passant off
on
ou blink
en paramètre.
Il suffirait de configurer les hooks
suivants:
- program startup:
my_led.sh blink
- entering command mode:
my_led.sh on
- exiting command mode:
my_led.sh blink
- program exit:
my_led.sh off
Ce post explique comment contrôler 3 LED et donner un visage à Jarvis:
Ce post explique comment contrôler la diode d'un Kinect pour indiquer l'état de Jarvis.