Commander un Raspberry Pi avec la voix
Agence web » Actualités du digital » Commander un Raspberry Pi avec la voix

Commander un Raspberry Pi avec la voix

Dans l’article du jour je ferme mes volets roulants avec ma voix !

Pour l’exemple j’ai choisi d’associer ma commande personnalisée à un script  de contrôle de mes volets roulants sur mon Raspberry. Vous pouvez cependant vous servir de cette exemple pour interfacer n’importe quel script et donc faire de la domotique chez vous contrôlée par la voix.

Application pour déclencher les actions sur le RPi

L’application web est créé à l’aide du framework Python nommée Flask.

On commence par installer le framework sur notre Rpi.

On créé un fichier python que l’on rend exécutable

Voici le code utilisé. J’ai défini 2 ressources: ouverture et fermeture.

Dans l’exemple je fais appel à la classe “GpioControl” que je vous donne à titre d’exemple. Celui ci place les ports GPIO dans un état “1” pendant une seconde. Evidemment, ce script est spécifique au contrôle de mes volets roulants. Vous devez le remplacer la le votre dans le cadre du contrôle domotique que vous développez.

Lancer le serveur Web Flask (je lance en sudo car la librairie GPIO nécessite des droits root)

On va tester la ressource. Sur Linux je test à l’aide de l’outil Curl. La syntaxe est la suivante

Pour tester la ressource “fermeture” je tape donc

Création de l’action Tasker

Je suppose que vous avez déjà créé un événement et enregistré la commande vocale. On va maintenant créer l’action associée à cet événement.

L’action va consister à envoyer la requête HTTP de type POST au serveur Flask sur le Rpi.

  • Dans le menu de tache précédemment ouvert suite à la création d’un événement, saisissez un nom à votre tache.
  • Cliquer sur “+” pour ajouter une nouvelle action
  • On se rend dans la catégorie “Réseau”, puis “Post HTTP”
  • Dans “Serveur:Port” on donne l’adresse ip du Rpi ainsi que le port du serveur Web. Dans mon cas 5000, le port par défaut de Flask
  • Dans “chemin ” on saisie l’URL de la ressource demandée. Dans mon exemple /fermeture
  • Dans “Data/file” je place ma donnée envoyée dans le POST, à savoir un mot de passe. password=”monpass”

flask_http_rpi

Voila, il ne reste plus qu’a appeler la commande via Google Now. Voila ce que ça donne chez moi.

★★★★★