SlideShare uma empresa Scribd logo
1 de 17
Baixar para ler offline
Controlando
AR Drone com
PHP
Fernando Silva
@FernandoDebrand
Olá!Eu sou Fernando Silva
Analista de Desenvolvimento
Visão Geral
1. Parrot AR Drone
2. Formas de controlar
3. ReactPHP e PHP-ARDrone
4. Controlando AR Drone com PHP
5. Demonstração
1.
Parrot
AR Drone
Especificações
técnicas
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: 40kHz
○ 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
2.
Formas de
controlar
Possíveis formas
de controlar o
Parrot AR Drone
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)
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
3.
ReactPHP e
PHP-ARDrone
Eventos sem
bloqueio de I/O
com PHP
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.
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:
Projetos baseados no ReactPHP
4. Controlando AR
Drone com PHP
PHP AR Drone - autônomo
<?php
$client = new JoliArDroneClient();
$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();
PHP AR Drone - interativo
<?php
$client = new JoliArDroneClient();
$client->createRepl(); //read–eval–print-loop
$client->start();
Demo
Obrigado!
Alguma pergunta?
Você pode me encontrar em @FernandoDebrand.
Apresentação em:
https://speakerdeck.com/fernandodebrando.
Participe da comunidade PHPRS.
phprs.com.br
rselephants
@phprs
phprs.slack.com
meetup.com/php-rs

Mais conteúdo relacionado

Mais procurados

Flisol_2009_Psad
Flisol_2009_PsadFlisol_2009_Psad
Flisol_2009_Psad
memory_gyn
 
Tendências Tecnológicas em processadores, por Luiz Carlos Orsoni
Tendências Tecnológicas em processadores, por Luiz Carlos OrsoniTendências Tecnológicas em processadores, por Luiz Carlos Orsoni
Tendências Tecnológicas em processadores, por Luiz Carlos Orsoni
Joao Galdino Mello de Souza
 

Mais procurados (18)

FISL16 :: Escalabilidade - de uma máquina para múltiplos data centers
FISL16 ::  Escalabilidade - de uma máquina para múltiplos data centersFISL16 ::  Escalabilidade - de uma máquina para múltiplos data centers
FISL16 :: Escalabilidade - de uma máquina para múltiplos data centers
 
IAsyncResult Pattern ou Asynchronous Programming Model (APM)
IAsyncResult Pattern ou Asynchronous Programming Model (APM)IAsyncResult Pattern ou Asynchronous Programming Model (APM)
IAsyncResult Pattern ou Asynchronous Programming Model (APM)
 
Globo.com - migração do player flash para html5
Globo.com  - migração do player flash para html5Globo.com  - migração do player flash para html5
Globo.com - migração do player flash para html5
 
Tdc2014 - Guia do Tester Técnico das Galáxias
Tdc2014 - Guia do Tester Técnico das GaláxiasTdc2014 - Guia do Tester Técnico das Galáxias
Tdc2014 - Guia do Tester Técnico das Galáxias
 
Curso de Java #07 - Operadores (Parte 1)
Curso de Java #07 - Operadores (Parte 1)Curso de Java #07 - Operadores (Parte 1)
Curso de Java #07 - Operadores (Parte 1)
 
Relatório final
Relatório finalRelatório final
Relatório final
 
qcon rio 2015 - escalabilidade na plataforma de vídeos ao vivo
qcon rio 2015 - escalabilidade na plataforma de vídeos ao vivoqcon rio 2015 - escalabilidade na plataforma de vídeos ao vivo
qcon rio 2015 - escalabilidade na plataforma de vídeos ao vivo
 
PHP Conference 2017 - Processamento avançado de vídeos com FFmpeg e PHP
PHP Conference 2017 - Processamento avançado de vídeos com FFmpeg e PHPPHP Conference 2017 - Processamento avançado de vídeos com FFmpeg e PHP
PHP Conference 2017 - Processamento avançado de vídeos com FFmpeg e PHP
 
ASP.NET Core: visão geral, exemplos práticos e novidades esperadas - .NET SP ...
ASP.NET Core: visão geral, exemplos práticos e novidades esperadas - .NET SP ...ASP.NET Core: visão geral, exemplos práticos e novidades esperadas - .NET SP ...
ASP.NET Core: visão geral, exemplos práticos e novidades esperadas - .NET SP ...
 
