Raspberry Pi – O computador de bolso

- por Sergio Prado

Categorias: Hardware, Raspberry Pi Tags: , , ,

A idéia apareceu em 2006, quando alguns amigos do Laboratório de Computação da Universidade de Cambridge se juntaram para criar um computador barato para ser usado como ferramenta de ensino. A idéia era um computador extremamente acessível e que iniciasse diretamente em um ambiente de programação. Em 2008 eles criaram a Raspberry Pi Foundation para transformar este projeto em realidade. Depois de 3 anos e alguns protótipos nasceu a Raspberry Pi.

A Raspberry Pi é um computador do tamanho de um cartão de crédito, vendida em dois modelos diferentes. O modelo B custa $35, tem duas portas USB 2.0, saídas de áudio e vídeo (Composite e HDMI) e interface Ethernet. O modelo A é mais barato, custa $25, mas comparado ao modelo B só tem uma porta USB e não tem interface Ethernet.

Os dois modelos tem 256MB de RAM, montado através da técnica PoP (Package-on-Package), uma interface de cartão SD/MMC e um barramento de 26 pinos com acesso à 8 GPIOs, UART, SPI, I2C, I2S e JTAG.

O SoC usado na placa é o BCM2835 da Broadcom. É um ARM11 que roda à 700Mhz, com suporte à ponto flutuante e uma GPU capaz de decodificar vídeos em 1080p!

Mas você pode me perguntar: justo a Broadcom, empresa famosa por fabricar chips MIPS e por dificultar bastante o trabalho da comunidade Linux com seus chips Wi-Fi sem datasheet e seus drivers proprietários? Sim, ela mesmo!

O fato de um dos criadores do projeto (Eben Upton) ser um dos arquitetos da Broadcom é mera coincidência… :)

DOCUMENTAÇÃO

Na wiki do projeto você deve encontrar toda a documentação necessária, incluindo esquemáticos, guias de usuário, projetos existentes, etc.

A Broadcom não libera o datasheet completo do BCM2835. Se você quiser este datasheet, precisa assinar um NDA com a Broadcom! Mas uma versão cobrindo pelo menos o hardware disponível na placa pode ser acessado aqui.

O esquemático completo da placa (modelo B) esta disponível aqui.

Já os arquivos do projeto da placa (BOM, gerber, PCD layout, etc) ainda não estão disponíveis. Portanto, ainda não podemos considerar a Raspberry Pi um projeto de Open Hardware igual à Beagleboard por exemplo.

O fórum do projeto também é bastante movimentado, e pode ser acessado aqui.

PRIMEIROS PASSOS

Quando você compra a placa, você só recebe… a placa! Então se você quiser testar alguma das distribuições disponíveis para a Raspberry Pi, vai precisar dos seguintes itens adicionais:

  • Um cabo micro USB para alimentar a placa.
  • Um cartão SD para gravar o sistema operacional.
  • Um monitor ou uma TV com entrada HDMI ou composite (RCA).
  • Um teclado e um mouse USB.

Já existem diversas distribuições disponíveis para a Raspberry Pi. Vamos fazer um teste com a Raspbian “wheezy”, uma versão otimizada do Debian wheezy com suporte à hard-float ABI. Isso significa que todo o sistema operacional (kernel, bibliotecas e aplicações) foi compilado para aproveitar as instruções de ponto flutuante providas pela CPU, o que deve melhorar a performance de algumas aplicações.

Para instalar no cartão SD, basta baixar a imagem, descompactar e fazer um dd para o cartão:

wget http://files.velocix.com/c1410/images/raspbian/2012-08-16-wheezy-raspbian/2012-08-16-wheezy-raspbian.zip
unzip 2012-08-16-wheezy-raspbian.zip.1
sudo dd if=2012-08-16-wheezy-raspbian.img of=/dev/sdX

Substitua /dev/sdX no comando acima pelo nome do arquivo de dispositivo do seu cartão SD.

CUIDADO: o uso do arquivo de dispositivo errado pode apagar o seu HD!

O primeiro boot pode ser um pouco mais demorado, mas os próximos boots com interface gráfica levam menos de 1 minuto! Esta distribuição usa o LXDE como gerenciador de janelas, e vem com aplicações educativas como o Scratch e o Squeak.

MEDIA CENTER DE BOLSO

Outra distribuição interessante é a Raspbmc, que é baseada no Debian e usa o XBMC para transformar a Raspberry Pi em um media center.

