Demo ARDrone 2.0 Controlado por Alexa: Drone Ativado por Voz com Raspberry Pi e Hologram Nova
Guia prático para transformar ARDrone 2.0 em companheiro controlado por voz usando Amazon Alexa, Raspberry Pi e modem USB Hologram Nova.
História
Motivação
Após dominar ARDrone 2.0 em projeto anterior, buscamos elevar a experiência integrando interface de voz da Alexa. O Alexa & Arduino Smart Home Challenge nos inspirou a construir demo totalmente funcional de drone controlado por voz.
Abaixo está walkthrough conciso do nosso processo.
Cobriremos configuração de software no Raspberry Pi, configuração de skill Alexa e passos finais de deployment.
Configuração de Software no Pi
Instale biblioteca Flask-Ask no Pi para expor endpoint compatível com Alexa:
$ sudo pip install flask-ask
Depois, clone repositório de controle Wi-Fi ARDrone e execute script install.sh fornecido para habilitar controle remoto via Python.
Configurando Skill e App Alexa
Construímos skill Alexa customizada que fala com servidor Flask rodando no Pi. Ngrok dá ao servidor endpoint HTTPS público requerido pela Alexa.
Abaixo exemplo mínimo da aplicação Flask-Ask (salve 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, "/") # Inicialize drone e dê breve período 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") Rode servidor com:
python app.py
Inicie Ngrok com subdomínio reservado para manter URL HTTPS estável:
./ngrok http -subdomain=<seu-subdominio-aqui> 5000
Nota: Pi junta-se à rede Wi-Fi do ARDrone, enquanto Hologram Nova fornece conectividade celular para requisições da Alexa.
Usamos plano 250 MB mensal no Nova, que entregou desempenho confiável.
Para configurar skill Alexa, navegue ao Amazon Developer Console → Alexa Skills Kit → + Add a New Skill. Siga wizard on-screen, completando cada aba até todos indicadores de status ficarem verdes.
- Interaction Model – Intent Schema: Copie JSON abaixo no 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 – preencha com frases como "takeoff", "land", "go forward", etc. (veja lista original para referência).
- Configuration – defina endpoint como HTTPS e cole URL Ngrok no campo Default. Desative account linking para esta demo.
- SSL Certificate – escolha opção do meio: "My development endpoint is a sub‑domain of a domain that has a wildcard certificate from a certificate authority".
- Test – use simulador embutido para verificar cada intent funciona.
Uma vez que todas abas mostrem checkmarks verdes, publique skill no seu dispositivo Echo via link de beta testing.
Executar
Para lançar sistema completo:
- Ligue ARDrone e conecte Pi à sua rede Wi-Fi.
- No Pi, ative rede celular Hologram Nova:
$ sudo hologram network connect
Uma vez que LED do Nova fique azul sólido, link celular está ativo. - Inicie Ngrok com subdomínio reservado (veja anterior).
- Rode aplicação Flask:
$ python app.py
- Com LEDs do drone verdes, você pode comandá-lo via Alexa. Se drone não responder, diga "Alexa, ask Major Tom to reset".
Fonte: MajorTom: Alexa Voice Controlled ARDrone 2.0
Processo de manufatura
- Acelere Integração Alexa com Kits de Desenvolvimento e Designs de Referência
- Por Que 2017 se Tornou o Ano das Interfaces de Voz
- Ventilador Controlado por Temperatura: Sistema DIY com Relé para Resfriamento de Móveis de Mídia
- Sistema de Aquaponia Controlado por Raspberry Pi: Guia de Construção e Código
- Instalando Google Assistant no MATRIX Voice Raspberry Pi – Guia Passo a Passo
- Controle seu Chromecast com Amazon Alexa usando Raspberry Pi e Python
- Construa um Botão IoT AWS Controlado por Movimento com Raspberry Pi, Sensor PIR e MQTT
- Construa Robô Raspberry Pi Controlado por Wi-Fi com Python – Guia Passo a Passo
- Controlar LEDs com Alexa via Raspberry Pi – Guia Passo a Passo Fácil
- Construa um Billy Bass "Grande Boca" Controlado por Alexa com Arduino, Shield L293D e Amplificador LM386