Démo ARDrone 2.0 contrôlé par Alexa : Drone activé vocalement avec Raspberry Pi & Hologram Nova
Guide pratique pour transformer un ARDrone 2.0 en compagnon piloté par la voix utilisant Amazon Alexa, un Raspberry Pi, et un modem USB Hologram Nova.
Histoire
Motivation
Après avoir maîtrisé l'ARDrone 2.0 dans un projet précédent, nous avons cherché à élever l'expérience en intégrant l'interface vocale d'Alexa. Le défi Alexa & Arduino Smart Home nous a inspirés pour construire une démo de drone entièrement fonctionnelle, pilotée par la voix.
Voici un aperçu concis de notre processus.
Nous couvrirons la configuration logicielle du Raspberry Pi, la configuration de la skill Alexa, et les étapes de déploiement final.
Configuration logicielle du Pi
Installez la bibliothèque Flask-Ask sur le Pi pour exposer un endpoint compatible Alexa :
$ sudo pip install flask-ask
Ensuite, clonez le dépôt de contrôle Wi-Fi ARDrone et exécutez le script install.sh fourni pour activer le contrôle à distance via Python.
Configuration de la skill et de l'application Alexa
Nous avons construit une skill Alexa personnalisée qui communique avec un serveur Flask tournant sur le Pi. Ngrok donne au serveur un endpoint HTTPS public requis par Alexa.
Voici un exemple minimal de l'application Flask-Ask (sauvegardez comme app.py) :
#!/usr/bin/env python from flask import Flask from flask_ask import Ask, statement import ardrone import time app = Flask(__name__) ask = Ask(app, "/") # Initialiser le drone et lui donner une brève période de reset drone = ardrone.ARDrone() time.sleep(5) drone.reset() @app.route("/") def home(): return "Ground Control to Major Tom" @ask.intent("reset") def reset(): drone.reset() return statement("resetting") Lancez le serveur avec :
python app.py
Démarrez Ngrok avec un sous-domaine réservé pour garder l'URL HTTPS stable :
./ngrok http -subdomain=<your-subdomain-here> 5000
Note : Le Pi rejoint le réseau Wi-Fi de l'ARDrone, tandis que le Hologram Nova fournit la connectivité cellulaire pour les requêtes d'Alexa.
Nous avons utilisé un forfait 250 Mo/mois sur le Nova, offrant une performance fiable.
Pour configurer la skill Alexa, allez dans la Console Développeur Amazon → Alexa Skills Kit → + Add a New Skill. Suivez l'assistant à l'écran, complétant chaque onglet jusqu'à ce que tous les indicateurs de statut deviennent verts.
- Modèle d'interaction – Schéma d'intentions : Copiez le JSON ci-dessous dans l'éditeur.
{ "intents": [ {"intent": "reset"}, {"intent": "takeoff"}, {"intent": "land"}, {"intent": "hover"}, {"intent": "goForward"}, {"intent": "goBackward"}, {"intent": "goLeft"}, {"intent": "goRight"}, {"intent": "AMAZON.PreviousIntent"}, {"intent": "AMAZON.NextIntent"}, {"intent": "AMAZON.HelpIntent"}, {"intent": "AMAZON.ScrollUpIntent"}, {"intent": "AMAZON.ScrollLeftIntent"}, {"intent": "AMAZON.ScrollDownIntent"}, {"intent": "AMAZON.ScrollRightIntent"}, {"intent": "AMAZON.PageUpIntent"}, {"intent": "AMAZON.PageDownIntent"}, {"intent": "AMAZON.MoreIntent"}, {"intent": "AMAZON.NavigateSettingsIntent"}, {"intent": "AMAZON.StopIntent"} ] } - Exemples d'énoncés – remplissez avec des phrases comme "takeoff", "land", "go forward", etc. (voir la liste originale pour référence).
- Configuration – définissez l'endpoint sur HTTPS et collez l'URL Ngrok dans le champ Default. Désactivez le lien de compte pour cette démo.
- Certificat SSL – choisissez l'option du milieu : « Mon endpoint de développement est un sous-domaine d'un domaine qui a un certificat wildcard d'une autorité de certification ».
- Test – utilisez le simulateur intégré pour vérifier chaque intention.
Une fois tous les onglets avec coches vertes, publiez la skill sur votre appareil Echo via le lien de test bêta.
Exécution
Pour lancer le système complet :
- Allumez l'ARDrone et connectez le Pi à son réseau Wi-Fi.
- Sur le Pi, activez le réseau cellulaire Hologram Nova :
$ sudo hologram network connect
Une fois la LED du Nova bleu fixe, la liaison cellulaire est active. - Démarrez Ngrok avec le sous-domaine réservé (voir plus haut).
- Lancez l'application Flask :
$ python app.py
- Avec les LEDs du drone vertes, vous pouvez le commander via Alexa. Si le drone ne répond pas, dites « Alexa, demande à Major Tom de reset ».
Source : MajorTom : Contrôle vocal Alexa ARDrone 2.0
Processus de fabrication
- Accélérer l'intégration d'Alexa avec les kits de développement et designs de référence
- Pourquoi 2017 est devenue l'année des interfaces vocales
- Ventilateur à contrôle de température : système relais DIY pour refroidissement meuble multimédia
- Système aquaponique piloté par Raspberry Pi : guide de construction et code
- Installer Google Assistant sur un MATRIX Voice Raspberry Pi – Guide étape par étape
- Contrôler votre Chromecast avec Amazon Alexa via un Raspberry Pi et Python
- Construire un bouton IoT AWS contrôlé par mouvement avec Raspberry Pi, capteur PIR et MQTT
- Construire un robot Raspberry Pi piloté Wi-Fi avec Python – Guide pas à pas
- Contrôler des LED avec Alexa via Raspberry Pi – Guide Pas à Pas