Para instalar no cartão SD, é só baixar e executar um script de instalação provido pelo projeto. Obs: você precisa ter o python instalado na sua máquina.

wget http://svn.stmlabs.com/svn/raspbmc/testing/installers/python/install.py
chmod +x install.py
sudo python install.py

A imagem gravada no cartão é um instalador do Raspbmc. Coloque na Raspberry Pi, conecte-a à Internet e espere a instalação, que pode levar até 30 minutos.

Depois é só colocar seu filme ou série favorita e curtir seu media center de bolso.

OUTRAS DISTRIBUIÇÕES

Existem outras distribuições interessantes para a Raspberry Pi, dentre elas:

  • Debian “wheezy”: é uma imagem idêntica à Raspbian “wheezy”, mas apenas com suporte à soft-float ABI. Isso significa que as operações de ponto flutuante são emuladas por software. Esta distro deve ser usada quando você deseja usar alguma biblioteca que não suporta hard-float ABI como a JVM da Oracle.
  • Arch Linux ARM: baseada na distribuição Arch Linux, voltada à usuários mais avançados.
  • QtonPi: distribuição customizada para trabalhar com o Qt.
  • OpenELEC: outra distribuição para media centers baseada no XBMC.

Uma lista mais completa das distribuições disponíveis para a Raspberry Pi pode ser acessada aqui.

COMPRANDO

Você pode comprar a Raspberry Pi na Farnell/Element 14 ou na RS Components.

A Farnell Brasil esta mantendo um estoque local de peças. Se você tiver sorte de encontrar disponibilidade em estoque, deve pagar em torno de R$180,00 e receber a placa em 3 dias.

Caso contrário, você pode importar, mas deverá esperar algumas semanas para receber.

Não se esqueça de que só vem a placa! Se precisar, compre também um cabo micro USB e um cartão SD de pelo menos 4G.

Atualização: Recebi um contato da Farnell Brasil me dizendo que eles acabaram de receber 1000 placas (no dia em que escrevo este artigo), e que estas placas estarão disponíveis para venda a partir de 11/09/2012. Para efetuar a compra, é só ligar para o Contact Center da Farnell (11 40669400 – opção 1) e informar o código interno da Raspberry Pi: 83T1943.

Happy Hacking!

