SlideShare uma empresa Scribd logo
1 de 54
Baixar para ler offline
Estação de Controle Multimídia com Interface
Web utilizando sistema operacional Linux
embarcado em plataforma ARM
ANDRÉ MÁRCIO DE LIMA CURVELLO
ORIENTADOR: PROF. DR. EVANDRO LUÍS LINHARI RODRIGUES
UNIVERSIDADE DE SÃO PAULO
Escola de Engenharia de São Carlos
Departamento de Engenharia Elétrica
20 de Novembro de 2012
AGENDA
1. Objetivos do Trabalho
2. História e Estado da Arte dos Sistemas Embarcados
3. Visão Geral de Linux Embarcado e Plataformas disponíveis
4. Conceitos, Materiais e Métodos
5. Desenvolvimento e Resultados Obtidos
6. Conclusões
7. Sugestões e futuro do projeto
1. Objetivos do Trabalho
• Sistema Embarcado que faça uso e controle de ferramentas e
componentes multimídia através da web;
• Componentes de controle e interação multimídia;
• Plataforma de acesso web amigável;
• Interação intersistemas e interplataformas;
• Portabilidade;
• Desenvolver bases para futuros projetos de sistemas embarcados
em Linux.
2. História e Estado da Arte dos Sistemas Embarcados
• ENIAC – 1946
• Transistor – 1947, Bell Laboratories
• Apollo Guidance Computer - 1966
• Intel 4004 – 1971
Origem: www.porticus.org
Origem: www.britannica.com
Origem: www.computerhistory.org
Origem: www.extremetech.com
2. História e Estado da Arte dos Sistemas Embarcados
• Minuteman Missile Autonetics D-17 Computer
• Aumento da produção reduziu custos e facilitou acesso;
• Microcontroladores 8 Bits, 16 Bits e 32 Bits
• Componentes de CPU e memória e periféricos integrados;
• ARM e SoCs ARM
• Arquitetura RISC, barramento 32 Bits;
• Integração de periféricos mais complexos no chip;
• Baixo consumo.
Origem: www.siloworld.net
Origem: www.lions-wing.net
Origem: www.pcper.com
3. Visão Geral de Linux Embarcado e Plataformas
disponíveis
• Linux e Linux Embarcado
• Sistema Open Source, com suporte à rede e muitos usuários ,
fóruns e material disponível;
• Primeira versão surgiu em 1994 como um port do Linux para o computador
Acorn A5000;
• Uso crescente no mercado, em dispositivos e produtos;
• Aumento do número de usuários;
• Amadurecimento das ferramentas de desenvolvimento;
• 4 Referências na Edição 95 da Linux Magazine de Outubro de 2012.
Origem: www.old-computers.com
Origem: www.developer.android.com
3. Visão Geral de Linux Embarcado e Plataformas
disponíveis
• Plataformas
• Raspberry Pi
• BeagleBoard xM
• PandaBoard ES
• Tiny6410
Plataforma escolhida:
Tiny6410
Origem: www.raspberypi.org
Origem: www.beagleboard.org
Origem: www.friendlyarm.netOrigem: www.pandaboard.org
4. Conceitos, Materiais e Métodos
• Toolchains
• Bootloader
• Kernel
• Sistema de Arquivos
• Buildroot
• Conceitos de Aplicação e
Programação Web
• Multimídia
• Stream de Vídeo
• GPS
• Sensor de Temperatura Digital
• OpenCV
• Python
4. Conceitos, Materiais e Métodos
• Toolchains
• Conjunto de ferramentas para desenvolvimento, tais como compilador,
bibliotecas, cabeçalhos de Kernel, debuggers, etc;
• Permitem realizar compilação cruzada;
• Toolchain FriendlyARM e Buildroot.
Origem: www.free-electrons.com
4. Conceitos, Materiais e Métodos
• Bootloader
• Componente responsável por inicializar o hardware para a entrada e ação do
Kernel;
• U-Boot configurado para Tiny6410.
• Kernel
• Núcleo do sistema operacional, gerencia acesso à memória, disco, dispositivos
do sistema, recursos de rede, etc;
• Kernel Linux 2.6.38 com configurações para Tiny6410.
4. Conceitos, Materiais e Métodos
• Sistema de Arquivos
• Leitura e escrita dos dados, persistência de dados, bibliotecas, aplicações e
arquivos de configurações;
• Rootfs Qtopia fornecido pela FriendlyARM.
• Buildroot
• Buildsystem e Toolchain.
• Conceitos de Aplicação e Programação Web
• Componentes de exibição (HTML), estilos (CSS) e controle (JavaScript);
• Servidor Web – Lighttpd;
• Processador de Conteúdo – PHP.
4. Conceitos, Materiais e Métodos
• Multimídia
• Exibição de conteúdo na forma de áudio,
vídeo e imagens;
• Periféricos da Tiny6410;
• MPlayer
• Stream de Vídeo
• Fluxo contínuo de imagens;
• Captura de vídeo pela câmera USB;
• MJPG Streamer;
• GPS
• Sistema de localização global;
• Receptor GPS SiRF StarIII;
• Protocolo NMEA 0183.
4. Conceitos, Materiais e Métodos
• Sensor de Temperatura Digital
• DS18B20;
• Barramento Maxim 1-Wire;
• OpenCV
• Conjunto de bibliotecas para visão computacional;
• Permite capturar imagens, aplicar filtros e realizar operações matemáticas em
cima de imagens capturadas ou utilizadas como parâmetros de entrada;
• Python
• Linguagem interpretada e orientada a objetos;
• Fácil de usar e de manter;
• Ampla gama de bibliotecas, tais como comunicação serial, email, etc.
Origem: www.minidevs.com
5. Desenvolvimento e Resultados Obtidos
INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS
• Arquitetura da Interface de Acesso Web
• Interface amigável e de fácil uso;
• Menu, exibição de conteúdo e painel de controle;
• Uso de tags HTML, estilos CSS e funções JavaScript;
• Diretórios utilizados:
• “pages” – Arquivos das páginas a serem exibidas;
• “php” - Arquivos PHP que recebem e tratam requisições;
• “css” - Arquivos de estilo CSS;
• “js” – JavaScripts;
• “images” – Imagens utilizadas na página da Interface;
• “pictures” – Link simbólico para o diretório de imagens capturadas pela câmera USB;
• “files” – Demais arquivos e scripts escritos em outras linguagens.
5. Desenvolvimento e Resultados Obtidos
INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS
• Uso de No-IP para facilitar o acesso.
• Endereço http://armweb.no-ip.org
• Principal arquivo: www/index.php;
• Recebe requisições para mudança de página através do parâmetro p
e exibe a página na coluna central;
• Exemplo: http://armweb.no-ip.org/?p=home
Ou
http://armweb.no-ip.org/index.php?p=home
5. Desenvolvimento e Resultados Obtidos
INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS
• Arquitetura da Interface de Acesso Web
• Layout:
5. Desenvolvimento e Resultados Obtidos
INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS
• Arquitetura da Interface de Acesso Web
• Final:
5. Desenvolvimento e Resultados Obtidos
• Servidor Web Lighttpd e Processador de Conteúdo PHP
• Receber, encaminhar e responder requisições;
• Retorna e sintetiza conteúdo HTML ao cliente web;
• Executa aplicações;
INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS
Origem: www.sixrevisions.com
5. Desenvolvimento e Resultados Obtidos
INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS
• Autenticação
• Mecanismo de Sessão do PHP;
• Controle de exibição de conteúdo para usuários não autenticados e
autenticados
• Streams de vídeo, mensagens e administração.
• Mecanismo de persistência de dados com SQLite3.
• Tabela de usuários cadastrados e suas informações de login.
5. Desenvolvimento e Resultados Obtidos
INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS
• Autenticação
5. Desenvolvimento e Resultados Obtidos
INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS
• Músicas
• php/folvernav.php
• Mapeamento e geração de conteúdo HTML de diretórios de músicas;
• Arquivos como Links com funções JavaScript para disparo de requisições.
• js/mediaControl.js implementa as funções de disparo.
• php/mplayer.php
• Recebe requisições e executa MPlayer;
• php/musicas.php
• Estrutura da página Músicas.
5. Desenvolvimento e Resultados Obtidos
INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS
• Músicas
5. Desenvolvimento e Resultados Obtidos
INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS
• Vídeos
• php/folvernav.php
• Mapeamento e geração de conteúdo HTML de diretórios de vídeos;
• Arquivos como Links com funções JavaScript para disparo de requisições.
• js/mediaControl.js implementa as funções de disparo.
• php/mplayer.php
• Recebe requisições e executa MPlayer;
• php/videos.php
• Página Vídeos;
• Elemento de seleção da saída de vídeo.
5. Desenvolvimento e Resultados Obtidos
INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS
• Vídeos
5. Desenvolvimento e Resultados Obtidos
INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS
• Vídeos
5. Desenvolvimento e Resultados Obtidos
INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS
• Câmera
• MJPG Streamer
• Shell Script define parâmetros de controle para a execução do streamer;
• Baixo uso de banda de rede. Cerca de 5 a 10 kB/s;
• Basta uma câmera USB compatível com UVC;
• php/status.php
• Iniciar ou encerrar o stream de vídeo da câmera.
5. Desenvolvimento e Resultados Obtidos
INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS
• Câmera
• usbCapArgs.c
• OpenCV para captura de imagens pela câmera USB;
• Shell Scripts para controle de captura de fotos com a aplicação. Capturam e
movem as fotos para diretório de imagens no cartão de memória.
• files/timeCapture.sh
• files/cameraCapture.sh
• php/camCapture.php
• Requisições para controle de obtenção de fotos. Interage com files/cameraCapture.sh.
• pages/camera.php
• Página Câmera, exibe os streams de vídeo e componentes de controle para obtenção de
fotos.
5. Desenvolvimento e Resultados Obtidos
INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS
• Câmera
5. Desenvolvimento e Resultados Obtidos
INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS
• Imagens
• Mapeamento do diretório de imagens
• php/foldernav.php
• Conteúdo HTML tabelado com as imagens contidas no diretório;
• pages/images.php
• Página Imagens;
• Ao serem clicadas, as imagens são exibidas em tamanho original.
5. Desenvolvimento e Resultados Obtidos
INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS
• Imagens
5. Desenvolvimento e Resultados Obtidos
INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS
• GPS
• files/gps.py
• Comunicação serial com o receptor GPS;
• Obtém as sentenças GPS desejadas;
• php/gps.php
• Requisições de dados GPS;
• Interage com files/gps.py
• pages/gps.php
• Página GPS.
5. Desenvolvimento e Resultados Obtidos
INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS
• Temperatura
• Driver para o sensor de temperatura ds18b20.ko.
• Aplicação ds18b20.c
• Leitura de dados do driver.
• pages/temp.php
• Página Temperatura;
• php/temp.php
• Interage com a aplicação de leitura do driver ;
• Retorna a temperatura conforme parâmetros passados;
• Pode gerar arquivo texto com dados de temperatura em um intervalo em segundos.
5. Desenvolvimento e Resultados Obtidos
INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS
• Temperatura
5. Desenvolvimento e Resultados Obtidos
INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS
• Temperatura
5. Desenvolvimento e Resultados Obtidos
INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS
• RF
• Interação com o projeto Ferramentas para Gerenciamento de Conteúdo para
Telemetria via Web com Linux Embarcado em Microcontroladores ARM;
• php/rf.php
• Envio e recebimento de dados por meio de requisições parametrizadas.
• pages/rf.php
• Página RF.
5. Desenvolvimento e Resultados Obtidos
INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS
• RF
5. Desenvolvimento e Resultados Obtidos
INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS
• RF
5. Desenvolvimento e Resultados Obtidos
INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS
• Administração
• Exibição de relatórios e mecanismos de controle da estação;
• Informações gerais sobre o sistema;
• Controles
• Iniciar ou pausar o stream de vídeo;
• Ligar ou desligar o display LCD e seu backlight, dentre outros.
• php/status.php
• Controle de periféricos e exibição de status.
• pages/admin.php
• Relatório do sistema e componentes de controle;
• Controles mostrados somente para usuários autenticados.
• Administração
5. Desenvolvimento e Resultados Obtidos
INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS
• Painel de Status e de Controle
• Exibição direta de dados:
• Temperatura ambiente;
• Uso de CPU;
• Status do Stream de Vídeo e do MPlayer.
• Controle de execução multimídia:
• Avançar/recuar música;
• Pausar ou cancelar a execução;
• Controle de volume.
5. Desenvolvimento e Resultados Obtidos
INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS
• Painel de Status e de Controle
• A exibição de dados da estação ocorre pela interação entre funções no script
js/ajax.js e de requisições do script php/status.php.
• Já o controle de execução multimídia ocorre pela interação entre funções no
script js/mediaControl.js e o script php/mplayer.php.
5. Desenvolvimento e Resultados Obtidos
INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS
• Painel de Status e de Controle
5. Desenvolvimento e Resultados Obtidos
INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS
• Contato
• files/mail.py
• Envia e-mails através da conta tiny6410@gmail.com;
• php/mail.php
• Parâmetros de contato;
• Envio de e-mail com files/mail.py com parâmetros trabalhados.
• pages/contact.php
• Página Contato.
5. Desenvolvimento e Resultados Obtidos
INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS
• Contato
6. Conclusões
• Uso de diversas ferramentas de desenvolvimento;
• Uso de conceitos de sistemas embarcados, redes de computadores e
interação cliente-servidor para web;
• Interação entre componentes, elementos e programas em linguagens
diferentes compondo um sistema final;
• Agregação de informação com uso de toolchains e buildsystems, e
pelo desenvolvimento de sistemas e de interface web;
• Ativo para aprendizado de ferramentas e de desenvolvimento de
soluções Linux embarcadas.
7. Sugestões e futuro do projeto
• Página para acesso móvel;
• Google API – Inserção de dados em planilhas na nuvem, criação
automática de álbuns com as fotos tiradas pela câmera, etc;
• DropBox API – Inserção de dados em um disco virtual na nuvem;
• Interação com redes sociais – Twitter;
• XMPPPY – Comunicação e interação via chat;
• Uso de OpenCV para criar mecanismos de reconhecimento facial,
detecção de padrões, etc.
7. Sugestões e futuro do projeto
• O projeto pode se tornar um produto para entretenimento;
• É possível criar um equipamento para monitoramento visual e
sensoriamento remoto, com uso de componentes de baixo custo;
• Será continuado como projeto, e está disponível no Git Hub:
https://github.com/andrecurvello/armwebstation
5. Desenvolvimento e Resultados Obtidos
INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS
• Mensagem
• Ainda em fase de protótipo;
• Uso de Qt4 para exibição de mensagem no display LCD da Tiny6410;
• Uso de scripts PHP para exibição da página e controle de requisições;
• Previsto para futuras versões do projeto.
5. Desenvolvimento e Resultados Obtidos
INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS
• Documentos
• Página com links, documentos e referências bibliográficas para suporte ao
desenvolvimento de Linux embarcado;
• Script PHP responsável por sintetizar a página.
• Documentos
5. Desenvolvimento e Resultados Obtidos
INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS
• Sobre
• Tela com maiores detalhes sobre cada uma das opções do Menu e do sistema
implementado;
• Script PHP pages/about.php é responsável por definir a estrutura HTML e o
conteúdo da página.
5. Desenvolvimento e Resultados Obtidos
INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS
• Sobre

