Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Controlando Parrot AR Drone com PHP

Controlando Parrot AR Drone com PHP

Utilizando ReactPHP, PHP-AR-Drone para controlar Parrot AR Drone.

Fernando Silva

July 23, 2016
Tweet

More Decks by Fernando Silva

Other Decks in Programming

Transcript

  1. Olá! Eu sou Fernando Silva Formado em Análise e Desenvolvimento

    de Sistemas pela Faculdade Senac Porto Alegre, desenvolvedor PHP na empresa e-Sales Soluções de Integração e membro da Comunidade PHPRS.
  2. Visão Geral 1. Parrot AR Drone 2. Formas de controlar

    3. ReactPHP 4. Projetos baseados no ReactPHP 5. PHP-ARDrone 6. Controlando AR Drone com PHP 7. Demonstração
  3. Parrot AR Drone - Especificações • CPU OMAP 3630 1GHz

    ARM cortex A8 • DDR SDRAM 128MB • NAND Flash memory 128MB • Wi-Fi b/g • USB 2.0 • Linux OS • Altímetro ultra-sons ◦ Frequência de emissão: 40kHzz ◦ Alcance: 6 metros • Câmera frontal ◦ Amplo campo de visão, diagonal de 90º ◦ Frequência de fluxo de vídeo: 30fps ◦ Resolução: 1280x720 pixels (720p) • Velocidade de deslocação: 18 km/h
  4. Formas de controlar • Firmware proprietario que pode ser controlado

    via Wi-Fi através dos aplicativos para Android ou iOS • SDK escrito em C e fornece bibliotecas para sistema Unix, Android e iOS • Pacotes UDP (User Datagram Protocol)
  5. Formas de controlar - UDP • Pacotes UDP (User Datagram

    Protocol) ◦ Porta para navegação de dados = 5554 ◦ Porta para vídeo On-Board = 5555 ◦ Porta para comandos AT = 5556
  6. ReactPHP A palavra chave em React é assíncrono. Esta é

    a maior ideia por trás da coleção de bibliotecas que ele possui. PHP, por natureza, é dito “bloqueante”. Isto significa que cada procedimento só virá a ser executado após o anterior.
  7. ReactPHP React PHP vem com o intuito, justamente, de permitir

    que executemos pedaços de lógica em paralelo. Para tornar isto possível, React centraliza sua execução em um “EventLoop”, que nos permitirá alcançar a ilustração seguinte:
  8. PHP AR Drone O modulo PHP AR Drone expõe uma

    API que suporta todas as funcionalidades do drone, tornado fácil de implementar.
  9. PHP AR Drone - Config.php <?php namespace Joli\ArDrone\Config; class Config

    { const DRONE_IP = '192.168.1.XX'; const NAVDATA_PORT = 5554; const CONTROL_PORT = 5556; public static $commands = [ 'takeoff', 'land', 'clockwise', 'counterClockwise', 'front', 'back', 'right', 'left', 'up', 'down', 'stop', 'exit', 'ftrim', 'flip', ]; }
  10. PHP AR Drone - control.php <?php $client = new \Joli\ArDrone\Client();

    $client->takeoff(); $client ->after(4, function () use ($client) { $client->up(0.4); }) ->after(4, function () use ($client) { $client->stop(); }) ->after(4, function () use ($client) { $client->down(0.4); }) ->after(2, function () use ($client) { $client->stop(); }) ->after(4, function () use ($client) { $client->land(); }); $client->start();
  11. Obrigado! Alguma pergunta? Você pode me encontrar em @FernandoDebrand. Participe

    da comunidade PHPRS. phprs.com.br rselephants @phprs phprs.slack.com meetup.com/php-rs