Desenvolvimento Mobile & Embedded com Arduino, Python, ARM e Linux

936 visualizações

Publicada em

Um apanhado de conceitos que envolvem sistemas embarcados e computação móvel para a aula inaugural da Pós-Graduação em Mobilidade e Sistemas Embarcados da Estácio iDez.

Publicada em: Tecnologia
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
936
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
23
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Desenvolvimento Mobile & Embedded com Arduino, Python, ARM e Linux

  1. 1. Desenvolvimento Mobile & Embedded com Arduino, Python, ARM e Linux Flávio Ribeiro Faculdade iDEZ, Outubro de 2009
  2. 2. Quem sou? Flávio Ribeiro Graduando em Engenharia Elétrica (IFPB) Engenheiro de Software (Avaty! Tecnologia) Python, Sistemas Embarcados, Disp. Móveis, Robótica, Automação http://www.flavioribeiro.com http://www.twitter.com/flavioribeiro email@flavioribeiro.com flavioribeiro @ freenode #python-br #elinux
  3. 3. Agenda Conceitos da Computação Móvel e Embarcada Microprocessadores ARM e o Linux Demonstração Arduinos e o Projeto Marmota Demonstração
  4. 4. Alguns Conceitos O que Dispositivos Móveis e Sistemas Embarcados têm em comum?
  5. 5. Alguns Conceitos Dispositivos Móveis são Sistemas Embarcados!
  6. 6. Alguns Conceitos E o que são Sistemas Embarcados?!
  7. 7. Alguns Conceitos da Wikipedia; “ Um sistema embarcado, ou sistema embutido, é um sistema microprocessado no qual o computador é completamente encapsulado ou dedicado ao dispositivo ou sistema que ele controla. “ do Dept. de Informática da UFPE; “ Um sistema é dito embarcado quando este é dedicado a uma única tarefa e interage continuamente com o ambiente a sua volta por meio de sensores e atuadores. “ da MS Windows Embedded; “... um Embedded System - sistema embarcado - é qualquer dispositivo microprocessado que executa uma função dedicada... “
  8. 8. Alguns Conceitos O Meu! Sistemas Embarcados são sistemas eletrônicos microprocessados (computadores) encapsulados e dedicados ao dispositivo em que reside e são desenvolvidos para exercer especialmente uma atividade específica.
  9. 9. Alguns Conceitos ● ● Escassez em recursos de Processamento, Armazenamento e Autonomia Funcionalidade Única, executada repetidamente ● No caso dos smartphones “esperar por ligações, mensagens ou interações de conectividade” ● Forte Comunicação com o ambiente ● Propósito de Existência concreto ● Heterogêneos
  10. 10. Alguns Conceitos ● Divertidos de Programar e Manipular!
  11. 11. Exemplos
  12. 12. Exemplos
  13. 13. Embedded ARM e Linux O que é ARM? Arquitetura de processadores RISC (Reduced Instruction Set Computer) Robusto, suporta interrrupções Baixo consumo de energia Ideal para sistemas embarcados robustos!
  14. 14. Embedded ARM e Linux TS 7200 200MHz ARM9 CPU PC/104 expansion bus 32MB SDRAM 1 10/100 Ethernet 2 USB 2.0 (12 Mbit/s max) 1 Compact Flash socket 20 DIO lines
  15. 15. Embedded ARM e Linux
  16. 16. Embedded ARM e Linux TS 7200 Kernel Linux 2.4 ou 2.6 TSLinux Debian Linux apt-get powered :)
  17. 17. Embedded ARM e Linux Desenvolvimento de Aplicações
  18. 18. Embedded ARM e Linux Desenvolvimento de Aplicações: Linguagens Compiladas
  19. 19. Embedded ARM e Linux Desenvolvimento de Aplicações: Cross-Compile
  20. 20. Embedded ARM e Linux Desenvolvimento de Aplicações: Cross-Compile Desenvolvimento no Host PC
  21. 21. Embedded ARM e Linux Desenvolvimento de Aplicações: Cross-Compile Compilação Cruzada no Host PC pra Arquitetura do Target
  22. 22. Embedded ARM e Linux Desenvolvimento de Aplicações: Cross-Compile Comunicação Envio do binário da aplicação pro Target
  23. 23. Embedded ARM e Linux Desenvolvimento de Aplicações: Cross-Compile Execução do binário no Target
  24. 24. Embedded ARM e Linux Desenvolvimento de Aplicações: Linguagens Interpretadas
  25. 25. Embedded ARM e Linux Demo!
  26. 26. Arduino Projeto de Hardware e Software Livre voltado para artistas, designers, hobbystas ou qualquer um interessado em criar ou prototipar objetos e ambientes interativos.
  27. 27. Arduino • Múltiplas Derivações: Duemilanove
  28. 28. Arduino • Múltiplas Derivações: Severino
  29. 29. Arduino • Múltiplas Derivações: Paperduino
  30. 30. Arduino • Múltiplas Derivações: Illuminato
  31. 31. Arduino • Múltiplas Derivações: Toscoduino
  32. 32. Arduino • Ciclo de Desenvolvimento rápido
  33. 33. Arduino • Estrutura Básica de uma Aplicação
  34. 34. marmota: o que é? Open Hardware Esquemas, dicas, layout de placas Open Software Todo o código no nosso svn!
  35. 35. marmota: o que é? comunidade?
  36. 36. marmota: o que já foi feito? CarControlledByPhone
  37. 37. marmota: o que já foi feito? CarControlledByPhone → Carrinho com motores de 3v reduzidos
  38. 38. marmota: o que já foi feito? CarControlledByPhone → Carrinho com motores de 3v reduzidos → Arduino Duemilanove
  39. 39. marmota: o que já foi feito? CarControlledByPhone → Carrinho com motores de 3v reduzidos → Arduino Duemilanove → Módulo BlueSMIRF (SparkFun)
  40. 40. marmota: o que já foi feito? CarControlledByPhone → Carrinho com motores de 3v reduzidos → Arduino Duemilanove → Módulo BlueSMIRF (SparkFun) → Smartphone Symbian
  41. 41. marmota: o que já foi feito? CarControlledByPhone → Carrinho com motores de 3v reduzidos → Arduino Duemilanove → Módulo BlueSMIRF (SparkFun) → Smartphone Symbian → Python pra s60
  42. 42. marmota: o que já foi feito? CarControlledByPhone Demo!
  43. 43. marmota: o que vem por aí? CarControlledByPhone na 1ª Competição de Carros Controlados do PET Engenharia Elétrica @ IFPB
  44. 44. marmota: o que vem por aí? CarControlledByPhone + TouchScreen + Live Streaming (effort @ embedded.ufcg)
  45. 45. marmota Projeto Inteiramente Livre Você pode ajudar! www.marmota.mobi
  46. 46. Dúvidas?!
  47. 47. Obrigado!

×