MajorTom:Alexa Voice Controlled ARDrone 2.0
Backdoor celular com holograma Nova no Raspberry Pi flask-ask servidor-Amazon Alexa controlado.
História
Motivação
Nosso projeto anterior com o ARDrone 2.0 nos ajudou a aprender sobre um novo projeto. Nossa inscrição atual no Alexa e Arduino Smart Home Challenge nos apresentou as habilidades necessárias para criar uma demonstração funcional para um drone controlado por voz.
Aqui está o que pensamos:
A seguir, descrevemos nosso processo.
Configuração do software Pi
Para configurar o Pi com o software necessário, instale flask-ask:
$ sudo pip install flask-ask
Você também precisará da biblioteca que controla o ARDrone via WiFi. Clone este repo e execute o script install.sh fornecido.
Configurando a habilidade e o aplicativo Alexa
Criamos uma habilidade que estava ligada a um servidor rodando no raspberry pi. Flask é uma biblioteca python fácil de usar para servir a um aplicativo. Usando flask-ask, podemos configurar o servidor para se comunicar com nossa habilidade Alexa. Usamos o Ngrok para servir o aplicativo externamente e nos dá um link https que precisamos para nossa habilidade Alexa. Aqui está um snippet de código para o aplicativo. O app.pyscript completo será anexado abaixo.
#! / usr / bin / env pythonfrom flask import Flaskfrom flask_ask import Ask, statementimport ardroneimport timeapp =Flask (__ name __) ask =Ask (app, '/') drone =ardrone.ARDrone () time.sleep (5) drone.reset () @ app.route ('/') def home ():retorna 'Ground Control to Major Tom'@ask.intent (' reset ') def reset ():drone.reset () speech_text ='redefinir' declaração de retorno (speech_text)
Para executar este aplicativo, basta digitar:
python app.py
Para este projeto, usamos ngrok para servir o aplicativo por https. Usamos um nome de subdomínio reservado para que o link possa ser consistente com a configuração de habilidade do Amazon Alexa. Para veicular o aplicativo, execute:
./ ngrok http -subdomain =5000
Como o Raspberry Pi se junta ao ponto de acesso WiFi do ARDrone, usamos o modem USB Hologram Nova como um backdoor celular, permitindo que Alexa se comunique com o servidor flask-ask.
Descobrimos que o aplicativo funcionou perfeitamente usando o holograma nova com um plano de dados mensal de 250 MB. Você pode configurar isso usando o painel de holograma e ativando um cartão SIM.
Configurando a habilidade Alexa, navegue até o painel do desenvolvedor Amazon e faça login. Clique em Alexa e começar com o kit Alexa Skill. Em seguida, crie uma nova habilidade clicando em Adicionar uma nova habilidade. Comece a preencher as guias à esquerda seguindo as instruções.
Siga as instruções fornecidas pela interface do usuário.
- No Modelo de interação, preencha a caixa Esquema de Intenção com o seguinte:
{"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 "}]}
- Na caixa Amostra de enunciados, escreva:
redefinir resettakeoff decolagem takeofftakeoff liftofftakeoff aumento uptakeoff explosão offtakeoff riseland landland desce para a terra vem downland entra no groundland solo controlhover hoverhover fica puthover fique onde você aregoFrante mover para frente ir para frente ir para frente ir para frente ir para trás ir para trás ir para trás ir para trás ir para trás voltarA esquerda mover para a esquerdagoEsquerda ir para a esquerdagoVire à esquerda para a esquerdagoDireita ir para a direitagoVirar para a direita para a direitaGirar para a direita à direita
- Na Configuração guia, certifique-se de escolher o ponto de extremidade do serviço para HTTPS. Copie seu link https e cole-o na caixa Padrão abaixo. A vinculação de contas pode ser deixada como Não.
- No Certificado SSL escolha a opção do meio, “Meu ponto de extremidade de desenvolvimento é um subdomínio de um domínio que tem um certificado curinga de uma autoridade de certificação”.
- O teste a guia permitirá que você teste a nova habilidade digitando um de seus comandos de exemplo.
Conclua o preenchimento das duas últimas guias até que todas as marcas de seleção fiquem verdes. Em seguida, lance sua habilidade com o recurso de teste beta. Isso permite que você hospede sua habilidade em qualquer dispositivo de eco antes de publicá-la. Siga as instruções no link de e-mail para instalar a habilidade em seu dispositivo Echo.
Executar
Para executar o aplicativo inteiro, primeiro verifique se o drone está ligado e se a conexão wi-fi está ativa. No servidor Raspberry Pi, conecte-se à rede do ARDrone. No terminal, conecte-se à rede do holograma executando o seguinte comando:
conexão de rede de holograma $ sudo
Depois que o LED azul no Nova estiver sólido e o processo concluído, você estará na rede celular. Em uma guia separada, execute o comando ngrok que mencionamos anteriormente:
$ ./ngrok http -subdomain =5000
Finalmente, em outra guia, execute o aplicativo
$ python app.py
Se as luzes do drone estiverem verdes, você está pronto para voar. Caso contrário, peça a Alexa para redefini-lo, dizendo:“Alexa, peça ao MajorTom para redefinir”.
Fonte: MajorTom:Alexa Voice Controlled ARDrone 2.0
Processo de manufatura
- Os kits de desenvolvimento aceleram a integração do Alexa
- 2017 é o ano da interface de voz?
- Ventilador com temperatura controlada
- Aquaponia controlada com Raspberry Pi
- ASSISTENTE DO GOOGLE MATRIX VOICE - PROJETO MATRIX VOICE
- Amazon Alexa Controlando um Chromecast
- Botão AWS IoT controlado por movimento
- Robô controlado por Wi-Fi usando Raspberry Pi
- LEDs controlados por Alexa através do Raspberry Pi
- Boca Grande Billy Bass + Alexa