Técnicas avancadas de seguranca com iptables - Marcus Augustus Pereira Burgh...
Técnicas avancadas de seguranca com iptables  - Marcus Augustus Pereira Burgh...Técnicas avancadas de seguranca com iptables  - Marcus Augustus Pereira Burgh...
Técnicas avancadas de seguranca com iptables - Marcus Augustus Pereira Burgh...
 
PHP Conference 2016: Aplicações em tempo real com o Ratchet PHP
PHP Conference 2016: Aplicações em tempo real com o Ratchet PHPPHP Conference 2016: Aplicações em tempo real com o Ratchet PHP
PHP Conference 2016: Aplicações em tempo real com o Ratchet PHP
 
MSDN Webcast: Task-based Asynchronous Pattern (TAP), async e await
MSDN Webcast: Task-based Asynchronous Pattern (TAP), async e awaitMSDN Webcast: Task-based Asynchronous Pattern (TAP), async e await
MSDN Webcast: Task-based Asynchronous Pattern (TAP), async e await
 
Flisol_2009_Psad
Flisol_2009_PsadFlisol_2009_Psad
Flisol_2009_Psad
 
Backtrack4 inguma
Backtrack4 ingumaBacktrack4 inguma
Backtrack4 inguma
 
Curso de Java #08 - Operadores Lógicos e Relacionais
Curso de Java #08 - Operadores Lógicos e RelacionaisCurso de Java #08 - Operadores Lógicos e Relacionais
Curso de Java #08 - Operadores Lógicos e Relacionais
 
Tendências Tecnológicas em processadores, por Luiz Carlos Orsoni
Tendências Tecnológicas em processadores, por Luiz Carlos OrsoniTendências Tecnológicas em processadores, por Luiz Carlos Orsoni
Tendências Tecnológicas em processadores, por Luiz Carlos Orsoni
 
O que há de novo no PHP 5.3
O que há de novo no PHP 5.3O que há de novo no PHP 5.3
O que há de novo no PHP 5.3
 
Bootloader: Teoria de operação e implementação via USB para PIC
Bootloader: Teoria de operação e implementação via USB para PICBootloader: Teoria de operação e implementação via USB para PIC
Bootloader: Teoria de operação e implementação via USB para PIC
 

Destaque

Destaque (20)

Sistemas para o Mundo Real - TDC 2012
Sistemas para o Mundo Real - TDC 2012Sistemas para o Mundo Real - TDC 2012
Sistemas para o Mundo Real - TDC 2012
 
TDC2016POA | Trilha DevOps - Métricas, métricas para todos os lados!
TDC2016POA | Trilha DevOps - Métricas, métricas para todos os lados!TDC2016POA | Trilha DevOps - Métricas, métricas para todos os lados!
TDC2016POA | Trilha DevOps - Métricas, métricas para todos os lados!
 
TDC2016POA | Trilha DevOps - DevOps Anti-Patterns
TDC2016POA | Trilha DevOps - DevOps Anti-PatternsTDC2016POA | Trilha DevOps - DevOps Anti-Patterns
TDC2016POA | Trilha DevOps - DevOps Anti-Patterns
 
TDC2016POA | Trilha DevOps - Monitoramento real-time com ELK
TDC2016POA | Trilha DevOps - Monitoramento real-time com ELKTDC2016POA | Trilha DevOps - Monitoramento real-time com ELK
TDC2016POA | Trilha DevOps - Monitoramento real-time com ELK
 
TDC2016POA | Trilha DevOps - Monitoramento da infraestrutura para aplicac?o?e...
TDC2016POA | Trilha DevOps - Monitoramento da infraestrutura para aplicac?o?e...TDC2016POA | Trilha DevOps - Monitoramento da infraestrutura para aplicac?o?e...
TDC2016POA | Trilha DevOps - Monitoramento da infraestrutura para aplicac?o?e...
 
TDC2016POA | Trilha Dinamica - Facilitação - Que momento o grupo se encontra?
TDC2016POA | Trilha Dinamica - Facilitação - Que momento o grupo se encontra?	TDC2016POA | Trilha Dinamica - Facilitação - Que momento o grupo se encontra?
TDC2016POA | Trilha Dinamica - Facilitação - Que momento o grupo se encontra?
 
TDC2016POA | Trilha Dinamicas - Valores individuais e de sua equipe?
TDC2016POA | Trilha Dinamicas - Valores individuais e de sua equipe?TDC2016POA | Trilha Dinamicas - Valores individuais e de sua equipe?
TDC2016POA | Trilha Dinamicas - Valores individuais e de sua equipe?
 
