Alexa-gecontroleerde ARDrone 2.0 Demo: Stem-geactiveerde Drone met Raspberry Pi & Hologram Nova
Een hands-on gids om een ARDrone 2.0 om te zetten in een stem-gecontroleerde metgezel met Amazon Alexa, een Raspberry Pi en een Hologram Nova USB-modem.
Verhaal
Motivatie
Na het meesteren van de ARDrone 2.0 in een vorig project, zochten we de ervaring te verbeteren door Alexa's spraakinterface te integreren. De Alexa & Arduino Smart Home Challenge inspireerde ons om een volledig functionele, stem-gestuurde drone-demo te bouwen.
Hieronder is een beknopte walkthrough van ons proces.
We zullen de Raspberry Pi-softwaresetup, Alexa-skill-configuratie en de finale deploy-stappen behandelen.
Pi Software Setup
Installeer de Flask-Ask bibliotheek op de Pi om een Alexa-compatibel endpoint beschikbaar te stellen:
$ sudo pip install flask-ask
Kloon daarna de ARDrone Wi-Fi-controle repository en voer het meegeleverde install.sh script uit om remote-besturing via Python in te schakelen.
De Alexa Skill en App Instellen
We bouwden een aangepaste Alexa-skill die praat met een Flask-server die op de Pi draait. Ngrok geeft de server een publiek HTTPS-eindpunt dat door Alexa vereist wordt.
Hieronder is een minimaal voorbeeld van de Flask-Ask-applicatie (opslaan als 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, "/") # Initialiseer de drone en geef het een korte reset-periode 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")
Draai de server met:
python app.py
Start Ngrok met een gereserveerd subdomein om de HTTPS-URL stabiel te houden:
./ngrok http -subdomain=<your-subdomain-here> 5000
Let op: De Pi sluit zich aan bij het Wi-Fi-netwerk van de ARDrone, terwijl de Hologram Nova cellulaire connectiviteit biedt voor Alexa's verzoeken.
We gebruikten een 250MB maandelijks plan op de Nova, wat betrouwbare prestaties leverde.
Om de Alexa-skill te configureren, navigeer naar de Amazon Developer Console → Alexa Skills Kit → + Add a New Skill. Volg de on-screen wizard, voltooi elk tabblad tot alle statusindicatoren groen zijn.
- Interactiemodel – Intent Schema: Kopieer de onderstaande JSON in de editor.
{ "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"} ] } - Sample Utterances – vul in met zinnen zoals "takeoff", "land", "go forward", etc. (zie de originele lijst voor referentie).
- Configuratie – stel het eindpunt in op HTTPS en plak de Ngrok-URL in het Default-veld. Schakel account linking uit voor deze demo.
- SSL-certificaat – kies de middelste optie: "Mijn development-eindpunt is een subdomein van een domein dat een wildcard-certificaat heeft van een certificeringsinstantie".
- Test – gebruik de ingebouwde simulator om elke intent te verifiëren.
Zodra alle tabbladen groene vinkjes tonen, publiceer de skill naar je Echo-apparaat via de beta-testlink.
Draaien
Om het volledige systeem te lanceren:
- Zet de ARDrone aan en verbind de Pi met het Wi-Fi-netwerk ervan.
- Op de Pi, activeer het Hologram Nova-cellulaire netwerk:
$ sudo hologram network connect
Zodra de Nova's LED solide blauw is, is de cellulaire link actief. - Start Ngrok met het gereserveerde subdomein (zie eerder).
- Draai de Flask-applicatie:
$ python app.py
- Met de drone's LED's groen, kun je hem via Alexa besturen. Als de drone niet reageert, zeg "Alexa, vraag Major Tom om te resetten".
Bron: MajorTom: Alexa Stem-gecontroleerde ARDrone 2.0
Productieproces
- Temperatuur-gecontroleerde Ventilator: DIY Relais Systeem Voor Media Kast Koeling
- Raspberry Pi-gestuurd Aquaponica Systeem: Bouwgids & Code
- Google Assistant installeren op een MATRIX Voice Raspberry Pi – Stap-voor-stap gids
- Je Chromecast Besturen met Amazon Alexa via Raspberry Pi en Python
- Bouw een Beweging-gestuurde AWS IoT-knop met Raspberry Pi, PIR-sensor en MQTT
- Bouw een Wi-Fi-gecontroleerde Raspberry Pi Robot met Python – Stap-voor-stap Gids
- LED's bedienen met Alexa via Raspberry Pi – Eenvoudige stapsgewijze handleiding
- Een Alexa-aangedreven Big Mouth Billy Bass bouwen met Arduino, L293D Motor Shield en LM386-versterker
- Een oude RC-auto ombouwen tot joystick-gestuurd voertuig met Arduino
- Waarom 2017 het Jaar van Steminterfaces Werd
- Versnel Alexa‑integratie met developer kits en reference designs