Mais conteúdo relacionado

Destaque

Dias do futuro presente da programação
Dias do futuro presente da programaçãoDias do futuro presente da programação
Dias do futuro presente da programaçãoLuiz Borba
 
Todas as coisas que todo programador não pode deixar de saber
Todas as coisas que todo programador não pode deixar de saberTodas as coisas que todo programador não pode deixar de saber
Todas as coisas que todo programador não pode deixar de saberLuiz Borba
 
Route2 company introduction_25.07.11
Route2 company introduction_25.07.11Route2 company introduction_25.07.11
Route2 company introduction_25.07.11Tim Barker
 
Coisas que levei um tempo para aprender
Coisas que levei um tempo para aprenderCoisas que levei um tempo para aprender
Coisas que levei um tempo para aprenderLuiz Borba
 
Por que voce precisa (re)aprender linguagens funcionais
Por que voce precisa (re)aprender linguagens funcionaisPor que voce precisa (re)aprender linguagens funcionais
Por que voce precisa (re)aprender linguagens funcionaisLuiz Borba
 
Grafologia autoconhecimento e qualidade de vida
Grafologia autoconhecimento e qualidade de vidaGrafologia autoconhecimento e qualidade de vida
Grafologia autoconhecimento e qualidade de vidaCarlos Casalicchio
 
