Demo ARDrone 2.0 Controlado por Alexa: Dron Activado por Voz con Raspberry Pi y Hologram Nova
Guía práctica para convertir un ARDrone 2.0 en compañero controlado por voz usando Amazon Alexa, Raspberry Pi y módem USB Hologram Nova.
Historia
Motivación
Tras dominar el ARDrone 2.0 en proyecto previo, buscamos elevar la experiencia integrando la interfaz de voz de Alexa. El Reto Alexa & Arduino Smart Home nos inspiró a construir una demo totalmente funcional de dron controlado por voz.
A continuación, un recorrido conciso de nuestro proceso.
Cubriremos configuración software en la Pi, configuración de skill Alexa y pasos finales de despliegue.
Configuración Software Pi
Instala librería Flask‑Ask en la Pi para exponer endpoint compatible con Alexa:
$ sudo pip install flask-ask
Luego, clona el repositorio de control Wi‑Fi ARDrone y ejecuta el script install.sh provisto para habilitar control remoto vía Python.
Configurar Skill y App Alexa
Construimos un skill Alexa personalizado que habla con servidor Flask corriendo en la Pi. Ngrok da al servidor endpoint HTTPS público requerido por Alexa.
Abajo, ejemplo mínimo de aplicación Flask‑Ask (guarda como 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, "/")
# Inicializa dron y da breve periodo 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")
Ejecuta el servidor con:
python app.py
Arranca Ngrok con subdominio reservado para mantener URL HTTPS estable:
./ngrok http -subdomain=<your-subdomain-here> 5000
Nota: La Pi se une a la red Wi‑Fi del ARDrone, mientras la Hologram Nova provee conectividad celular para peticiones de Alexa.
Usamos plan mensual de 250 MB en la Nova, que dio rendimiento fiable.
Para configurar el skill Alexa, ve a Amazon Developer Console → Alexa Skills Kit → + Add a New Skill. Sigue el asistente en pantalla, completando cada pestaña hasta que todos los indicadores se pongan verdes.
- Interaction Model – Intent Schema: Copia el JSON abajo al 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 – rellena con frases como “takeoff”, “land”, “go forward”, etc. (ver lista original).
- Configuration – pon endpoint HTTPS y pega URL Ngrok en campo Default. Deshabilita account linking para esta demo.
- SSL Certificate – elige opción media: “My development endpoint is a sub‑domain of a domain that has a wildcard certificate from a certificate authority”.
- Test – usa simulador integrado para verificar cada intent.
Una vez todas las pestañas muestran checkmarks verdes, publica el skill en tu dispositivo Echo vía enlace de beta testing.
Ejecutar
Para lanzar el sistema completo:
- Enciende ARDrone y conecta la Pi a su red Wi‑Fi.
- En la Pi, activa red celular Hologram Nova:
$ sudo hologram network connect
Una vez el LED de Nova es azul fijo, el enlace celular está activo. - Arranca Ngrok con subdominio reservado (ver antes).
- Ejecuta la app Flask:
$ python app.py
- Con LEDs del dron en verde, puedes comandarlo vía Alexa. Si no responde, di “Alexa, ask Major Tom to reset”.
Fuente: MajorTom: Alexa Voice Controlled ARDrone 2.0
Proceso de manufactura
- Ventilador controlado por temperatura: sistema DIY con relé para refrigeración de muebles multimedia
- Sistema de acuaponía controlado por Raspberry Pi: guía de construcción y código
- Instalar Google Assistant en MATRIX Voice Raspberry Pi: guía paso a paso
- Controla tu Chromecast con Amazon Alexa usando Raspberry Pi y Python
- Botón IoT AWS Controlado por Movimiento con Raspberry Pi, Sensor PIR y MQTT
- Construye un Robot Raspberry Pi Controlado por Wi‑Fi con Python – Guía Paso a Paso
- Controla LEDs con Alexa mediante Raspberry Pi – Guía paso a paso fácil
- Convierte un Big Mouth Billy Bass en un asistente Alexa con Arduino, shield L293D y amplificador LM386
- Transforma un viejo coche RC en un vehículo controlado por joystick con Arduino
- Por qué 2017 fue el año de las interfaces de voz
- Acelere Integración Alexa con Kits de Desarrollo y Diseños de Referencia