Sergio Prado

  • Alfredo Miranda

    Sergio, o conector seria o micro usb(o mesmo utilizado nos smartphones da samsung), não? O mini usb é um pouco maior.

    • É verdade Alfredo. Post atualizado. Obrigado pela dica!

  • Marcos Roberto

     Só está difícil conseguir isso aqui no Brasil, não quero importar, o jeito é esperar a farnell brasil abrir disponibilidade =/

    • Olá Marcos,

      Conversei com o pessoal da Farnell esta semana. Eles devem receber um novo lote em outubro.

      Um abraço.

    • Olá Marcos,

      A Farnell acabou de receber mais placas no estoque. Dá uma olhada no final do post.

      • Marcos Roberto

         Obrigado cara, vou já garantir o meu para estudar e fazer um pibic pra faculdade =)

  • Olá Ivan,

    Eu também alimentei a placa diretamente por uma fonte com saída micro USB. Valeu pela dica!

  • Marcos Roberto

    Olá Sergio, não querendo aproveitar-se da sua bondade, mas você conhece algum simulador para ARM, onde eu possa ir escrevendo o código em assembly e executando para ver o resultado? Até agora só consegui isso utilizando um trio de ferramentas que são o toolchain do yagarto, qemu e IDA dissambler, mas é um pouco lento principalmente por parte do ida.
    Abraços.

  • Fernando Barboza

    Intrigante: Só consegui fazer as imagens criadas “bottar” quando foram criadas no windows. Parece que tem problemas quando se usa Linux em Maquina Virtual, como o VirtualBox.

    Comprei minha placa na Farnel esta semana e a recebi no outro dia.

  • Offox2001

    Sérgio ,

    Adquiri a minha e começo a usa-la amanhã.
    A placa me parece ser uma das mais promissoras.
    Devo fazer uns posts no meu blog também. Esse seu post já sendo
    divulgados nas minhas principais listas de discussão que participo.

    Abraço.

    • Offox2001

      Desculpe, mas escrever pelo celular pra mim, ainda e desafio.

    • Legal Offox2001!

      Qual é o seu blog?

  • Valeu pela dica Eduardo!

  • Fellipe Henrique

    Olá.. minha raspberry chegou, fiz o procedimento pra inserir a imagem no cartão.. liguei a placa, mas não mostra nada no monitor.. como posso ver o que está acontecendo?

  • Luizclaudiodantas

    Ola Sergio, seu blog est a sendo muito util, ja estou com min a placa funcionando gracas as suas dicas.
    Preciso colocar a Mao na massa agora, percebi que a versao do debian que instalei, possui a linguagem
    python , existe alguma biblioteca nest a linguagem para interagir com as interfaces do raspberrypi.

    Grato

  • Opa. É só me escrever!

    Um abraço.

  • Spaww

     sabe dizer se ainda a placas
    ?

    • Acredito que sim. Entra em contato com a Farnell (o telefone esta no fim do post).

  • Luiz Claudio Dantas

    Alo Senhores , ja realizei algumas experiências bem sucedidas com o PI , inclusive consegui usar o adaptador wifi / usb Dlink DWA-131, porem não consigo usar nenhum modem 3G inclusive o HUAWEI  E173 que é o mais compativel,  usei um hub usb para não ter problemas com problemas de sobrecarga de corrente. Gostaria de uma orientação com este problema que enfrento.

    Luiz Claudio Lopes de A. Dantas
    luizclaudiodantas@gmail.com

    • Olá Luiz,

      Descreva melhor o seu problema. O que acontece? Qual o erro?

      • Luizclaudiodantas

        OLá Sergio,
        estou usando o wvdial que configurei seguindo os padrões para operadora VIVO, consigo encontrar o modem atraves do comando lsusb no Debian, ele aparece como a sexta interface usb, mas ao usar
        USBTTY0 ou USBTTY5 como porta o wvdial simplesmente responde como não existente.

        Grato

  • Maykon

    Bom dia Sergio.

    Já testou o Raspberry PI com aplicação Wine?
    Gostaria de saber se conseguiria rodar uma aplicação simples windows usando o Wine…

    Att. Maykon

    • Olá Maycon,

      Ainda não, mas não vejo porque não funcionaria. Se conseguir testar depois me avisa se funcionou.

      Um abraço.

  • Vitor

    Qualquer programa que rode no Debian roda no Raspberry PI?
    Gostaria de fazer um projeto com sensor de biometria.

    • Olá Vitor,

      Sim, você não deve ter problemas em radar uma aplicação do Debian na rasp, desde que tome os devidos cuidados com dependencias de bibliotecas.

      Um abraço.

  • Nilson Lana Machado Pimentel

    Programas de desenho roda legal messssssmo?

    • O que você quer dizer com programas de desenho?

  • Ivan Assaritti

    Olá Sergio, passado um ano desde este artigo, vc conseguiu um modem 3G que funcione bem com a RPI? abraços

    • Olá Ivan,

      Ainda não tive a oportunidade de testar nenhum modem 3G com a RPi.

      Um abraço.

      • Ivan Assaritti

        Sabe Sérgio que após algumas pesquisas, ainda não encontrei quem tenha utilizado modem 3G com o RPI, pelo menos não aqui na terrinha. Como tenho uma aplicação que utilizará esse modem vou intensificar essa pesquisa e posto aqui os resultados. Até mais! Abraços!

  • Thiago Lopes Moreira

    Olá Sérgio! Fui seu aluno no curso de linux embarcado aqui em Curitiba.
    Queria uma sugestão sua:
    Preciso de uma placa que capture video com conector RCA e audio e jogue tudo na rede.
    Raspberry pi ou beaglebone black?

    • Olá Thiago,

      Se você pretende utilizar a interface RCA, apenas a RPi vai te servir, já que apenas ela possui uma saída RCA.

      Se você pretende usar uma porta USB para plugar uma placa de captura de vídeo, neste caso ambas servem. A BBB tem uma certa vantagem pela capacidade maior de processamento.

      Um abraço,

  • Daniel Kudlowiez Franch

    Oi, Sérgio.
    É possível usar o RPi como plataforma de desenvolvimento pra Linux embarcado no lugar de, por exemplo, uma mini2440?
    Abraço!

    • Sim Daniel. Sua única desvantagem é que ela não é 100% aberta. Seu bootloader por exemplo é fechado. Mas é plenamente possível utilizá-la como plataforma de desenvolvimento em Linux embarcado.

  • Antonio Caser

    Olá Sérgio, você conhece a Cubieboard2? Posso usá-la para desenvolvimento de Sistemas embarcado? – Obrigado.

    • Olá Antonio,

      Sim, é uma boa placa. O único problema que vejo com a Cubieboard é a falta de documentação boa, quando comparada com outras placas populares como a Beaglebone Black.

  • Eloy

    Olá Sérgio, tudo bom?

    Estou tentando reproduzir o stream de uma câmera Samsung através do RPi. Criei um servidor e utilizo o comando AVCONV (avconv -re -i rtsp://IPCAMERA/profile2/media.smp -vcodec copy -f nut -an udp://239.0.1.23:1234) para gerar o stream de video, e no TILE passo o comando pwomxplayer -tile-code=11 udp://239.0.1.23:1324?buffer_size=120000B para exibir a imagem, ele começa a passar a imagem, mas, depois de alguns minutos, ele trava.
    Reproduzo um vídeo e não dá problema.
    Você já teve alguma experiência parecida com isso? Tem alguma ideia porque ele trava?
    Muito obrigado!

    Um abraço.

    • Olá Eloy,

      Não tenho experiência com streaming de video. Minha sugestão é você utilizar uma ferramenta para depurar o problema. Uma sugestão é a strace, que monitora as chamadas de sistema da aplicação. Ela pode te dar uma dica de onde a aplicação está travando.

      Um abraço.

  • Rodrigo Araújo

    Boa tarde Sérgio! Gostei demais do seu blog, bela iniciativa!
    Estou pensando em pegar uma RPi para servir como cpu ligada a uma TV de 42″. A intenção é que essa tv mostre dados de uma sistema php/mysql hospedado em um servidor apache local da rede.

    Basicamente preciso que ao terminar o boot ela abra um navegador e mostre o conteúdo, cujo próprio código atualiza a página de 30 em 30segs. Gostaria de saber se a RPi é uma boa pedida pra isso e se ela conta com algum módulo wifi pra facilitar a instalação sem cabos. A minha intenção é adaptar a RPi atrás da tv e se possível, alimentá-la pela usb da tv.

    Muito obrigado!

    • Olá Rodrigo,

      Sim, a Raspberry é uma solução bem viável. Aqui tem uma lista de dongles WiFi que já foram testados com ela:

      http://elinux.org/RPi_USB_Wi-Fi_Adapters

      Um abraço.

      • Rodrigo Araújo

        Obrigado por responder!
        Estou pensando em comprar pelo aliexpress, um kit que já vem com case e dongle wifi. Mesmo sendo taxado na importação ainda valerá mais a pena pelo custo bem menor.
        Valeu!

  • Rafael

    Oi Sergio , tudo bem ? Sei que já tem anos que vc escreveu este artigo mas fiz exatamente esses passos para colocar a imagem da raspiberry pi wheezy , usei o gparted para formatar a sd card para fat32 e usei o dd para copiar para lá , porém nao da o boot . Segui seu outro tutorial e fiz do zero , formatei e coloquei fat32 para o boot e ext2 para o rootfs e kernel , porém foi o mesmo resultado . Estou sem um cabo usb serial para ver se esta ok via terminal . Vc saberia me dizer algum teste para saber se a sd card e a plaquinha raspiberry estão ok ou corrompeu/estragou algo ?

    Obrigado.
    Excelente blog , tem me ajudado bastante.

    • Olá Rafael,

      A melhor forma de testar é gravando uma imagem com o dd (não precisa formatar antes) e testar com um monitor/teclado.

      Se não funcionar, pode ser o cartão SD ou a própria placa. Neste caso, a melhor forma de identificar o problema é com um cabo USB/Serial.

      Abs!

      • Rafael

        Obrigado Sergio :)
        Abraço!

  • Anderson Castrilla

    Olá Sergio boa noite.
    Eu tenho um monitor igual ao seu e gostaria de saber como vc ligou o raspberry pi neste monitor, ele só tem uma entrada vga e eu ate comprei um adaptador para a HDMI mas não funcionou.

    Obrigado
    Anderson Castrilla

    • Olá Anderson,

      Eu usei o adaptador HDMI/VGA e funcionou sem problemas.

      Um abraço.

  • Wellington Souza

    pra fazer streams eu teria que ter um placa de captura no meu pc ou sem a placa eu conseguiria também ?

    • Olá Wellington,

      Dá pra fazer streaming de áudio/video direto da Raspberry Pi.

Navegue
Creative Commons Este trabalho de Sergio Prado é licenciado pelo
Creative Commons BY-NC-SA 3.0.