Aplicando conceitos gerais de gerenciamento de projetos à engenharia de software
Aplicando conceitos gerais de gerenciamento de projetos à engenharia de softwareAplicando conceitos gerais de gerenciamento de projetos à engenharia de software
Aplicando conceitos gerais de gerenciamento de projetos à engenharia de softwareNatanael Simões
 
Paradigmas de Programação
Paradigmas de ProgramaçãoParadigmas de Programação
Paradigmas de ProgramaçãoNatanael Simões
 
Como recuperar senhas WEP de redes wireless com Backtrack
Como recuperar senhas WEP de redes wireless com BacktrackComo recuperar senhas WEP de redes wireless com Backtrack
Como recuperar senhas WEP de redes wireless com BacktrackNatanael Simões
 
Processo de Desenvolvimento de Software - Linguagens Compiladas x Interpretadas
Processo de Desenvolvimento de Software - Linguagens Compiladas x InterpretadasProcesso de Desenvolvimento de Software - Linguagens Compiladas x Interpretadas
Processo de Desenvolvimento de Software - Linguagens Compiladas x InterpretadasNatanael Simões
 
Introdução à Engenharia de Software e UML
Introdução à Engenharia de Software e UMLIntrodução à Engenharia de Software e UML
Introdução à Engenharia de Software e UMLNatanael Simões
 
Introdução a engenharia walter antonio bazzo - 6ª edição
Introdução a engenharia   walter antonio bazzo - 6ª ediçãoIntrodução a engenharia   walter antonio bazzo - 6ª edição
Introdução a engenharia walter antonio bazzo - 6ª ediçãoAna Cristina Ribeiro
 
Livro estatística fácil antônio arnot crespo - ed saraiva
Livro estatística fácil   antônio arnot crespo - ed saraivaLivro estatística fácil   antônio arnot crespo - ed saraiva
Livro estatística fácil antônio arnot crespo - ed saraivaPablo Cotes
 
Albert Einstein - Biografia, Obras, Curiosidades e Outros
Albert Einstein - Biografia, Obras, Curiosidades e Outros Albert Einstein - Biografia, Obras, Curiosidades e Outros
Albert Einstein - Biografia, Obras, Curiosidades e Outros Fábio Roque
 
Morettin estatistica básica, probabilidade
Morettin   estatistica básica, probabilidadeMorettin   estatistica básica, probabilidade
Morettin estatistica básica, probabilidadelalabbesteves
 

Destaque (20)

Dias do futuro presente da programação
Dias do futuro presente da programaçãoDias do futuro presente da programação
Dias do futuro presente da programação
 
Todas as coisas que todo programador não pode deixar de saber
Todas as coisas que todo programador não pode deixar de saberTodas as coisas que todo programador não pode deixar de saber
Todas as coisas que todo programador não pode deixar de saber
 
Route2 company introduction_25.07.11
Route2 company introduction_25.07.11Route2 company introduction_25.07.11
Route2 company introduction_25.07.11
 
Coisas que levei um tempo para aprender
Coisas que levei um tempo para aprenderCoisas que levei um tempo para aprender
Coisas que levei um tempo para aprender
 
Por que voce precisa (re)aprender linguagens funcionais
Por que voce precisa (re)aprender linguagens funcionaisPor que voce precisa (re)aprender linguagens funcionais
Por que voce precisa (re)aprender linguagens funcionais
 
Voce Tem Orgulho Do Seu Codigo
Voce Tem Orgulho Do Seu CodigoVoce Tem Orgulho Do Seu Codigo
Voce Tem Orgulho Do Seu Codigo
 
Grafologia autoconhecimento e qualidade de vida
Grafologia autoconhecimento e qualidade de vidaGrafologia autoconhecimento e qualidade de vida
Grafologia autoconhecimento e qualidade de vida
 