TDC2016POA | Trilha Dinamica - Desenvolvimento de Ideias através de Brainwriting
TDC2016POA | Trilha Dinamica - Desenvolvimento de Ideias através de BrainwritingTDC2016POA | Trilha Dinamica - Desenvolvimento de Ideias através de Brainwriting
TDC2016POA | Trilha Dinamica - Desenvolvimento de Ideias através de Brainwriting
 
TDC2016POA | Trilha DevOps - Gestão de ciclo de vida de banco de dados: Já pa...
TDC2016POA | Trilha DevOps - Gestão de ciclo de vida de banco de dados: Já pa...TDC2016POA | Trilha DevOps - Gestão de ciclo de vida de banco de dados: Já pa...
TDC2016POA | Trilha DevOps - Gestão de ciclo de vida de banco de dados: Já pa...
 
TDC2016POA | Trilha Dinamica - Team Building Games não é recreio, cada moment...
TDC2016POA | Trilha Dinamica - Team Building Games não é recreio, cada moment...TDC2016POA | Trilha Dinamica - Team Building Games não é recreio, cada moment...
TDC2016POA | Trilha Dinamica - Team Building Games não é recreio, cada moment...
 
TDC2016POA | Trilha Dinamica - Conhecendo e criando novas Retrospectivas
TDC2016POA | Trilha Dinamica - Conhecendo e criando novas RetrospectivasTDC2016POA | Trilha Dinamica - Conhecendo e criando novas Retrospectivas
TDC2016POA | Trilha Dinamica - Conhecendo e criando novas Retrospectivas
 
TDC2016POA | Trilha D Thinking - Storyboard para compreender grupos sociais
TDC2016POA | Trilha D Thinking - Storyboard  para compreender grupos sociaisTDC2016POA | Trilha D Thinking - Storyboard  para compreender grupos sociais
TDC2016POA | Trilha D Thinking - Storyboard para compreender grupos sociais
 
Openstack Foundations - TDC Floripa 2014
Openstack Foundations - TDC Floripa 2014Openstack Foundations - TDC Floripa 2014
Openstack Foundations - TDC Floripa 2014
 
TDC2016POA | Trilha Dinamica - Product Design Sprint
TDC2016POA | Trilha Dinamica - Product Design SprintTDC2016POA | Trilha Dinamica - Product Design Sprint
TDC2016POA | Trilha Dinamica - Product Design Sprint
 
TDC2016POA | Trilha Infraestrutura - Infra Ágil: Por onde começar?
TDC2016POA |  Trilha Infraestrutura -  Infra Ágil: Por onde começar?TDC2016POA |  Trilha Infraestrutura -  Infra Ágil: Por onde começar?
TDC2016POA | Trilha Infraestrutura - Infra Ágil: Por onde começar?
 
TDC2016POA | Trilha IoT - Como gerenciar a complexidade de um mundo conectado
TDC2016POA | Trilha IoT - Como gerenciar a complexidade de um mundo conectadoTDC2016POA | Trilha IoT - Como gerenciar a complexidade de um mundo conectado
TDC2016POA | Trilha IoT - Como gerenciar a complexidade de um mundo conectado
 
TDC2016POA | Trilha Infraestrutura - Garantindo a qualidade de sua infraestr...
TDC2016POA | Trilha Infraestrutura -  Garantindo a qualidade de sua infraestr...TDC2016POA | Trilha Infraestrutura -  Garantindo a qualidade de sua infraestr...
TDC2016POA | Trilha Infraestrutura - Garantindo a qualidade de sua infraestr...
 
TDC2016POA | Trilha Infraestrutura - Chatops na prática: Aumentando o desempe...
TDC2016POA | Trilha Infraestrutura - Chatops na prática: Aumentando o desempe...TDC2016POA | Trilha Infraestrutura - Chatops na prática: Aumentando o desempe...
TDC2016POA | Trilha Infraestrutura - Chatops na prática: Aumentando o desempe...
 
TDC 2015 - Torne-se um programador melhor
TDC 2015 - Torne-se um  programador melhorTDC 2015 - Torne-se um  programador melhor
TDC 2015 - Torne-se um programador melhor
 
TDC2016POA | Trilha Infraestrutura - Apache Mesos & Marathon: gerenciando rem...
TDC2016POA | Trilha Infraestrutura - Apache Mesos & Marathon: gerenciando rem...TDC2016POA | Trilha Infraestrutura - Apache Mesos & Marathon: gerenciando rem...
TDC2016POA | Trilha Infraestrutura - Apache Mesos & Marathon: gerenciando rem...
 

