desenvolvimento mobile & embedded com arduino, python, arm e linux
DESCRIPTION
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.TRANSCRIPT
![Page 1: Desenvolvimento Mobile & Embedded com Arduino, Python, ARM e Linux](https://reader030.vdocuments.net/reader030/viewer/2022013121/5562d98fd8b42a63498b52b1/html5/thumbnails/1.jpg)
Desenvolvimento Mobile & Embedded com Arduino, Python, ARM e Linux
Flávio RibeiroFaculdade iDEZ, Outubro de 2009
![Page 2: Desenvolvimento Mobile & Embedded com Arduino, Python, ARM e Linux](https://reader030.vdocuments.net/reader030/viewer/2022013121/5562d98fd8b42a63498b52b1/html5/thumbnails/2.jpg)
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.comhttp://www.twitter.com/[email protected] @ freenode #python-br #elinux
![Page 3: Desenvolvimento Mobile & Embedded com Arduino, Python, ARM e Linux](https://reader030.vdocuments.net/reader030/viewer/2022013121/5562d98fd8b42a63498b52b1/html5/thumbnails/3.jpg)
Agenda
Conceitos da Computação Móvel e Embarcada
Microprocessadores ARM e o LinuxDemonstração
Arduinos e o Projeto MarmotaDemonstração
![Page 4: Desenvolvimento Mobile & Embedded com Arduino, Python, ARM e Linux](https://reader030.vdocuments.net/reader030/viewer/2022013121/5562d98fd8b42a63498b52b1/html5/thumbnails/4.jpg)
Alguns Conceitos
O que Dispositivos Móveis e Sistemas Embarcados têm em comum?
![Page 5: Desenvolvimento Mobile & Embedded com Arduino, Python, ARM e Linux](https://reader030.vdocuments.net/reader030/viewer/2022013121/5562d98fd8b42a63498b52b1/html5/thumbnails/5.jpg)
Alguns Conceitos
Dispositivos Móveis são Sistemas Embarcados!
![Page 6: Desenvolvimento Mobile & Embedded com Arduino, Python, ARM e Linux](https://reader030.vdocuments.net/reader030/viewer/2022013121/5562d98fd8b42a63498b52b1/html5/thumbnails/6.jpg)
Alguns Conceitos
E o que são Sistemas Embarcados?!
![Page 7: Desenvolvimento Mobile & Embedded com Arduino, Python, ARM e Linux](https://reader030.vdocuments.net/reader030/viewer/2022013121/5562d98fd8b42a63498b52b1/html5/thumbnails/7.jpg)
Alguns Conceitos“ 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... “
da Wikipedia;
![Page 8: Desenvolvimento Mobile & Embedded com Arduino, Python, ARM e Linux](https://reader030.vdocuments.net/reader030/viewer/2022013121/5562d98fd8b42a63498b52b1/html5/thumbnails/8.jpg)
Alguns ConceitosO 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.
![Page 9: Desenvolvimento Mobile & Embedded com Arduino, Python, ARM e Linux](https://reader030.vdocuments.net/reader030/viewer/2022013121/5562d98fd8b42a63498b52b1/html5/thumbnails/9.jpg)
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
![Page 10: Desenvolvimento Mobile & Embedded com Arduino, Python, ARM e Linux](https://reader030.vdocuments.net/reader030/viewer/2022013121/5562d98fd8b42a63498b52b1/html5/thumbnails/10.jpg)
Alguns Conceitos
● Divertidos de Programar e Manipular!
![Page 11: Desenvolvimento Mobile & Embedded com Arduino, Python, ARM e Linux](https://reader030.vdocuments.net/reader030/viewer/2022013121/5562d98fd8b42a63498b52b1/html5/thumbnails/11.jpg)
Exemplos
![Page 12: Desenvolvimento Mobile & Embedded com Arduino, Python, ARM e Linux](https://reader030.vdocuments.net/reader030/viewer/2022013121/5562d98fd8b42a63498b52b1/html5/thumbnails/12.jpg)
Exemplos
![Page 13: Desenvolvimento Mobile & Embedded com Arduino, Python, ARM e Linux](https://reader030.vdocuments.net/reader030/viewer/2022013121/5562d98fd8b42a63498b52b1/html5/thumbnails/13.jpg)
Embedded ARM e Linux
O que é ARM?Arquitetura de processadores RISC (Reduced Instruction Set Computer)
Robusto, suporta interrrupçõesBaixo consumo de energia
Ideal para sistemas embarcados robustos!
![Page 14: Desenvolvimento Mobile & Embedded com Arduino, Python, ARM e Linux](https://reader030.vdocuments.net/reader030/viewer/2022013121/5562d98fd8b42a63498b52b1/html5/thumbnails/14.jpg)
Embedded ARM e Linux
TS 7200200MHz ARM9 CPUPC/104 expansion bus32MB SDRAM1 10/100 Ethernet2 USB 2.0 (12 Mbit/s max)1 Compact Flash socket20 DIO lines
![Page 15: Desenvolvimento Mobile & Embedded com Arduino, Python, ARM e Linux](https://reader030.vdocuments.net/reader030/viewer/2022013121/5562d98fd8b42a63498b52b1/html5/thumbnails/15.jpg)
Embedded ARM e Linux
![Page 16: Desenvolvimento Mobile & Embedded com Arduino, Python, ARM e Linux](https://reader030.vdocuments.net/reader030/viewer/2022013121/5562d98fd8b42a63498b52b1/html5/thumbnails/16.jpg)
Embedded ARM e Linux
TS 7200Kernel Linux 2.4 ou 2.6TSLinuxDebian Linux
apt-get powered :)
![Page 17: Desenvolvimento Mobile & Embedded com Arduino, Python, ARM e Linux](https://reader030.vdocuments.net/reader030/viewer/2022013121/5562d98fd8b42a63498b52b1/html5/thumbnails/17.jpg)
Embedded ARM e Linux
Desenvolvimento de Aplicações
![Page 18: Desenvolvimento Mobile & Embedded com Arduino, Python, ARM e Linux](https://reader030.vdocuments.net/reader030/viewer/2022013121/5562d98fd8b42a63498b52b1/html5/thumbnails/18.jpg)
Embedded ARM e Linux
Desenvolvimento de Aplicações: Linguagens Compiladas
![Page 19: Desenvolvimento Mobile & Embedded com Arduino, Python, ARM e Linux](https://reader030.vdocuments.net/reader030/viewer/2022013121/5562d98fd8b42a63498b52b1/html5/thumbnails/19.jpg)
Embedded ARM e Linux
Desenvolvimento de Aplicações: Cross-Compile
![Page 20: Desenvolvimento Mobile & Embedded com Arduino, Python, ARM e Linux](https://reader030.vdocuments.net/reader030/viewer/2022013121/5562d98fd8b42a63498b52b1/html5/thumbnails/20.jpg)
Embedded ARM e Linux
Desenvolvimento de Aplicações: Cross-Compile
Desenvolvimento no Host PC
![Page 21: Desenvolvimento Mobile & Embedded com Arduino, Python, ARM e Linux](https://reader030.vdocuments.net/reader030/viewer/2022013121/5562d98fd8b42a63498b52b1/html5/thumbnails/21.jpg)
Embedded ARM e Linux
Desenvolvimento de Aplicações: Cross-Compile
Compilação Cruzada no Host PC pra Arquitetura do Target
![Page 22: Desenvolvimento Mobile & Embedded com Arduino, Python, ARM e Linux](https://reader030.vdocuments.net/reader030/viewer/2022013121/5562d98fd8b42a63498b52b1/html5/thumbnails/22.jpg)
Embedded ARM e Linux
Desenvolvimento de Aplicações: Cross-Compile
Envio do binário da aplicação pro Target
Comunicação
![Page 23: Desenvolvimento Mobile & Embedded com Arduino, Python, ARM e Linux](https://reader030.vdocuments.net/reader030/viewer/2022013121/5562d98fd8b42a63498b52b1/html5/thumbnails/23.jpg)
Embedded ARM e Linux
Desenvolvimento de Aplicações: Cross-Compile
Execução do binário no Target
![Page 24: Desenvolvimento Mobile & Embedded com Arduino, Python, ARM e Linux](https://reader030.vdocuments.net/reader030/viewer/2022013121/5562d98fd8b42a63498b52b1/html5/thumbnails/24.jpg)
Embedded ARM e Linux
Desenvolvimento de Aplicações: Linguagens Interpretadas
![Page 25: Desenvolvimento Mobile & Embedded com Arduino, Python, ARM e Linux](https://reader030.vdocuments.net/reader030/viewer/2022013121/5562d98fd8b42a63498b52b1/html5/thumbnails/25.jpg)
Demo!
Embedded ARM e Linux
![Page 26: Desenvolvimento Mobile & Embedded com Arduino, Python, ARM e Linux](https://reader030.vdocuments.net/reader030/viewer/2022013121/5562d98fd8b42a63498b52b1/html5/thumbnails/26.jpg)
Arduino
Projeto de Hardware e Software Livre voltado para artistas, designers, hobbystas ou qualquer um
interessado em criar ou prototipar objetos e ambientes interativos.
![Page 27: Desenvolvimento Mobile & Embedded com Arduino, Python, ARM e Linux](https://reader030.vdocuments.net/reader030/viewer/2022013121/5562d98fd8b42a63498b52b1/html5/thumbnails/27.jpg)
Arduino
• Múltiplas Derivações: Duemilanove
![Page 28: Desenvolvimento Mobile & Embedded com Arduino, Python, ARM e Linux](https://reader030.vdocuments.net/reader030/viewer/2022013121/5562d98fd8b42a63498b52b1/html5/thumbnails/28.jpg)
Arduino
• Múltiplas Derivações: Severino
![Page 29: Desenvolvimento Mobile & Embedded com Arduino, Python, ARM e Linux](https://reader030.vdocuments.net/reader030/viewer/2022013121/5562d98fd8b42a63498b52b1/html5/thumbnails/29.jpg)
Arduino
• Múltiplas Derivações: Paperduino
![Page 30: Desenvolvimento Mobile & Embedded com Arduino, Python, ARM e Linux](https://reader030.vdocuments.net/reader030/viewer/2022013121/5562d98fd8b42a63498b52b1/html5/thumbnails/30.jpg)
Arduino
• Múltiplas Derivações: I l luminato
![Page 31: Desenvolvimento Mobile & Embedded com Arduino, Python, ARM e Linux](https://reader030.vdocuments.net/reader030/viewer/2022013121/5562d98fd8b42a63498b52b1/html5/thumbnails/31.jpg)
Arduino
• Múltiplas Derivações: Toscoduino
![Page 32: Desenvolvimento Mobile & Embedded com Arduino, Python, ARM e Linux](https://reader030.vdocuments.net/reader030/viewer/2022013121/5562d98fd8b42a63498b52b1/html5/thumbnails/32.jpg)
Arduino
• Ciclo de Desenvolvimento rápido
![Page 33: Desenvolvimento Mobile & Embedded com Arduino, Python, ARM e Linux](https://reader030.vdocuments.net/reader030/viewer/2022013121/5562d98fd8b42a63498b52b1/html5/thumbnails/33.jpg)
![Page 34: Desenvolvimento Mobile & Embedded com Arduino, Python, ARM e Linux](https://reader030.vdocuments.net/reader030/viewer/2022013121/5562d98fd8b42a63498b52b1/html5/thumbnails/34.jpg)
Arduino
• Estrutura Básica de uma Aplicação
![Page 35: Desenvolvimento Mobile & Embedded com Arduino, Python, ARM e Linux](https://reader030.vdocuments.net/reader030/viewer/2022013121/5562d98fd8b42a63498b52b1/html5/thumbnails/35.jpg)
marmota: o que é?
Open HardwareEsquemas, dicas, layout de placas
Open SoftwareTodo o código no nosso svn!
![Page 36: Desenvolvimento Mobile & Embedded com Arduino, Python, ARM e Linux](https://reader030.vdocuments.net/reader030/viewer/2022013121/5562d98fd8b42a63498b52b1/html5/thumbnails/36.jpg)
marmota: o que é?
comunidade?
![Page 37: Desenvolvimento Mobile & Embedded com Arduino, Python, ARM e Linux](https://reader030.vdocuments.net/reader030/viewer/2022013121/5562d98fd8b42a63498b52b1/html5/thumbnails/37.jpg)
marmota: o que já foi feito?
CarControl ledByPhone
![Page 38: Desenvolvimento Mobile & Embedded com Arduino, Python, ARM e Linux](https://reader030.vdocuments.net/reader030/viewer/2022013121/5562d98fd8b42a63498b52b1/html5/thumbnails/38.jpg)
marmota: o que já foi feito?
CarControl ledByPhone Carrinho com motores de 3v reduzidos→
![Page 39: Desenvolvimento Mobile & Embedded com Arduino, Python, ARM e Linux](https://reader030.vdocuments.net/reader030/viewer/2022013121/5562d98fd8b42a63498b52b1/html5/thumbnails/39.jpg)
marmota: o que já foi feito?
CarControl ledByPhone Carrinho com motores de 3v reduzidos→ → Arduino Duemilanove
![Page 40: Desenvolvimento Mobile & Embedded com Arduino, Python, ARM e Linux](https://reader030.vdocuments.net/reader030/viewer/2022013121/5562d98fd8b42a63498b52b1/html5/thumbnails/40.jpg)
marmota: o que já foi feito?
CarControl ledByPhone Carrinho com motores de 3v reduzidos→ → Arduino Duemilanove → Módulo BlueSMIRF (SparkFun)
![Page 41: Desenvolvimento Mobile & Embedded com Arduino, Python, ARM e Linux](https://reader030.vdocuments.net/reader030/viewer/2022013121/5562d98fd8b42a63498b52b1/html5/thumbnails/41.jpg)
marmota: o que já foi feito?
CarControl ledByPhone Carrinho com motores de 3v reduzidos→ → Arduino Duemilanove → Módulo BlueSMIRF (SparkFun) → Smartphone Symbian
![Page 42: Desenvolvimento Mobile & Embedded com Arduino, Python, ARM e Linux](https://reader030.vdocuments.net/reader030/viewer/2022013121/5562d98fd8b42a63498b52b1/html5/thumbnails/42.jpg)
marmota: o que já foi feito?
CarControl ledByPhone Carrinho com motores de 3v reduzidos→ → Arduino Duemilanove → Módulo BlueSMIRF (SparkFun) → Smartphone Symbian → Python pra s60
![Page 43: Desenvolvimento Mobile & Embedded com Arduino, Python, ARM e Linux](https://reader030.vdocuments.net/reader030/viewer/2022013121/5562d98fd8b42a63498b52b1/html5/thumbnails/43.jpg)
marmota: o que já foi feito?
CarControl ledByPhone
Demo!
![Page 44: Desenvolvimento Mobile & Embedded com Arduino, Python, ARM e Linux](https://reader030.vdocuments.net/reader030/viewer/2022013121/5562d98fd8b42a63498b52b1/html5/thumbnails/44.jpg)
marmota: o que vempor aí?
CarControlledByPhone na 1ª Competição de Carros Controlados do PET Engenharia Elétrica
@ IFPB
![Page 45: Desenvolvimento Mobile & Embedded com Arduino, Python, ARM e Linux](https://reader030.vdocuments.net/reader030/viewer/2022013121/5562d98fd8b42a63498b52b1/html5/thumbnails/45.jpg)
marmota: o que vempor aí?
CarControlledByPhone + TouchScreen + Live Streaming
(effort @ embedded.ufcg)
![Page 46: Desenvolvimento Mobile & Embedded com Arduino, Python, ARM e Linux](https://reader030.vdocuments.net/reader030/viewer/2022013121/5562d98fd8b42a63498b52b1/html5/thumbnails/46.jpg)
marmota
Projeto Inteiramente LivreVocê pode ajudar!
www.marmota.mobi
![Page 47: Desenvolvimento Mobile & Embedded com Arduino, Python, ARM e Linux](https://reader030.vdocuments.net/reader030/viewer/2022013121/5562d98fd8b42a63498b52b1/html5/thumbnails/47.jpg)
Dúvidas?!
![Page 48: Desenvolvimento Mobile & Embedded com Arduino, Python, ARM e Linux](https://reader030.vdocuments.net/reader030/viewer/2022013121/5562d98fd8b42a63498b52b1/html5/thumbnails/48.jpg)
Obrigado!