O Raspberry Pi é um computador de baixíssimo custo que, literamente cabe no seu bolso (do tamanho de um cartão de cŕedito) e oferece uma série de recursos interessantes para projetos de automação, telemetria, educação, etc. Podemos encontrar atualmente três tipos de modelo do Raspberry, a saber:
- Modelo A
- Modelo B
- Modelo B+
Nesse artigo, iremos nos focar no Modelo B, que possui os seguintes recursos:
- 2 entradas USB
- 1 entrada para cabo de Rede
- 1 Saída HDMI
- 1 Saída RCA
- 1 Saída de Áudio
- 26 pinos (GPIO)
- 512 MB de RAM
- Entrada para cartão SD
- GPU VideoCore IV
Configurações necessárias
Podemos ligar o Raspberry através de sua saída HDMI, numa TV com entrada HDMI (de até 1080p) ou monitor (com entrada HDMI ou através de um adaptador VGA-HDMI).
Deve ser conectado nas entradas USB um teclado e mouse compatíveis com o Raspberry Pi.
Outra forma seria conectar o cabo de rede, ligando o Raspberry na sua rede local e acessando-o via ssh.
Instalando o Sistema Operacional no SD Card (no Linux )
Para ver todos os SO''s disponíveis para instalação, acesse http://www.raspberrypi.org/downloads/
Iremos optar pelo Raspbian (baseado no Debian) para esse artigo.
Na Página de Download escolha o Raspbian (pode ser baixado via HTTP ou Torrent). A versão baixada para esse artigo é o 2014-06-20-wheeze-raspbian.zip (788 MB).
Uma vez feito o download, devemos gravar o sistema operacional no SD Card. Para isso, devemos primeiramente descompactar o arquivo zip, para obter a imagem iso do Raspbian. Assim, vai ficar:
1) unzip 2014-06-20-wheezy-raspbian.zip
2) será gerado: 2014-06-20-wheezy-raspbian.img
A imagem tem tamanho de 2,8 G:
2,8G 2014-06-20-wheezy-raspbian.img
Portanto, deve ser usado um SD Card de 4G ou mais (para esse artigo foi usado um SD Card de 8G).
Para gravar o arquivo .img no SD Card, devemos ter um Leitor/Gravador de SD Card em mãos e ligado a uma porta UBS do computador. Feito isso, devemos descobrir qual o nome dado pelo Linux ao dispositivo. Para isso usar o comando df -h. No casodesse artigo, a saída foi:
senaga@senaga-desktop:~/Download/raspian$ df -h
Sist. Arq. Tam Usad Disp Uso% Montado em
/dev/sda1 284G 54G 216G 20% /
none 2,0G 264K 2,0G 1% /dev
none 2,0G 208K 2,0G 1% /dev/shm
none 2,0G 88K 2,0G 1% /var/run
none 2,0G 0 2,0G 0% /var/lock
none 2,0G 0 2,0G 0% /lib/init/rw
/dev/sdb1 7,4G 1,2G 6,2G 16% /media/C243-8A02
O Linux reconheceu o SD Card como /dev/sdb1. Portanto, para efetuar a gravação, dois passos são necessários:
- Desmontar a partição /dev/sdb1, através do comando sudo umount /dev/sdb1
- Use o comando dd para realizar a cópia: sudo dd bs=1M if=2014-06-20-wheezy-raspbian.img of=/dev/sdb
Infelizmente, o comando dd não mostra nenhum status do progresso da cópia. Para verificar o andamento, abra outro terminal e digite pgrep -l ''^dd$'' (para descobrir o PID do dd). No nosso caso, a saída foi 3361 dd.
Tendo o PID em mãos, use o comando sudo kill -USR1 3361
Agora, no terminal onde o dd está sendo executado, será exibido informações sobre o andamento da gravação:
209+0 registros de entrada
209+0 registros de saída
219152384 bytes (219 MB) copiados, 21,4631 s, 10,2 MB/s
Instalando o Sistema Operacional no SD Card (no Windows )
O processo no Windows é bem mais simples, e portanto, não será abordado nesse artigo. Para mais informações, acesse http://www.raspberrypi.org/documentation/installation/installing-images/windows.md
Testando o Raspberry Pi
Uma vez terminado o processo de gravação, basta instalar o SD Card no Raspberry. Conecte o teclado e mouse USB, ligue a energia e pronto: o sistema estará no ar!
Na primeira vez que o Raspbian for executado, será apresentado a tela do aplicativo raspi-config, como mostra a Figura 1.
Figura 1. raspi-config
O raspi-config é um utilitário que permite configurar vários itens do Raspian (teclado, Time-Zone, password, etc). Para uma visão completa, acesse http://www.raspberrypi.org/documentation/configuration/raspi-config.md
Escolha a opção Enable Boot To Desktop, conforme mostra a Figura 2.
Figura 2. Ativando a opção Boot to desktop
A seguir, escolha "Console Text console, requiring login (default)" e com isso, na próxima inicialização, o sistema entrará no modo console, pedindo usuário e senha. O usuário e senha padrões são: pi / raspberry
O raspi-config irá perguntar se deseja rebootar o sistema, escolha sim e logue-se com o usuário: pi e senha: raspberry.
Uma vez logado, basta verificar se o Java está instalado, a partir do comando a seguir:
1) java -version
pi@raspberrypi ~ $ java -version
java version "1.7.0_40"
Java(TM) SE Runtime Environment (build 1.7.0_40-b43)
Java HotSpot(TM) Client VM (build 24.0-b56, mixed mode)
2) pi@raspberrypi ~ $ javac -version
javac 1.7.0_40
Ao instalarmos a versão 2014-06-20 do Raspbian, o Java 7 já vem automaticamene instalad, pois faz parte da distribuição. Para verificar o pacote digite o comando a seguir:
pi@raspberrypi ~ $ update-java-alternatives -l
jdk-7-oracle-armhf 317 /usr/lib/jvm/jdk-7-oracle-armhf
Veja que na versão 2014-06-20 do Raspbian o pacote instalado é o da Oracle, e não do OpenJDK.
Instalando o Java 8 ao invés do 7
A maneira mais fácil de instalar o Java 8 é conectar o cabo de rede no Raspberry PI, para que ele fique acessível na rede local, para então podermos transferir o tar.gz baixado da Oracle.
No caso do artigo, apenas conectamos o cabo e reinicializamos o sistema. Ao efetuar esse passo, o Raspberry assumiu o IP 192.168.1.103:
inet addr:192.168.1.103 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:329 errors:0 dropped:0 overruns:0 frame:0
TX packets:246 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:28293 (27.6 KiB) TX bytes:31275 (30.5 KiB)
Para baixar o última versão do Java, acesse http://www.oracle.com/technetwork/java/javase/downloads/jdk8-arm-downloads-2187472.html
Escolha a versão Linux 32-bit ARM v6/v7 Hard Float ABI e efetue o download (83.83 MB).
Copie o arquivo jdk-8u6-linux-arm-vfp-hflt.tar.gz para o Raspberry com o comando a seguir:
scp jdk-8u6-linux-arm-vfp-hflt.tar.gz pi@192.168.1.103:~
(Caso uma rede não esteja disponível, basta copiar o tar.gz para um pen-drive e ligue o pendrive numa das portas USB do Raspberry PI).
Conecte-se no Raspberry via ssh com o comando:
ssh pi@192.168.1.103
(senha: raspberry)
O arquivo copiado está em /home/pi (a pasta do usuário):
pi@raspberrypi ~ $ ls -tlrh
total 84M
-rw-r--r-- 1 pi pi 5.7K Feb 3 2013 ocr_pi.png
drwxrwxr-x 2 pi pi 4.0K Mar 10 2013 python_games
drwxr-xr-x 2 pi pi 4.0K Jun 20 09:27 Desktop
-rw-r--r-- 1 pi pi 84M Aug 24 17:01 jdk-8u6-linux-arm-vfp-hflt.tar.gz
Agora, execute os seguintes comandos para terminar de configurar o Java:
# Descompacta e instala na pasta /opt
sudo tar zxvf jdk-8u6-linux-arm-vfp-hflt.tar.gz -C /opt
# Seta como default o Java 7
sudo update-alternatives --install /usr/bin/javac javac /opt/jdk1.8.0_06/bin/javac 1
sudo update-alternatives --install /usr/bin/java java /opt/jdk1.8.0_06/bin/java 1
sudo update-alternatives --config javac (escolha o java 8)
sudo update-alternatives --config java (escolha o java 8)
Basta verifcar agora a versão do javac e java use os seguintes comandos:
1) pi@raspberrypi ~ $ java -version
java version "1.8.0_06"
Java(TM) SE Runtime Environment (build 1.8.0_06-b23)
Java HotSpot(TM) Client VM (build 25.6-b23, mixed mode)
2) pi@raspberrypi ~ $ javac -version
java version "1.8.0_06"
Java(TM) SE Runtime Environment (build 1.8.0_06-b23)
Java HotSpot(TM) Client VM (build 25.6-b23, mixed mode)
Instalar o Raspbian e o Java 8 são atividades relativamente simples. Esse artigo não têm a pretensão de cobrir todos os aspectos relativos a instalação e configuração do Raspberry PI. E como o tema pode ser muito complicado para iniciantes, sugerimos os vídeos abaixo, para auxiliar o processo de instalação:
http://www.raspberrypi.org/help/quick-start-guide/ (em inglês)
https://www.youtube.com/watch?v=TvINXo_2UrY (em português)
Caso queiram conhecer mais a fundo o Raspberry PI, um site muito útil (baseado em lições passo-a-passo): https://learn.adafruit.com/series/learn-raspberry-pi
O Raspberry PI abre um leque enorme de possibilidades, devido a suas características, e a presença do Java nesse equipamento favorece muito a grande maioria dos desenvolvedores.
Obrigado pessoal, e até a próxima.
Referências