Conhecendo o Raspberry Pi

Propaganda
Conhecendo o Raspberry
Pi: Possibilidades de uso
em contextos educacionais
e profissionais
Prof. André Gustavo Duarte de Almeida
[email protected]
docente.ifrn.edu.br/andrealmeida
Roteiro
• 
• 
• 
• 
• 
• 
• 
História
Arquitetura
Onde comprar
Primeiros Passos
Integração de Hardware
Raspberry Pi e Arduino
Conclusão
História
•  Ideia surgiu na universidade de Cambridge(UK)
em 2006
•  Preocupação com o ensino de TI para crianças
•  Em 2008, diminuição dos custos X aumento da
capacidade de processadores para dispositivos
móveis
•  Em 2011 o modelo B do Raspberry Pi
•  Raspberry = Fruta comum em países com clima
temperado
•  PI = Python
História
•  O que é o RaspBerry Pi?
•  Segundo o site raspberrypi.org
•  “Um computador do tamanho de um cartão de
crédito, que pode ser plugado em uma TV e faz a
maioria das coisas que um desktop faz.”
•  “Queremos que as crianças ao redor do mundo
aprendam a programar”
•  Custo de $35....
Arquitetura
Arquitetura
•  Processador
• 
• 
• 
• 
Família ARM11
32 bits, 700MHZSoC(System on a Chip)
512MB no modelo B e 256MB no modelo A
Mesmo processador do Kindle 2 e do iPhone 3g
•  SD Card Slot
•  Atua como HD do Raspberry Pi
Arquitetura
•  Portas USB 2.0
•  Modelo B com duas portas e Modelo A com uma
porta
•  Cuidado na conexão de múltiplos dispositivos
•  Recomendado usa um USB Hub com fonte de
alimentação própria
•  Conector de Vídeo HDMI e Composto
•  Porta Ethernet
•  LED de Status
Arquitetura
•  Power Input
•  Utilizar um carregador microUSB
•  General Purpose Input and Output(GPIO)
•  Permite a interação com outros tipos de hardwares,
como Leds, Motores, Arduino....
•  Display Serial Interface(DSI)
•  Conectar LCD ou displays de LED
•  Camera Serial Interface(CS)
•  Conectar um módulo de câmera
Onde Comprar
•  35$ no Reino Unido...
•  Representantes oficiais
•  Premier Farnell/Element 14
•  RS Components
•  No Brasil...
•  170,01....(http://www.farnellnewark.com.br)
•  Solução: Comprar fora e aguardar e entrega
Primeiros Passos
•  Periféricos(Mínimo)
•  Fonte microUSB que gere 5V e pelo menos 700mA
•  Cartão SD de pelo menos 4GB e classe 4
•  Cabo HDMI para conexão com TV e/ou Monitor
• 
Solução VGA: Adaptador
•  Cabo de Internet
•  Teclado + Mouse(para manuseio do SO)
Primeiros Passos
•  Configuração do SO
•  Baixa o NOBOS(New out of the Box Software).
Permite a escolha da distribuição a ser instalada.
Arquivo em formato zip
•  Formatar o Cartão SD e depois copiar o conteúdo
do arquivo descompactado no cartão
•  Ao ligar o RaspBerry, selecionar o SO a ser
instalado
•  Pode ser a feita a instalação sem a ferramenta
Primeiros Passos
•  Configuração do SO
• 
• 
• 
• 
• 
Distribuições “Oficiais”
Raspbian “wheezy”
Pidora
Arch Linux ARM
Mais opções em: http://elinux.org/RPi_Distribution
Primeiros Passos
•  Raspi-config
Primeiros Passos
•  Raspbian
•  Baseado no Debian, com otimização para ARM/
Raspberry Pi
•  Gerenciador de janelas LXDE
•  Usuário: pi
•  Password: raspberry
•  Para desenvolvimento
•  Python
•  Scratch
Primeiro Passos
•  Scratch
•  Aprenda a programar, programe para aprender
•  Construção de histórias, usando comandos
baseados em blocos
•  Utilizando em diversos níveis(de crianças a
adultos)
•  Vale a pena conferir:
•  http://scratched.media.mit.edu/
•  http://scratch.mit.edu/
Primeiros Passos
•  Python
• 
• 
• 
• 
• 
Flexível
Interpretada
Comunidade ativa
Uso por grandes empresas(Google, Twitter...)
Ideal como primeira linguagem de programação
Integração de Hardware
•  GPIO
• 
• 
• 
• 
Utilização dos 26 pinos da placa
Pinos de propósito geral(bi-direcional)
Pinos de alimentação, terra....
Esquema dos pinos deve ser compreendido para o
uso adequado em projetos de automação/
eletrônica
Integração de Hardware
•  GPIO
1
3
2
4
25
26
Integração de Hardware
•  GPIO – Manipulação com Python
• 
• 
• 
• 
• 
Instalar os pacotes(atualizar repositórios antes)
sudo apt-get update
sudo apt-get install python-dev
sudo apt-get install python-setuptools
sudo apt-get install python-rpi.gpio
Integração de Hardware
•  Primeiro Exemplo
• 
• 
• 
• 
• 
Alternar o acendimento de um LED
Montar o circuito
Definir a porta de envio de sinal
Escrever o código
Executar
Integração de Hardware
•  Montar o circuito
• 
• 
• 
• 
• 
1 LED
1 Protoboard
2 Fios Jumpers Macho
Resistor para preservar a vida útil do LED
No meu circuito: 2 resistores de 330Ω em paralelo,
produzindo uma resistência de 165 Ω(RT=R1.R2/
(R1+R2))
•  Voltagem=3.3V, produzindo assim uma corrente
I=3.3/165=0,02ª ou 20mA
Integração de Hardware
•  Montar circuito
•  Cabo flat para interligar os pinos com o protoboard
• 
Utilizei um cabo flat para HD(existem cabos próprios)
•  Conectar o jumper de alimentação(pino que será
controlado) na entrada positiva do LED(Perna
maior) – Utilizei o pino 18
•  Conectar o jumper do terra(fechamento do circuito)
na ligação do protoboard que fecha os resistores –
Pino 6
Integração de Hardware
•  Escrever o código
import RPi.GPIO as GPIO
//Importa a biblioteca das GPIO
import time
//Importa a biblioteca de tempo
GPIO.setmode(GPIO.BOARD) //Configura o modo de definição de pinos como
BOARD (contagem de pinos da placa)
GPIO.setwarnings(False)
//Desativa os avisos
GPIO.setup(18, GPIO.OUT)
//Configura o pino 18 da placa (GPIO24) como saída
while(1):
//Inicia o loop infinito
print("LED ACESO\n")
GPIO.output(18, 1)
//Coloca o pino 18 em nível alto (1)
time.sleep(1)
print("LED APAGADO\n")
GPIO.output(18, 0)
//Coloca o pino 18 em nível baixo (0)
time.sleep(1)
Fonte: http://labdegaragem.com/profiles/blogs/
tutorial-led-blink-com-raspberry-pi
Integração de Hardware
•  Executando
•  sudo python led.py
•  A execução como root é necessária, pois o usuário
pi não tem acesso liberado aos pinos da placa
Integração de Hardware
•  Notificador Twitter
•  Construir um circuito + código que acione um led
quando a hastag #ensol for detectada.
•  Caso não tenhamos nenhum tweet com a hastag,
um led vermelho fica ativado
•  Circuito construído com base no anterior, passando
agora a utilizar o pino 16 para alimentar o led
vermelho
•  Usamos o Python Twitter Tools: https://github.com/
sixohsix/twitter
Integração com Hardware
•  Python
•  Autenticar para usar a API do twitter
•  Procurar tweets com a hashtag #ensol
•  Para cada novo tweet:
• 
• 
Acionar o LED verde e apagar o vermelho
Deixar o Led acesso por 10 segundos
•  Enquanto não tiverem novos tweets
• 
Deixe o LED vermelho acesso
•  Encerre mediante interrupção do teclado(ctrl+c)
Raspberry Pi + Arduino
•  Raspbery x Arduino???
•  Plataformas complementares
•  Arduino possuir maior leque de opções para
complementação
•  Arduino é mais resistente a erros de montagem de
circuitos e projetos
•  Maior número de projetos
•  Usar o Pi como um processador ampliado,
delegando ao Arduino o manuseio de
periféricos(motores, sensores, etc...)
Raspberry Pi + Arduino
•  Instalando
•  Ligar o Pi e conectar o Arduino
• 
sudo apt-get install arduino
•  Liberar acesso do usuário pi a porta serial
• 
• 
sudo usermod -a -G tty pi
sudo usermod -a -G dialout pi
•  Instalar o módulo serial do Python(Pi -> Arduino)
• 
sudo apt-get install python-serial
Raspberry Pi + Arduino
•  Automação Residencial
•  Raspberry Pi como controlador principal
•  Arduino na interação com diversos dispositivos, em
uma casa inteligente por exemplo
Conclusões
•  Computador de baixo custo
•  Proposta de facilitador de inclusão digital e
iniciação a programação
•  Bom dispositivo de processamento, em
projetos de automação
•  Leque de experiências educacionais e
profissionais, tanto de programação, como de
projetos práticos de eletrônica, automação e
robótica
Download