Alexa-gesteuerter ARDrone 2.0: Sprachaktivierte Drohne mit Raspberry Pi & Hologram Nova
Praxisanleitung zur Umwandlung einer ARDrone 2.0 in sprachgesteuerten Begleiter via Amazon Alexa, Raspberry Pi und Hologram Nova USB-Modem.
Geschichte
Motivation
Nach Beherrschung der ARDrone 2.0 in vorherigem Projekt suchten wir Erfahrungssteigerung durch Alexas Sprachinterface. Die Alexa & Arduino Smart Home Challenge inspirierte uns zu funktionaler, sprachgesteuerter Drohnen-Demo.
Kurzer Walkthrough unseres Prozesses:
Wir behandeln Raspberry Pi Software-Setup, Alexa Skill Konfiguration und finale Deployment-Schritte.
Pi Software Setup
Flask-Ask Library auf Pi installieren für Alexa-kompatiblen Endpunkt:
$ sudo pip install flask-ask
ARDrone WiFi-Control Repository klonen und install.sh Skript ausführen für Python-Remotesteuerung.
Alexa Skill & App einrichten
Custom Alexa Skill gebaut, der mit Flask-Server auf Pi spricht. Ngrok gibt Server öffentliches HTTPS-Endpunkt, den Alexa braucht.
Minimales Flask-Ask Anwendungsbeispiel (speichern 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, "/") # Drohne initialisieren & kurze Reset-Periode geben 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")
Server starten mit:
python app.py
Ngrok mit reservierter Subdomain starten für stabiles HTTPS-URL:
./ngrok http -subdomain=<your-subdomain-here> 5000
Hinweis: Pi verbindet mit ARDrone-WiFi, Hologram Nova liefert Mobilfunk für Alexa-Requests.
Wir nutzten 250-MB-Monatsplan auf Nova, lieferte zuverlässige Performance.
Alexa Skill konfigurieren: Amazon Developer Console → Alexa Skills Kit → + Add a New Skill. Wizard folgen, jeden Tab bis alle Status grün.
- Interaction Model – Intent Schema: Folgendes JSON in Editor kopieren.
{ "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 – Phrasen wie „takeoff“, „land“, „go forward“ etc. befüllen (Originalliste referenzieren).
- Configuration – Endpoint auf HTTPS, Ngrok-URL in Default-Feld. Account Linking für Demo deaktivieren.
- SSL Certificate – mittlere Option: „My development endpoint is a sub‑domain of a domain that has a wildcard certificate from a certificate authority“.
- Test – Built-in Simulator nutzen, jedes Intent verifizieren.
Wenn alle Tabs grüne Häkchen zeigen, Skill via Beta-Testing-Link auf Echo-Device veröffentlichen.
Ausführen
Gesamtsystem starten:
- ARDrone einschalten, Pi mit dessen WiFi verbinden.
- Auf Pi Hologram Nova Mobilfunk aktivieren:
$ sudo hologram network connect
Sobald Nova-LED solid blau, zellulärer Link aktiv. - Ngrok mit reservierter Subdomain starten (siehe oben).
- Flask-Anwendung starten:
$ python app.py
- Bei grünen Drohnen-LEDs via Alexa steuern. Keine Reaktion? „Alexa, ask Major Tom to reset“.
Quelle: MajorTom: Alexa Voice Controlled ARDrone 2.0
Herstellungsprozess
- Alexa Integration beschleunigen mit Developer Kits und Reference Designs
- Warum 2017 zum Jahr der Sprachinterfaces wurde
- Temperaturgesteuerter Lüfter: DIY Relais-System für Medienmöbel-Kühlung
- Raspberry Pi-gesteuertes Aquaponik-System: Bauanleitung & Code
- Google Assistant auf MATRIX Voice Raspberry Pi installieren – Schritt-für-Schritt-Anleitung
- Chromecast mit Amazon Alexa per Raspberry Pi und Python steuern
- Bewegungsgesteuerter AWS IoT Button mit Raspberry Pi, PIR-Sensor und MQTT
- WLAN-gesteuerter Raspberry Pi Roboter mit Python bauen – Schritt-für-Schritt
- LEDs mit Alexa über Raspberry Pi steuern – Einfache Schritt-für-Schritt-Anleitung
- Alexa-gesteuerter Big Mouth Billy Bass mit Arduino, L293D & LM386