Semelhante a TDC2016POA | Trilha IoT - Controlando AR Drone com PHP

Ligação do Flex a um backend LAMP usando AMFPHP
Ligação do Flex a um backend LAMP usando AMFPHPLigação do Flex a um backend LAMP usando AMFPHP
Ligação do Flex a um backend LAMP usando AMFPHP
elliando dias
 

Semelhante a TDC2016POA | Trilha IoT - Controlando AR Drone com PHP (20)

php4android: desenvolva aplicações android em PHP
php4android: desenvolva aplicações android em PHPphp4android: desenvolva aplicações android em PHP
php4android: desenvolva aplicações android em PHP
 
Técnicas para ser escalável com PHP
Técnicas para ser escalável com PHPTécnicas para ser escalável com PHP
Técnicas para ser escalável com PHP
 
PHP Tools for Fast coding
PHP Tools for Fast codingPHP Tools for Fast coding
PHP Tools for Fast coding
 
Ligação do Flex a um backend LAMP usando AMFPHP
Ligação do Flex a um backend LAMP usando AMFPHPLigação do Flex a um backend LAMP usando AMFPHP
Ligação do Flex a um backend LAMP usando AMFPHP
 
2290494 integrando-flex-com-php
2290494 integrando-flex-com-php2290494 integrando-flex-com-php
2290494 integrando-flex-com-php
 
pfa
pfapfa
pfa
 
PHP de alta performance com RoadRunner
PHP de alta performance com RoadRunnerPHP de alta performance com RoadRunner
PHP de alta performance com RoadRunner
 
Alta Performance de Aplicações Web em PHP - Nginx
Alta Performance de Aplicações Web em PHP - NginxAlta Performance de Aplicações Web em PHP - Nginx
Alta Performance de Aplicações Web em PHP - Nginx
 
Hackeando um SmartBOX (com android) e instalando Linux & JAVA & OpenDevice
Hackeando um SmartBOX (com android) e instalando Linux & JAVA & OpenDeviceHackeando um SmartBOX (com android) e instalando Linux & JAVA & OpenDevice
Hackeando um SmartBOX (com android) e instalando Linux & JAVA & OpenDevice
 
Linux e zephyr conversando no mesmo SoC
Linux e zephyr conversando no mesmo SoCLinux e zephyr conversando no mesmo SoC
Linux e zephyr conversando no mesmo SoC
 
O ecossistema e o estado atual do php - o presente, o passado e o futuro da ...
O ecossistema e o estado atual do php  - o presente, o passado e o futuro da ...O ecossistema e o estado atual do php  - o presente, o passado e o futuro da ...
O ecossistema e o estado atual do php - o presente, o passado e o futuro da ...
 
Python 08
Python 08Python 08
Python 08
 
Automação de Aplicativos: Scripting com Python
Automação de Aplicativos: Scripting com PythonAutomação de Aplicativos: Scripting com Python
Automação de Aplicativos: Scripting com Python
 
Laravel + Vue: Como começar
Laravel + Vue: Como começarLaravel + Vue: Como começar
Laravel + Vue: Como começar
 
Realidade Aumentada
Realidade AumentadaRealidade Aumentada
Realidade Aumentada
 
PHPSP TestFest 2010
PHPSP TestFest 2010PHPSP TestFest 2010
PHPSP TestFest 2010
 
Tdc graphql do node para go
Tdc   graphql do node para goTdc   graphql do node para go
Tdc graphql do node para go
 
Python e suas aplicações
Python e suas aplicaçõesPython e suas aplicações
Python e suas aplicações
 
Raspberry Pi + Python
Raspberry Pi + PythonRaspberry Pi + Python
Raspberry Pi + Python
 
LEON3 e KIT ALTERA.
LEON3 e KIT ALTERA.LEON3 e KIT ALTERA.
LEON3 e KIT ALTERA.
 

Mais de tdc-globalcode

Mais de tdc-globalcode (20)

TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidade
TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidadeTDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidade
TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidade
 
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
 
TDC2019 Intel Software Day - ACATE - Cases de Sucesso
TDC2019 Intel Software Day - ACATE - Cases de SucessoTDC2019 Intel Software Day - ACATE - Cases de Sucesso
TDC2019 Intel Software Day - ACATE - Cases de Sucesso
 
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPATDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
 
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVino
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVinoTDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVino
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVino
 
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...
 