Aplicando conceitos gerais de gerenciamento de projetos à engenharia de software
Aplicando conceitos gerais de gerenciamento de projetos à engenharia de softwareAplicando conceitos gerais de gerenciamento de projetos à engenharia de software
Aplicando conceitos gerais de gerenciamento de projetos à engenharia de software
 
Paradigmas de Programação
Paradigmas de ProgramaçãoParadigmas de Programação
Paradigmas de Programação
 
Como recuperar senhas WEP de redes wireless com Backtrack
Como recuperar senhas WEP de redes wireless com BacktrackComo recuperar senhas WEP de redes wireless com Backtrack
Como recuperar senhas WEP de redes wireless com Backtrack
 
Processo de Desenvolvimento de Software - Linguagens Compiladas x Interpretadas
Processo de Desenvolvimento de Software - Linguagens Compiladas x InterpretadasProcesso de Desenvolvimento de Software - Linguagens Compiladas x Interpretadas
Processo de Desenvolvimento de Software - Linguagens Compiladas x Interpretadas
 
Introdução à Engenharia de Software e UML
Introdução à Engenharia de Software e UMLIntrodução à Engenharia de Software e UML
Introdução à Engenharia de Software e UML
 
O guia-das-engenharias
O guia-das-engenhariasO guia-das-engenharias
O guia-das-engenharias
 
Introdução a engenharia walter antonio bazzo - 6ª edição
Introdução a engenharia   walter antonio bazzo - 6ª ediçãoIntrodução a engenharia   walter antonio bazzo - 6ª edição
Introdução a engenharia walter antonio bazzo - 6ª edição
 
Livro estatística fácil antônio arnot crespo - ed saraiva
Livro estatística fácil   antônio arnot crespo - ed saraivaLivro estatística fácil   antônio arnot crespo - ed saraiva
Livro estatística fácil antônio arnot crespo - ed saraiva
 
Albert Einstein - Biografia, Obras, Curiosidades e Outros
Albert Einstein - Biografia, Obras, Curiosidades e Outros Albert Einstein - Biografia, Obras, Curiosidades e Outros
Albert Einstein - Biografia, Obras, Curiosidades e Outros
 
Morettin estatistica básica, probabilidade
Morettin   estatistica básica, probabilidadeMorettin   estatistica básica, probabilidade
Morettin estatistica básica, probabilidade
 
Healthcare Reform and Changing Service Delivery Models
Healthcare Reform and Changing Service Delivery ModelsHealthcare Reform and Changing Service Delivery Models
Healthcare Reform and Changing Service Delivery Models
 
London Overground - A Success Story
London Overground - A Success StoryLondon Overground - A Success Story
London Overground - A Success Story
 
Engineering Services Forum - Wipro & Johnson Controls
Engineering Services Forum - Wipro & Johnson ControlsEngineering Services Forum - Wipro & Johnson Controls
Engineering Services Forum - Wipro & Johnson Controls
 

Semelhante a Estação de Controle Multimídia com Interface Web utilizando Sistema Operacional Linux Embarcado em plataforma ARM

HTML 5, CSS 3 e o futuro da Web
HTML 5, CSS 3 e o futuro da WebHTML 5, CSS 3 e o futuro da Web
HTML 5, CSS 3 e o futuro da WebDiego Pessoa
 
Write once, run "everywhere"
Write once, run "everywhere"Write once, run "everywhere"
Write once, run "everywhere"Stefan Horochovec
 
Desenvolvimento Web com CakePHP
Desenvolvimento Web com CakePHPDesenvolvimento Web com CakePHP
Desenvolvimento Web com CakePHPSérgio Vilar
 
Criando aplicações web com tecnologias Microsoft
Criando aplicações web com tecnologias MicrosoftCriando aplicações web com tecnologias Microsoft
Criando aplicações web com tecnologias MicrosoftFabrício Lopes Sanchez
 
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendAnálise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendThiago Sinésio
 
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaTécnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaAlexandre Tarifa
 
Bibliotecas de interface rica no jsf 2
Bibliotecas de interface rica no jsf 2Bibliotecas de interface rica no jsf 2
Bibliotecas de interface rica no jsf 2Pablo Nóbrega
 
Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento WebSérgio Souza Costa
 
Open4Education | MC122 - Introdução a ALM OpenSource
Open4Education | MC122 - Introdução a ALM OpenSourceOpen4Education | MC122 - Introdução a ALM OpenSource
Open4Education | MC122 - Introdução a ALM OpenSourcetdc-globalcode
 
Seminário de Desenvolvimento Mobile - Etec Cafelândia
Seminário de Desenvolvimento Mobile - Etec CafelândiaSeminário de Desenvolvimento Mobile - Etec Cafelândia
Seminário de Desenvolvimento Mobile - Etec CafelândiaDiego Cavalca
 
Introdução a programação para a Internet
Introdução a programação para a InternetIntrodução a programação para a Internet
Introdução a programação para a InternetLeonardo Soares
 
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1Novidades do .NET Core 2.1 e do ASP.NET Core 2.1
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1Giovanni Bassi
 
Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.Valmir Justo
 
Sistemas Distribuídos baseados na Web
Sistemas Distribuídos baseados na WebSistemas Distribuídos baseados na Web
Sistemas Distribuídos baseados na WebRafael Chagas
 

Semelhante a Estação de Controle Multimídia com Interface Web utilizando Sistema Operacional Linux Embarcado em plataforma ARM (20)

Web Tools Pt Br
Web Tools Pt BrWeb Tools Pt Br
Web Tools Pt Br
 
Desenvolviemento web com ASP.Net e MVC
Desenvolviemento web com ASP.Net e MVCDesenvolviemento web com ASP.Net e MVC
Desenvolviemento web com ASP.Net e MVC
 
HTML 5, CSS 3 e o futuro da Web
HTML 5, CSS 3 e o futuro da WebHTML 5, CSS 3 e o futuro da Web
HTML 5, CSS 3 e o futuro da Web
 
Asa cpbr4
Asa cpbr4Asa cpbr4
Asa cpbr4
 
Write once, run "everywhere"
Write once, run "everywhere"Write once, run "everywhere"
Write once, run "everywhere"
 
Desenvolvimento Web com CakePHP
Desenvolvimento Web com CakePHPDesenvolvimento Web com CakePHP
Desenvolvimento Web com CakePHP
 
Curso HTML 5 - Aula Inicial
Curso HTML 5 - Aula InicialCurso HTML 5 - Aula Inicial
Curso HTML 5 - Aula Inicial
 
Criando aplicações web com tecnologias Microsoft
Criando aplicações web com tecnologias MicrosoftCriando aplicações web com tecnologias Microsoft
Criando aplicações web com tecnologias Microsoft
 
De 0 a DevOps
De 0 a DevOpsDe 0 a DevOps
De 0 a DevOps
 
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendAnálise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
 
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaTécnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
 
Bibliotecas de interface rica no jsf 2
Bibliotecas de interface rica no jsf 2Bibliotecas de interface rica no jsf 2
Bibliotecas de interface rica no jsf 2
 
Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento Web
 
