Coder Social home page Coder Social logo

mateustoin / flutter-app-dji-tello-drone Goto Github PK

View Code? Open in Web Editor NEW
7.0 2.0 1.0 3.37 MB

Aplicativo feito em Flutter para controle do Drone DJI Tello.

Kotlin 1.02% Swift 3.26% Objective-C 0.31% Dart 83.28% HTML 12.15%
flutter dji-tello-drone tello dji-tello tellodrone dart app application

flutter-app-dji-tello-drone's Introduction

Índice

Sobre

O objetivo desse projeto é controlar o drone DJI Tello, a fim de aprender sobre conceitos de comunicação utilizando o protocolo UDP, linguagem Dart e framework Flutter para desenvolvimento multiplataforma de apliativos mobile.

Figura 1. DJI Tello Drone

Realizado durante as lives da twitch no canal BitToin, foi um projeto que utilizou como base um pacote em Dart feito também durante as lives para a comunicação da linguagem suportada em Dart/Flutter com o Drone. Atualmente o pacote está disponível de maneira oficial no site de pacotes do Dart (link do package).

Começando

Siga estas instruções para criar, replicar e modificar o modelo de app na sua máquina.

Pré-requisitos

O principal pré-requisito do projeto é ter o Drone para testá-lo com o app e modificar á vontade. Caso não tenha ainda é possível aprender bastante coisa relacionado a elementos inerentes ao framework e aplicativo.

Para realizar o deploy da aplicação na sua máquina será necessária a instalação do Dart e Flutter. Entre no link a seguir e acompanhe as instruções de acordo com seu sistema operacional

Guia de instalação do Dart e Flutter na máquina

Caso queira clonar este projeto direto do github na sua máquina, também será necessário o git instalado.

Guia de instalação do Git na máquina

Instalação

Com o ambiente configurado, basta clonar este repositório utilizando o comando no terminal:

git clone https://github.com/mateustoin/Flutter-app-DJI-Tello-Drone

Para instalar os pacotes necessários, entre na pasta pelo terminal. Com tanto que o ambiente esteja configurado de acordo com o guia anterior, digite:

flutter pub get

Com os pacotes e dependências instalados corretamente, basta rodar o código:

flutter run

Uso

Figura 2. App para controle do Drone

Com o drone em mãos, basta ligá-lo e aguardar o sinal WiFi ser gerado para conectar o aparelho de celular nele. Após a conexão, o aplicativo automaticamente passa a se comunicar com o Drone e todos os botões passam a funcionar.

Joystick Esquerdo

Controla a direção em que o drone se movimenta. Vai para frente, para trás, para esquerda e para direita. Além dos movimentos nas direções citadas, aumenta a velocidade de acordo com o quanto o joystick é puxado para o lado, indo de 0% até 100%.


Joystick Direito

Segue a mesma lógica de funcionamento do anterior, porém controla se o drone vai para cima, para baixo, gira no próprio eixo no sentido horário e no sentido anti-horário. Além dos movimentos nas direções citadas, aumenta a velocidade de acordo com o quanto o joystick é puxado para o lado, indo de 0% até 100%.


Botão TakeOff

Faz o Drone sair do repouso e começar a voar.


Botão Land

Faz o Drone pousar.


Botão KeepAlive

Envia o comando 'command' para o drone, a fim de manter conexão quando não estiver em uso.


Botão Increase Speed

Aumenta a velocidade do Drone


Botão Decrease Speed

Diminui a velocidade do Drone

Features

  • Controlar a velocidade do Drone com uma Slide Bar
  • Deixar responsível para os joystick encaixarem em qualquer tela
  • Toda vez que aumentar ou diminuir a velocidade, aparecer pop up toast na tela
  • Comando de voz?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.