TDC2019 Intel Software Day - Inferencia de IA em edge devices
TDC2019 Intel Software Day - Inferencia de IA em edge devicesTDC2019 Intel Software Day - Inferencia de IA em edge devices
TDC2019 Intel Software Day - Inferencia de IA em edge devices
 
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publica
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca PublicaTrilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publica
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publica
 
Trilha .Net - Programacao funcional usando f#
Trilha .Net - Programacao funcional usando f#Trilha .Net - Programacao funcional usando f#
Trilha .Net - Programacao funcional usando f#
 
TDC2018SP | Trilha Go - Case Easylocus
TDC2018SP | Trilha Go - Case EasylocusTDC2018SP | Trilha Go - Case Easylocus
TDC2018SP | Trilha Go - Case Easylocus
 
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?TDC2018SP | Trilha Modern Web - Para onde caminha a Web?
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?
 
TDC2018SP | Trilha Go - Clean architecture em Golang
TDC2018SP | Trilha Go - Clean architecture em GolangTDC2018SP | Trilha Go - Clean architecture em Golang
TDC2018SP | Trilha Go - Clean architecture em Golang
 
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QATDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
 
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendencia
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendenciaTDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendencia
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendencia
 
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR ServiceTDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
 
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NET
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NETTDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NET
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NET
 
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8TDC2018SP | Trilha .Net - Novidades do C# 7 e 8
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8
 
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...
 
TDC2018SP | Trilha .Net - .NET funcional com F#
TDC2018SP | Trilha .Net - .NET funcional com F#TDC2018SP | Trilha .Net - .NET funcional com F#
TDC2018SP | Trilha .Net - .NET funcional com F#
 
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor em .Net Core
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor  em .Net CoreTDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor  em .Net Core
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor em .Net Core
 

Último

Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
AntonioVieira539017
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
PatriciaCaetano18
 
8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito
tatianehilda
 
Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemática
sh5kpmr7w7
 

Último (20)

P P P 2024 - *CIEJA Santana / Tucuruvi*
P P P 2024  - *CIEJA Santana / Tucuruvi*P P P 2024  - *CIEJA Santana / Tucuruvi*
P P P 2024 - *CIEJA Santana / Tucuruvi*
 
Texto dramático com Estrutura e exemplos.ppt
Texto dramático com Estrutura e exemplos.pptTexto dramático com Estrutura e exemplos.ppt
Texto dramático com Estrutura e exemplos.ppt
 
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdfTCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
 
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxMonoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
 
EDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVA
EDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVAEDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVA
EDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVA
 
8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
 
Sistema de Bibliotecas UCS - Cantos do fim do século
Sistema de Bibliotecas UCS  - Cantos do fim do séculoSistema de Bibliotecas UCS  - Cantos do fim do século
Sistema de Bibliotecas UCS - Cantos do fim do século
 
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
 
M0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxM0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptx
 
Produção de Texto - 5º ano - CRÔNICA.pptx
Produção de Texto - 5º ano - CRÔNICA.pptxProdução de Texto - 5º ano - CRÔNICA.pptx
Produção de Texto - 5º ano - CRÔNICA.pptx
 
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéis
 
Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemática
 
Educação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptxEducação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptx
 

TDC2016POA | Trilha IoT - Controlando AR Drone com PHP

  • 1. Controlando AR Drone com PHP Fernando Silva @FernandoDebrand
  • 2. Olá!Eu sou Fernando Silva Analista de Desenvolvimento
  • 3. Visão Geral 1. Parrot AR Drone 2. Formas de controlar 3. ReactPHP e PHP-ARDrone 4. Controlando AR Drone com PHP 5. Demonstração
  • 5. 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: 40kHz ○ 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
  • 6. 2. Formas de controlar Possíveis formas de controlar o Parrot AR Drone
  • 7. 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)
  • 8. 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
  • 10. 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.
  • 11. 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:
  • 14. PHP AR Drone - autônomo <?php $client = new JoliArDroneClient(); $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();
  • 15. PHP AR Drone - interativo <?php $client = new JoliArDroneClient(); $client->createRepl(); //read–eval–print-loop $client->start();
  • 16. Demo
  • 17. Obrigado! Alguma pergunta? Você pode me encontrar em @FernandoDebrand. Apresentação em: https://speakerdeck.com/fernandodebrando. Participe da comunidade PHPRS. phprs.com.br rselephants @phprs phprs.slack.com meetup.com/php-rs