Open4Education | MC122 - Introdução a ALM OpenSource
Open4Education | MC122 - Introdução a ALM OpenSourceOpen4Education | MC122 - Introdução a ALM OpenSource
Open4Education | MC122 - Introdução a ALM OpenSource
 
Seminário de Desenvolvimento Mobile - Etec Cafelândia
Seminário de Desenvolvimento Mobile - Etec CafelândiaSeminário de Desenvolvimento Mobile - Etec Cafelândia
Seminário de Desenvolvimento Mobile - Etec Cafelândia
 
Nokia Web 1- 5 SDK para Série 40
Nokia Web 1- 5 SDK para Série 40Nokia Web 1- 5 SDK para Série 40
Nokia Web 1- 5 SDK para Série 40
 
Introdução a programação para a Internet
Introdução a programação para a InternetIntrodução a programação para a Internet
Introdução a programação para a Internet
 
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1Novidades do .NET Core 2.1 e do ASP.NET Core 2.1
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1
 
Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.
 
Sistemas Distribuídos baseados na Web
Sistemas Distribuídos baseados na WebSistemas Distribuídos baseados na Web
Sistemas Distribuídos baseados na Web
 

Mais de André Curvello

Sistemas embarcados e a contribuição para o combate a COVID-19
Sistemas embarcados e a contribuição para o combate a COVID-19Sistemas embarcados e a contribuição para o combate a COVID-19
Sistemas embarcados e a contribuição para o combate a COVID-19André Curvello
 
Blockchain em IoT - Desafios e considerações numa abordagem prática
Blockchain em IoT - Desafios e considerações numa abordagem práticaBlockchain em IoT - Desafios e considerações numa abordagem prática
Blockchain em IoT - Desafios e considerações numa abordagem práticaAndré Curvello
 
Arquitetando seu sistema de IoT com Azure
Arquitetando seu sistema de IoT com AzureArquitetando seu sistema de IoT com Azure
Arquitetando seu sistema de IoT com AzureAndré Curvello
 
Drones - Programando sistemas embarcados voadores e... autônomos!
Drones - Programando sistemas embarcados voadores e... autônomos!Drones - Programando sistemas embarcados voadores e... autônomos!
Drones - Programando sistemas embarcados voadores e... autônomos!André Curvello
 
Dispositivos IoT com FPGAs - Alto poder de processamento para crescentes dema...
Dispositivos IoT com FPGAs - Alto poder de processamento para crescentes dema...Dispositivos IoT com FPGAs - Alto poder de processamento para crescentes dema...
Dispositivos IoT com FPGAs - Alto poder de processamento para crescentes dema...André Curvello
 
Internet das Coisas - Na nuvem além da telemetria
Internet das Coisas - Na nuvem além da telemetriaInternet das Coisas - Na nuvem além da telemetria
Internet das Coisas - Na nuvem além da telemetriaAndré Curvello
 
Pilares da Computação para Internet das Coisas
Pilares da Computação para Internet das CoisasPilares da Computação para Internet das Coisas
Pilares da Computação para Internet das CoisasAndré Curvello
 
IoT Aplicada à Engenharia de Computação
IoT Aplicada à Engenharia de ComputaçãoIoT Aplicada à Engenharia de Computação
IoT Aplicada à Engenharia de ComputaçãoAndré Curvello
 
IoE - Internet de Todas as Coisas - Quais os Riscos de Segurança
IoE - Internet de Todas as Coisas - Quais os Riscos de SegurançaIoE - Internet de Todas as Coisas - Quais os Riscos de Segurança
IoE - Internet de Todas as Coisas - Quais os Riscos de SegurançaAndré Curvello
 
Linux Embarcado - O Sistema Operacional da Internet das Coisas
Linux Embarcado - O Sistema Operacional da Internet das CoisasLinux Embarcado - O Sistema Operacional da Internet das Coisas
Linux Embarcado - O Sistema Operacional da Internet das CoisasAndré Curvello
 
Rede CAN em Linux Embarcado para Aplicações Conectadas
Rede CAN em Linux Embarcado para Aplicações ConectadasRede CAN em Linux Embarcado para Aplicações Conectadas
Rede CAN em Linux Embarcado para Aplicações ConectadasAndré Curvello
 
Criando elementos conectados com visão computacional usando Raspberry Pi Zero...
Criando elementos conectados com visão computacional usando Raspberry Pi Zero...Criando elementos conectados com visão computacional usando Raspberry Pi Zero...
Criando elementos conectados com visão computacional usando Raspberry Pi Zero...André Curvello
 
TDC2017 - Sistemas Assimétricos com ARM e FPGA
TDC2017 - Sistemas Assimétricos com ARM e FPGATDC2017 - Sistemas Assimétricos com ARM e FPGA
TDC2017 - Sistemas Assimétricos com ARM e FPGAAndré Curvello
 
TDC2017 - Desvendando a Linux Device Tree
TDC2017 - Desvendando a Linux Device TreeTDC2017 - Desvendando a Linux Device Tree
TDC2017 - Desvendando a Linux Device TreeAndré Curvello
 
Indústria 4.0 - Do chão de fábrica à sua casa por um clique.
Indústria 4.0 - Do chão de fábrica à sua casa por um clique.Indústria 4.0 - Do chão de fábrica à sua casa por um clique.
Indústria 4.0 - Do chão de fábrica à sua casa por um clique.André Curvello
 
Internet das Coisas - Do Sensor à Nuvem, e Você?
Internet das Coisas - Do Sensor à Nuvem, e Você?Internet das Coisas - Do Sensor à Nuvem, e Você?
Internet das Coisas - Do Sensor à Nuvem, e Você?André Curvello
 
Linux Embarcado na Construção de Sistemas Inteligentes e Conectados
Linux Embarcado na Construção de Sistemas Inteligentes e ConectadosLinux Embarcado na Construção de Sistemas Inteligentes e Conectados
Linux Embarcado na Construção de Sistemas Inteligentes e ConectadosAndré Curvello
 
Veja como hackear seu carro usando Rede CAN com Arduino Due
Veja como hackear seu carro usando Rede CAN com Arduino DueVeja como hackear seu carro usando Rede CAN com Arduino Due
Veja como hackear seu carro usando Rede CAN com Arduino DueAndré Curvello
 
IoT - Além da Telemetria
IoT - Além da TelemetriaIoT - Além da Telemetria
IoT - Além da TelemetriaAndré Curvello
 
CPqD - Detecção Inteligente de Eventos por Imagem - Um Desafio para Internet ...
CPqD - Detecção Inteligente de Eventos por Imagem - Um Desafio para Internet ...CPqD - Detecção Inteligente de Eventos por Imagem - Um Desafio para Internet ...
CPqD - Detecção Inteligente de Eventos por Imagem - Um Desafio para Internet ...André Curvello
 

Mais de André Curvello (20)

Sistemas embarcados e a contribuição para o combate a COVID-19
Sistemas embarcados e a contribuição para o combate a COVID-19Sistemas embarcados e a contribuição para o combate a COVID-19
Sistemas embarcados e a contribuição para o combate a COVID-19
 
Blockchain em IoT - Desafios e considerações numa abordagem prática
Blockchain em IoT - Desafios e considerações numa abordagem práticaBlockchain em IoT - Desafios e considerações numa abordagem prática
Blockchain em IoT - Desafios e considerações numa abordagem prática
 
Arquitetando seu sistema de IoT com Azure
Arquitetando seu sistema de IoT com AzureArquitetando seu sistema de IoT com Azure
Arquitetando seu sistema de IoT com Azure
 
Drones - Programando sistemas embarcados voadores e... autônomos!
Drones - Programando sistemas embarcados voadores e... autônomos!Drones - Programando sistemas embarcados voadores e... autônomos!
Drones - Programando sistemas embarcados voadores e... autônomos!
 
Dispositivos IoT com FPGAs - Alto poder de processamento para crescentes dema...
Dispositivos IoT com FPGAs - Alto poder de processamento para crescentes dema...Dispositivos IoT com FPGAs - Alto poder de processamento para crescentes dema...
Dispositivos IoT com FPGAs - Alto poder de processamento para crescentes dema...
 
Internet das Coisas - Na nuvem além da telemetria
Internet das Coisas - Na nuvem além da telemetriaInternet das Coisas - Na nuvem além da telemetria
Internet das Coisas - Na nuvem além da telemetria
 
Pilares da Computação para Internet das Coisas
Pilares da Computação para Internet das CoisasPilares da Computação para Internet das Coisas
Pilares da Computação para Internet das Coisas
 
IoT Aplicada à Engenharia de Computação
IoT Aplicada à Engenharia de ComputaçãoIoT Aplicada à Engenharia de Computação
IoT Aplicada à Engenharia de Computação
 
IoE - Internet de Todas as Coisas - Quais os Riscos de Segurança
IoE - Internet de Todas as Coisas - Quais os Riscos de SegurançaIoE - Internet de Todas as Coisas - Quais os Riscos de Segurança
IoE - Internet de Todas as Coisas - Quais os Riscos de Segurança
 
Linux Embarcado - O Sistema Operacional da Internet das Coisas
Linux Embarcado - O Sistema Operacional da Internet das CoisasLinux Embarcado - O Sistema Operacional da Internet das Coisas
Linux Embarcado - O Sistema Operacional da Internet das Coisas
 
Rede CAN em Linux Embarcado para Aplicações Conectadas
Rede CAN em Linux Embarcado para Aplicações ConectadasRede CAN em Linux Embarcado para Aplicações Conectadas
Rede CAN em Linux Embarcado para Aplicações Conectadas
 
Criando elementos conectados com visão computacional usando Raspberry Pi Zero...
Criando elementos conectados com visão computacional usando Raspberry Pi Zero...Criando elementos conectados com visão computacional usando Raspberry Pi Zero...
Criando elementos conectados com visão computacional usando Raspberry Pi Zero...
 
TDC2017 - Sistemas Assimétricos com ARM e FPGA
TDC2017 - Sistemas Assimétricos com ARM e FPGATDC2017 - Sistemas Assimétricos com ARM e FPGA
TDC2017 - Sistemas Assimétricos com ARM e FPGA
 
TDC2017 - Desvendando a Linux Device Tree
TDC2017 - Desvendando a Linux Device TreeTDC2017 - Desvendando a Linux Device Tree
TDC2017 - Desvendando a Linux Device Tree
 
Indústria 4.0 - Do chão de fábrica à sua casa por um clique.
Indústria 4.0 - Do chão de fábrica à sua casa por um clique.Indústria 4.0 - Do chão de fábrica à sua casa por um clique.
Indústria 4.0 - Do chão de fábrica à sua casa por um clique.
 
Internet das Coisas - Do Sensor à Nuvem, e Você?
Internet das Coisas - Do Sensor à Nuvem, e Você?Internet das Coisas - Do Sensor à Nuvem, e Você?
Internet das Coisas - Do Sensor à Nuvem, e Você?
 
Linux Embarcado na Construção de Sistemas Inteligentes e Conectados
Linux Embarcado na Construção de Sistemas Inteligentes e ConectadosLinux Embarcado na Construção de Sistemas Inteligentes e Conectados
Linux Embarcado na Construção de Sistemas Inteligentes e Conectados
 
Veja como hackear seu carro usando Rede CAN com Arduino Due
Veja como hackear seu carro usando Rede CAN com Arduino DueVeja como hackear seu carro usando Rede CAN com Arduino Due
Veja como hackear seu carro usando Rede CAN com Arduino Due
 
IoT - Além da Telemetria
IoT - Além da TelemetriaIoT - Além da Telemetria
IoT - Além da Telemetria
 
CPqD - Detecção Inteligente de Eventos por Imagem - Um Desafio para Internet ...
CPqD - Detecção Inteligente de Eventos por Imagem - Um Desafio para Internet ...CPqD - Detecção Inteligente de Eventos por Imagem - Um Desafio para Internet ...
CPqD - Detecção Inteligente de Eventos por Imagem - Um Desafio para Internet ...
 

Estação de Controle Multimídia com Interface Web utilizando Sistema Operacional Linux Embarcado em plataforma ARM

  • 1. Estação de Controle Multimídia com Interface Web utilizando sistema operacional Linux embarcado em plataforma ARM ANDRÉ MÁRCIO DE LIMA CURVELLO ORIENTADOR: PROF. DR. EVANDRO LUÍS LINHARI RODRIGUES UNIVERSIDADE DE SÃO PAULO Escola de Engenharia de São Carlos Departamento de Engenharia Elétrica 20 de Novembro de 2012
  • 2. AGENDA 1. Objetivos do Trabalho 2. História e Estado da Arte dos Sistemas Embarcados 3. Visão Geral de Linux Embarcado e Plataformas disponíveis 4. Conceitos, Materiais e Métodos 5. Desenvolvimento e Resultados Obtidos 6. Conclusões 7. Sugestões e futuro do projeto
  • 3. 1. Objetivos do Trabalho • Sistema Embarcado que faça uso e controle de ferramentas e componentes multimídia através da web; • Componentes de controle e interação multimídia; • Plataforma de acesso web amigável; • Interação intersistemas e interplataformas; • Portabilidade; • Desenvolver bases para futuros projetos de sistemas embarcados em Linux.
  • 4. 2. História e Estado da Arte dos Sistemas Embarcados • ENIAC – 1946 • Transistor – 1947, Bell Laboratories • Apollo Guidance Computer - 1966 • Intel 4004 – 1971 Origem: www.porticus.org Origem: www.britannica.com Origem: www.computerhistory.org Origem: www.extremetech.com
  • 5. 2. História e Estado da Arte dos Sistemas Embarcados • Minuteman Missile Autonetics D-17 Computer • Aumento da produção reduziu custos e facilitou acesso; • Microcontroladores 8 Bits, 16 Bits e 32 Bits • Componentes de CPU e memória e periféricos integrados; • ARM e SoCs ARM • Arquitetura RISC, barramento 32 Bits; • Integração de periféricos mais complexos no chip; • Baixo consumo. Origem: www.siloworld.net Origem: www.lions-wing.net Origem: www.pcper.com
  • 6. 3. Visão Geral de Linux Embarcado e Plataformas disponíveis • Linux e Linux Embarcado • Sistema Open Source, com suporte à rede e muitos usuários , fóruns e material disponível; • Primeira versão surgiu em 1994 como um port do Linux para o computador Acorn A5000; • Uso crescente no mercado, em dispositivos e produtos; • Aumento do número de usuários; • Amadurecimento das ferramentas de desenvolvimento; • 4 Referências na Edição 95 da Linux Magazine de Outubro de 2012. Origem: www.old-computers.com Origem: www.developer.android.com
  • 7. 3. Visão Geral de Linux Embarcado e Plataformas disponíveis • Plataformas • Raspberry Pi • BeagleBoard xM • PandaBoard ES • Tiny6410 Plataforma escolhida: Tiny6410 Origem: www.raspberypi.org Origem: www.beagleboard.org Origem: www.friendlyarm.netOrigem: www.pandaboard.org
  • 8. 4. Conceitos, Materiais e Métodos • Toolchains • Bootloader • Kernel • Sistema de Arquivos • Buildroot • Conceitos de Aplicação e Programação Web • Multimídia • Stream de Vídeo • GPS • Sensor de Temperatura Digital • OpenCV • Python
  • 9. 4. Conceitos, Materiais e Métodos • Toolchains • Conjunto de ferramentas para desenvolvimento, tais como compilador, bibliotecas, cabeçalhos de Kernel, debuggers, etc; • Permitem realizar compilação cruzada; • Toolchain FriendlyARM e Buildroot. Origem: www.free-electrons.com
  • 10. 4. Conceitos, Materiais e Métodos • Bootloader • Componente responsável por inicializar o hardware para a entrada e ação do Kernel; • U-Boot configurado para Tiny6410. • Kernel • Núcleo do sistema operacional, gerencia acesso à memória, disco, dispositivos do sistema, recursos de rede, etc; • Kernel Linux 2.6.38 com configurações para Tiny6410.
  • 11. 4. Conceitos, Materiais e Métodos • Sistema de Arquivos • Leitura e escrita dos dados, persistência de dados, bibliotecas, aplicações e arquivos de configurações; • Rootfs Qtopia fornecido pela FriendlyARM. • Buildroot • Buildsystem e Toolchain. • Conceitos de Aplicação e Programação Web • Componentes de exibição (HTML), estilos (CSS) e controle (JavaScript); • Servidor Web – Lighttpd; • Processador de Conteúdo – PHP.
  • 12. 4. Conceitos, Materiais e Métodos • Multimídia • Exibição de conteúdo na forma de áudio, vídeo e imagens; • Periféricos da Tiny6410; • MPlayer • Stream de Vídeo • Fluxo contínuo de imagens; • Captura de vídeo pela câmera USB; • MJPG Streamer; • GPS • Sistema de localização global; • Receptor GPS SiRF StarIII; • Protocolo NMEA 0183.
  • 13. 4. Conceitos, Materiais e Métodos • Sensor de Temperatura Digital • DS18B20; • Barramento Maxim 1-Wire; • OpenCV • Conjunto de bibliotecas para visão computacional; • Permite capturar imagens, aplicar filtros e realizar operações matemáticas em cima de imagens capturadas ou utilizadas como parâmetros de entrada; • Python • Linguagem interpretada e orientada a objetos; • Fácil de usar e de manter; • Ampla gama de bibliotecas, tais como comunicação serial, email, etc. Origem: www.minidevs.com
  • 14. 5. Desenvolvimento e Resultados Obtidos INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS • Arquitetura da Interface de Acesso Web • Interface amigável e de fácil uso; • Menu, exibição de conteúdo e painel de controle; • Uso de tags HTML, estilos CSS e funções JavaScript; • Diretórios utilizados: • “pages” – Arquivos das páginas a serem exibidas; • “php” - Arquivos PHP que recebem e tratam requisições; • “css” - Arquivos de estilo CSS; • “js” – JavaScripts; • “images” – Imagens utilizadas na página da Interface; • “pictures” – Link simbólico para o diretório de imagens capturadas pela câmera USB; • “files” – Demais arquivos e scripts escritos em outras linguagens.
  • 15. 5. Desenvolvimento e Resultados Obtidos INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS • Uso de No-IP para facilitar o acesso. • Endereço http://armweb.no-ip.org • Principal arquivo: www/index.php; • Recebe requisições para mudança de página através do parâmetro p e exibe a página na coluna central; • Exemplo: http://armweb.no-ip.org/?p=home Ou http://armweb.no-ip.org/index.php?p=home
  • 16. 5. Desenvolvimento e Resultados Obtidos INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS • Arquitetura da Interface de Acesso Web • Layout:
  • 17. 5. Desenvolvimento e Resultados Obtidos INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS • Arquitetura da Interface de Acesso Web • Final:
  • 18. 5. Desenvolvimento e Resultados Obtidos • Servidor Web Lighttpd e Processador de Conteúdo PHP • Receber, encaminhar e responder requisições; • Retorna e sintetiza conteúdo HTML ao cliente web; • Executa aplicações; INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS Origem: www.sixrevisions.com
  • 19. 5. Desenvolvimento e Resultados Obtidos INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS • Autenticação • Mecanismo de Sessão do PHP; • Controle de exibição de conteúdo para usuários não autenticados e autenticados • Streams de vídeo, mensagens e administração. • Mecanismo de persistência de dados com SQLite3. • Tabela de usuários cadastrados e suas informações de login.
  • 20. 5. Desenvolvimento e Resultados Obtidos INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS • Autenticação
  • 21. 5. Desenvolvimento e Resultados Obtidos INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS • Músicas • php/folvernav.php • Mapeamento e geração de conteúdo HTML de diretórios de músicas; • Arquivos como Links com funções JavaScript para disparo de requisições. • js/mediaControl.js implementa as funções de disparo. • php/mplayer.php • Recebe requisições e executa MPlayer; • php/musicas.php • Estrutura da página Músicas.
  • 22. 5. Desenvolvimento e Resultados Obtidos INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS • Músicas
  • 23. 5. Desenvolvimento e Resultados Obtidos INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS • Vídeos • php/folvernav.php • Mapeamento e geração de conteúdo HTML de diretórios de vídeos; • Arquivos como Links com funções JavaScript para disparo de requisições. • js/mediaControl.js implementa as funções de disparo. • php/mplayer.php • Recebe requisições e executa MPlayer; • php/videos.php • Página Vídeos; • Elemento de seleção da saída de vídeo.
  • 24. 5. Desenvolvimento e Resultados Obtidos INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS • Vídeos
  • 25. 5. Desenvolvimento e Resultados Obtidos INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS • Vídeos
  • 26. 5. Desenvolvimento e Resultados Obtidos INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS • Câmera • MJPG Streamer • Shell Script define parâmetros de controle para a execução do streamer; • Baixo uso de banda de rede. Cerca de 5 a 10 kB/s; • Basta uma câmera USB compatível com UVC; • php/status.php • Iniciar ou encerrar o stream de vídeo da câmera.
  • 27. 5. Desenvolvimento e Resultados Obtidos INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS • Câmera • usbCapArgs.c • OpenCV para captura de imagens pela câmera USB; • Shell Scripts para controle de captura de fotos com a aplicação. Capturam e movem as fotos para diretório de imagens no cartão de memória. • files/timeCapture.sh • files/cameraCapture.sh • php/camCapture.php • Requisições para controle de obtenção de fotos. Interage com files/cameraCapture.sh. • pages/camera.php • Página Câmera, exibe os streams de vídeo e componentes de controle para obtenção de fotos.
  • 28. 5. Desenvolvimento e Resultados Obtidos INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS • Câmera
  • 29. 5. Desenvolvimento e Resultados Obtidos INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS • Imagens • Mapeamento do diretório de imagens • php/foldernav.php • Conteúdo HTML tabelado com as imagens contidas no diretório; • pages/images.php • Página Imagens; • Ao serem clicadas, as imagens são exibidas em tamanho original.
  • 30. 5. Desenvolvimento e Resultados Obtidos INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS • Imagens
  • 31. 5. Desenvolvimento e Resultados Obtidos INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS • GPS • files/gps.py • Comunicação serial com o receptor GPS; • Obtém as sentenças GPS desejadas; • php/gps.php • Requisições de dados GPS; • Interage com files/gps.py • pages/gps.php • Página GPS.
  • 32.
  • 33. 5. Desenvolvimento e Resultados Obtidos INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS • Temperatura • Driver para o sensor de temperatura ds18b20.ko. • Aplicação ds18b20.c • Leitura de dados do driver. • pages/temp.php • Página Temperatura; • php/temp.php • Interage com a aplicação de leitura do driver ; • Retorna a temperatura conforme parâmetros passados; • Pode gerar arquivo texto com dados de temperatura em um intervalo em segundos.
  • 34. 5. Desenvolvimento e Resultados Obtidos INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS • Temperatura
  • 35. 5. Desenvolvimento e Resultados Obtidos INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS • Temperatura
  • 36. 5. Desenvolvimento e Resultados Obtidos INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS • RF • Interação com o projeto Ferramentas para Gerenciamento de Conteúdo para Telemetria via Web com Linux Embarcado em Microcontroladores ARM; • php/rf.php • Envio e recebimento de dados por meio de requisições parametrizadas. • pages/rf.php • Página RF.
  • 37. 5. Desenvolvimento e Resultados Obtidos INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS • RF
  • 38. 5. Desenvolvimento e Resultados Obtidos INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS • RF
  • 39. 5. Desenvolvimento e Resultados Obtidos INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS • Administração • Exibição de relatórios e mecanismos de controle da estação; • Informações gerais sobre o sistema; • Controles • Iniciar ou pausar o stream de vídeo; • Ligar ou desligar o display LCD e seu backlight, dentre outros. • php/status.php • Controle de periféricos e exibição de status. • pages/admin.php • Relatório do sistema e componentes de controle; • Controles mostrados somente para usuários autenticados.
  • 41. 5. Desenvolvimento e Resultados Obtidos INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS • Painel de Status e de Controle • Exibição direta de dados: • Temperatura ambiente; • Uso de CPU; • Status do Stream de Vídeo e do MPlayer. • Controle de execução multimídia: • Avançar/recuar música; • Pausar ou cancelar a execução; • Controle de volume.
  • 42. 5. Desenvolvimento e Resultados Obtidos INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS • Painel de Status e de Controle • A exibição de dados da estação ocorre pela interação entre funções no script js/ajax.js e de requisições do script php/status.php. • Já o controle de execução multimídia ocorre pela interação entre funções no script js/mediaControl.js e o script php/mplayer.php.
  • 43. 5. Desenvolvimento e Resultados Obtidos INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS • Painel de Status e de Controle
  • 44. 5. Desenvolvimento e Resultados Obtidos INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS • Contato • files/mail.py • Envia e-mails através da conta tiny6410@gmail.com; • php/mail.php • Parâmetros de contato; • Envio de e-mail com files/mail.py com parâmetros trabalhados. • pages/contact.php • Página Contato.
  • 45. 5. Desenvolvimento e Resultados Obtidos INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS • Contato
  • 46. 6. Conclusões • Uso de diversas ferramentas de desenvolvimento; • Uso de conceitos de sistemas embarcados, redes de computadores e interação cliente-servidor para web; • Interação entre componentes, elementos e programas em linguagens diferentes compondo um sistema final; • Agregação de informação com uso de toolchains e buildsystems, e pelo desenvolvimento de sistemas e de interface web; • Ativo para aprendizado de ferramentas e de desenvolvimento de soluções Linux embarcadas.
  • 47. 7. Sugestões e futuro do projeto • Página para acesso móvel; • Google API – Inserção de dados em planilhas na nuvem, criação automática de álbuns com as fotos tiradas pela câmera, etc; • DropBox API – Inserção de dados em um disco virtual na nuvem; • Interação com redes sociais – Twitter; • XMPPPY – Comunicação e interação via chat; • Uso de OpenCV para criar mecanismos de reconhecimento facial, detecção de padrões, etc.
  • 48. 7. Sugestões e futuro do projeto • O projeto pode se tornar um produto para entretenimento; • É possível criar um equipamento para monitoramento visual e sensoriamento remoto, com uso de componentes de baixo custo; • Será continuado como projeto, e está disponível no Git Hub: https://github.com/andrecurvello/armwebstation
  • 49.
  • 50. 5. Desenvolvimento e Resultados Obtidos INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS • Mensagem • Ainda em fase de protótipo; • Uso de Qt4 para exibição de mensagem no display LCD da Tiny6410; • Uso de scripts PHP para exibição da página e controle de requisições; • Previsto para futuras versões do projeto.
  • 51. 5. Desenvolvimento e Resultados Obtidos INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS • Documentos • Página com links, documentos e referências bibliográficas para suporte ao desenvolvimento de Linux embarcado; • Script PHP responsável por sintetizar a página.
  • 53. 5. Desenvolvimento e Resultados Obtidos INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS • Sobre • Tela com maiores detalhes sobre cada uma das opções do Menu e do sistema implementado; • Script PHP pages/about.php é responsável por definir a estrutura HTML e o conteúdo da página.
  • 54. 5. Desenvolvimento e Resultados Obtidos INTERFACE DE ACESSO WEB E COMPONENTES RELACIONADOS • Sobre