Programando o Raspery Pi

download Programando o Raspery Pi

of 16

Transcript of Programando o Raspery Pi

  • 8/10/2019 Programando o Raspery Pi

    1/16

    Novatec

    Simon Monk

    Programando

    o Raspberry PiPrimeiros Passos com Python

  • 8/10/2019 Programando o Raspery Pi

    2/16

    Original edition copyright 2013 by Copyright Owner, as set forth in copyright notice of Proprietors edi-tion. All rights reserved. Portuguese edition copyright 2013 by Novatec Editora Ltda. All rights reserved.

    Copyright da edio original 2013 pelo detentor do Copyright, de acordo com a nota na edio doProprietrio. Todos os direitos reservados. Edio em Portugus copyright 2013 pela Novatec EditoraLtda. Todos os direitos reservados.

    Novatec Editora Ltda. 2013.

    Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. proibida a reproduo desta obra, mesmo parcial, por qualquer processo, sem prvia autorizao,por escrito, do autor e da Editora.

    Editor: Rubens PratesTraduo: Rafael ZanolliReviso tcnica: Aurelio JargasEditorao eletrnica: Carolina Kuwabata

    ISBN: 978-85-7522-357-4

    Histrico de impresses:Abril/2013 Primeira edio

    Novatec Editora Ltda.Rua Lus Antnio dos Santos 11002460-000 So Paulo, SP BrasilTel.: +55 11 2959-6529Fax: +55 11 2950-8869E-mail: [email protected]: www.novatec.com.brTwitter: twitter.com/novateceditoraFacebook: facebook.com/novatecLinkedIn: linkedin.com/in/novatecMP20130411

  • 8/10/2019 Programando o Raspery Pi

    3/16

    17

    1Introduo

    O Raspberry Pi passou venda geral no nal de fevereiro de 2012, e

    imediatamente travou os sites dos fornecedores escolhidos para receberpedidos referentes a ele. Ento, o que havia de to especial nesse pequenodispositivo e por que ele criou tanto interesse?

    O que o Raspberry Pi?O Raspberry Pi, mostrado na gura 1.1, um computador que executa

    o sistema operacional Linux. Ele tem portas USB nas quais voc podeconectar um teclado e um mouse e uma sada de vdeo HDMI (High--Denition Multimedia Interface) na qual voc pode conectar uma TVou um monitor. Muitos monitores tm apenas um conector VGA e oRaspberry Pi no funcionar com eles. No entanto, caso seu monitortenha um conector DVI, adaptadores HDMI-para-DVI a preos baratosesto disponveis.Quando o Raspberry Pi inicializado, voc encontra o desktop Linuxmostrado na gura 1.2. Este realmente um computador completo,contando com um pacote de edio de texto, capacidades de reproduode vdeo, jogos e tudo o mais. No se trata de um sistema operacionalMicrosoft Windows; em vez disso, temos o Linux (Debian Linux), rivalde cdigo-aberto do Windows, e o ambiente de janelas chamado LXDE.Ele pequeno (do tamanho de um carto de crdito) e comercializado aum preo extremamente acessvel (iniciando a partir de US$ 25). Parte darazo desse preo baixo que alguns componentes no esto includoscom a placa, ou so extras opcionais. Por exemplo, ele no vem com um

  • 8/10/2019 Programando o Raspery Pi

    4/16

    Programando o Raspberry Pi18

    gabinete (case) para proteg-lo apenas com uma placa sozinha. Nemvem com uma fonte de alimentao, voc mesmo ter de encontrar umafonte de alimentao micro-USB de 5 V, semelhante que voc utilizaria

    para carregar um telefone (mas, provavelmente, com maior potncia).Uma fonte de alimentao USB e um conector micro-USB so muitasvezes utilizados para isso.

    Figura 1.1 Raspberry Pi.

    Figura 1.2 Desktop do Raspberry Pi.

  • 8/10/2019 Programando o Raspery Pi

    5/16

    19Captulo 1 Introduo

    O que voc pode fazer com um Raspberry Pi?Voc pode fazer praticamente o que quiser com um Raspberry Pi, desdeque isso tambm possa ser feito em um computador desktop Linux, comalgumas limitaes. O Raspberry Pi utiliza um carto SD no lugar de umdisco rgido, ainda que voc possa conectar um disco rgido USB. Vocpode editar documentos de texto, navegar na Internet e jogar jogos (atmesmo jogos com grcos intensos, como oQuake ).O baixo preo do Raspberry Pi signica que ele tambm um candidatoperfeito para uso como um media center. Ele pode reproduzir vdeo e vocpode aliment-lo a partir da porta USB que voc encontra em muitas TVs.

    Um tour pelo Raspberry PiA gura 1.3 identica as vrias partes de um Raspberry Pi. Essa guraconduz voc por um tour pelo Raspberry Pi Modelo B, o qual difere doModelo A por apresentar um conector LAN RJ-45, permitindo que eleseja conectado a uma rede.

    Figura 1.3 Anatomia de um Raspberry Pi.

  • 8/10/2019 Programando o Raspery Pi

    6/16

    Programando o Raspberry Pi20

    O conector Ethernet RJ-45 mostrado no canto superior esquerdo dagura. Se seu hub residencial for prtico, voc pode conectar seu Rasp-berry Pi diretamente em sua rede local. Ainda falando nisso, vale a pena

    observar que o Raspberry Pi no tem Wi-Fi integrado. Para redes semo, voc ter de conectar um adaptador sem o USB, o qual pode, ento,exigir algum trabalho adicional instalando drivers.Imediatamente abaixo da porta Ethernet voc encontrar um par de por-tas USB, uma sobre a outra. Voc pode conectar um teclado, um mouseou discos rgidos externos na placa, mas rapidamente car sem portas.Por esse motivo, muitas pessoas utilizam um hub USB para conseguirmais algumas portas USB.No canto inferior esquerdo da gura voc encontrar um conector deudio que fornece um sinal analgico em estreo para fones de ouvidoou caixas de som alimentadas. O conector HDMI tambm capaz detransmitir som.Ao lado do conector de udio, temos um conector de vdeo RCA. Vocprovavelmente no utilizar esse conector, a no ser que esteja usando seuRaspberry Pi com uma TV mais antiga. muito mais provvel que vocutilize o conector HDMI imediatamente oposto a ele, mostrado no topoda gura. O HDMI de maior qualidade, inclui som e pode ser conec-tado a monitores equipados com DVI por meio de um adaptador barato. direita do conector RCA amarelo esto duas leiras de pinos. Eles sochamados de pinos GPIO (General Purpose Input/Output) e permitemque o Raspberry Pi seja conectado a componentes eletrnicos personali-zados. Usurios do Arduino e de outras placas microcontroladoras estaroacostumados com a ideia de pinos GPIO. Posteriormente, no captulo11, utilizaremos esses pinos para permitir que nosso Raspberry Pi sejao crebro de um pequeno rob andarilho, controlando seus motores.No captulo 10, utilizaremos o Raspberry Pi para criar um relgio LED.O Raspberry Pi tem um slot de carto SD sob a placa. Esse carto SDdeve ter uma capacidade mnima de 2GB. Ele contm o sistema opera-cional do computador, assim como o sistema de arquivos no qual voc

    pode armazenar quaisquer documentos que venha a criar. O carto SD uma funcionalidade extra opcional quando voc compra o Raspberry Pi.

  • 8/10/2019 Programando o Raspery Pi

    7/16

    21Captulo 1 Introduo

    Preparar seu prprio carto SD algo um pouco complexo de se fazer,e fornecedores como a SK Pang, a Farnell e a RS Components, vendemcartes SD j preparados. Como nenhum disco integrado a seu Rasp-

    berry Pi, esse carto efetivamente seu computador, por isso voc poderetir-lo e coloc-lo em um Raspberry Pi diferente e tudo que voc possuiestar presente.Acima do carto SD est uma porta micro-USB. Essa porta utilizadaapenas para alimentar o Raspberry Pi. Portanto, voc necessitar de umafonte de alimentao com um conector micro-USB em sua extremidade.Esse o mesmo tipo de conector utilizado por muitos telefones mveis,incluindo a maioria dos telefones Android. No deixe de vericar, noentanto, se ele capaz de fornecer no mnimo 700 mA; do contrrio, seuRaspberry Pi pode se comportar de forma errtica.Para aqueles interessados em especicaes tcnicas, o grande chip qua-drado no centro da placa onde toda a ao ocorre. Esse o System ona Chip1 da Broadcom e inclui 256 MB de memria, assim como os pro-cessadores de grcos e de propsito geral que controlam o Raspberry Pi.Voc tambm pode ter notado conectores de cabos em tas planas ( atcables) ao lado do carto SD e entre os conectores Ethernet e HDMI. Essesservem, respectivamente, para displays LCD e uma cmera. Observe quemdulos de display LCD e cmera devero se tornar disponveis para oPi em um futuro prximo.

    Congurao de seu Raspberry PiVoc pode facilitar sua vida comprando um carto SD preparado e umafonte de alimentao quando comprar seu Raspberry Pi, e, aproveitan-do, voc pode tambm adquirir um teclado e um mouse USB (a no serque j os tenha guardado em algum lugar de sua casa). Vamos iniciar oprocesso de congurao vericando aquilo de que voc necessita e ondepode adquiri-lo.

    1 N.T.: A expressosystem-on-a-chip (SoC),System On Ship (SOC) ou, em portugus,sistema-em-um--chip, refere-se a todos os componentes de um computador, ou qualquer outro sistema eletrnico,em um circuito integrado (chip) (fonte: Wikipdia).

  • 8/10/2019 Programando o Raspery Pi

    8/16

    Programando o Raspberry Pi22

    Comprando o necessrioA tabela 1.1 mostra aquilo de que voc vai necessitar para um sistemaRaspberry Pi totalmente funcional. No momento da redao deste texto,o Raspberry Pi em si vendido por meio de dois distribuidores globaiscom base no Reino Unido: a Farnell (e a companhia norte-americana re-lacionada Newark) e a RS Componentes, a qual no deve ser confundidacom a RadioShack.

    Tabela 1.1 Um kit Raspberry Pi

    Item Fonte e nmero de pea Informaes adicionais

    Raspberry Pi, ModeloA ou B

    Farnell (www.farnell.com)Newark (www.newark.com)RS Components (www.rs-components.com)

    A diferena entre osdois modelos queo Modelo B tem umaconexo de rede.

    Fonte de alimentaoUSB (tomada eltricanorte-americana)

    Newark: 39T2392RadioShack: 55053163Adafruit PID:501

    Fonte de alimentaoUSB de 5 V. Deve sercapaz de fornecer 700mA (3 W), mas 1 A (5W) melhor.

    Fonte de alimentaoUSB (tomada eltricado Reino Unido)

    Farnell: 2100374Maplins: N15GN

    Fonte de alimentaoUSB (tomada eltricaeuropeia)

    Farnell: 1734526

    Conector micro-USBRadioShack: 55048949Farnell: 2115733Adafruit PID 592

    Teclado e mouse Qualquer loja de informtica

    Qualquer teclado USBser suciente. Damesma forma, tecladose mouses sem o quevm com seu prprioadaptador USBtambm funcionaro.

    TV/monitor comHDMI

    Qualquer loja de informticaou de aparelhos eletrnicos

    Conector HDMIQualquer loja de informticaou de aparelhos eletrnicos

  • 8/10/2019 Programando o Raspery Pi

    9/16

    23Captulo 1 Introduo

    Item Fonte e nmero de pea Informaes adicionais

    Carto SD (preparado)SK Pang: RSP-2GBSDNewark: 96T7436Farnell: 2113756

    Adaptador Wi-Fi*http://elinux.org/RPi_VeriedPeripherals#USB_WiFi_Adapters

    A Elinux.org forneceuma lista atualizadade adaptadores Wi-Fi.

    Hub USB* Qualquer loja de informtica

    Adaptador HDMI-para-DVI

    Newark: 74M6204Maplins: N24CJFarnell: 1428271

    Cabo de rede Ethernet* Qualquer loja de informtica

    Gabinete* Adafruit, SK Pang ouAlliedelec.com* Esses itens so opcionais.

    Fonte de alimentao

    A gura 1.4 mostra uma fonte de alimentao USB tpica e um conectorUSB-A-para-micro-USB.

    Figura 1.4 Fonte de alimentao USB.

    Voc pode ser capaz de utilizar uma fonte de alimentao de um antigoreprodutor MP3 ou de algo do tipo, desde que ela seja de 5 V e que possafornecer a corrente suciente. importante no sobrecarregar a fonte dealimentao, pois ela pode car quente e falhar (ou at mesmo ser umrisco de incndio). Dessa forma, a fonte de alimentao deve ser capaz

    de fornecer pelo menos 700 mA, mas 1 A forneceria ao Raspberry Pi umpequeno extra no que se refere alimentao dos dispositivos conectadoss suas portas USB.

  • 8/10/2019 Programando o Raspery Pi

    10/16

    Programando o Raspberry Pi24

    Se voc analisar de perto as especicaes escritas na fonte de alimen-tao, deve ser capaz de determinar sua capacidade de fornecimento decorrente. s vezes as capacidades de alimentao da fonte estaro expressas

    em watts (W); se esse for o caso, ela deve ser no mnimo de 3 W. Se elaindicar 5 W, isso equivalente a 1 A.

    Teclado e mouse

    O Raspberry Pi vai funcionar com praticamente qualquer teclado e mouseUSB. Voc tambm pode utilizar a maioria dos teclados e mouses USB semo o tipo que vem com seu prprio conector para ligar na porta USB.Essa uma boa ideia, especialmente se eles vierem como um par. Dessaforma, voc estar utilizando apenas uma das portas USB. Isso tambmser muito til no captulo 10, quando utilizarmos um teclado sem opara controlar nosso rob Raspberry Pi.

    Display

    A incluso de uma sada de vdeo RCA no Raspberry Pi , francamente,um pouco intrigante, pois a maioria da pessoas ir diretamente parao conector HDMI mais moderno. Uma TV LCD de 22 polegadas e debaixo custo servir como um display perfeitamente adequado para o Pi.Na realidade, voc pode simplesmente decidir utilizar a TV principal dafamlia, simplesmente conectando o Pi na TV quando necessitar dele.Se voc tiver um monitor de computador apenas com um conector VGA,no ser capaz de utiliz-lo sem uma caixa conversora de preo elevado.Por outro lado, se seu monitor tiver um conector DVI, um adaptador debaixo custo realizar bem o trabalho.

    Carto SD

    Voc pode utilizar seu prprio carto SD no Raspberry Pi, mas ele ter deser preparado com uma imagem de disco de sistema operacional. Isso um pouco complicado de fazer, por isso voc pode preferir simplesmentegastar um ou dois dlares a mais e comprar um carto SD que estejapreparado e pronto para utilizar.

  • 8/10/2019 Programando o Raspery Pi

    11/16

    25Captulo 1 Introduo

    Voc tambm pode encontrar pessoas em encontros do Raspberry Pi queestaro felizes em preparar para voc um carto SD. Os cartes SD pre-parados fornecidos pela Farnell e pela RS Components tm preos altos

    demais. Pesquise na internet para encontrar fornecedores (como a SK Pang)que vendem cartes preparados, com a distribuio de sistema operacionalmais recente, por menos do que voc pagaria por um carto SD em umsupermercado. Se voc realmente quiser preparar seu prprio carto SD,rera-se s instrues encontradas emwww.raspberrypi.org/downloads .Para preparar seu prprio carto voc deve ter outro computador comum leitor de carto SD. O procedimento diferente dependendo de seucomputador ser uma mquina Windows, Mac ou Linux. No entanto,vrias pessoas produziram ferramentas teis que tentam automatizar aomximo esse processo.Se voc decidir preparar seu prprio carto, esteja certo de seguir asinstrues cuidadosamente com algumas ferramentas, bem fcil re-formatar acidentalmente um disco rgido conectado ao seu computadorse a ferramenta confundi-lo com o carto SD! Felizmente, esse processoest cando cada vez melhor medida que ferramentas de software mais

    fceis de utilizar se tornam disponveis.Uma grande vantagem de preparar seu prprio carto SD que vocpode, de fato, escolher entre uma variedade de distribuies de sistemasoperacionais. A tabela 1.2 mostra as mais populares disponveis quandoda redao deste texto. Conra o site da Raspberry Pi Foundation paranovas distribuies.

    Tabela 1.2 Distribuies Linux do Raspberry Pi

    Distribuio Notas

    Raspbian WheezyEsse o sistema operacional padro do Raspberry Pie aquele utilizado em todos os exemplos deste livro. Eleutiliza o desktop LXDE.

    Arch Linux ARM Essa distribuio mais adequada a especialistas em Linux.

    QtonPiEssa distribuio destinada a pessoas que estodesenvolvendo sosticados programas grcos utilizando oframework de grcos Qt5.

    OccidentalisUma distribuio feita pela Adafruit e que tem por base oRaspbian Wheezy, mas com melhorias destinadas a hackersde hardware.

  • 8/10/2019 Programando o Raspery Pi

    12/16

    Programando o Raspberry Pi26

    Evidentemente, nada lhe impede de comprar alguns cartes SD e experi-mentar as diferentes distribuies para ver qual voc prefere. No entanto,se voc for um iniciante em Linux, deve se ater distribuio Raspbian

    Wheezy padro.Gabinete

    O Raspberry Pi no vem em nenhum tipo de gabinete. Isso ajuda a man-ter o preo baixo, mas tambm o deixa bastante vulnervel a quebras.Portanto, uma boa ideia criar ou comprar um gabinete assim que vocpuder. A gura 1.5 mostra alguns dos gabinetes fabricados atualmentedisponveis.Os gabinetes mostrados so fornecidos pela (a) Adafruit (www.adafruit.com), (b) SK Pang (www.skpang.co.uk/ ) e (c) ModMyPi (www.modmypi.com).O gabinete a ser escolhido depender daquilo que voc planeja fazer comseu Raspberry Pi. Se voc tiver acesso a uma impressora 3D, tambm podeutilizar estes projetos de cdigo-aberto:

    www.thingiverse.com/thing:23446 www.thingiverse.com/thing:24721

    Voc tambm pode encontrar um projeto de papelo dobrado chamadode Raspberry Punnet emwww.raspberrypi.org/archives/1310 .

    Figura 1.5 Gabinetes comerciais Raspberry Pi.

    As pessoas esto se divertindo muito construindo todo tipo de contine-res reutilizveis para seus Raspberry Pis, como computadores antigos ouconsoles de jogos. Uma pessoa poderia at mesmo construir um gabineteutilizando Legos. Meu primeiro gabinete para um Raspberry Pi foi feitocortando buracos em uma caixa plstica que costumava guardar cartesde visita (veja a gura 1.6).

  • 8/10/2019 Programando o Raspery Pi

    13/16

    27Captulo 1 Introduo

    Figura 1.6 Gabinete Raspberry Pi feito em casa.

    Wi-Fi

    Nenhum dos modelos do Raspberry Pi tem suporte para Wi-Fi. Portanto,

    para conectar, sem os, seu Raspberry Pi rede, voc tem apenas duasopes. A primeira utilizar um adaptador USB sem o que seja simples-mente conectado a uma porta USB (veja a gura 1.7). Com um pouco desorte, o Linux deve reconhec-lo e permitir imediatamente que voc seconecte (ou mostrar o que voc deve fazer para se conectar).

    Figura 1.7 Adaptador Wi-Fi.

  • 8/10/2019 Programando o Raspery Pi

    14/16

    Programando o Raspberry Pi28

    Os adaptadores Wi-Fi na lista referenciada na tabela 1.1 supostamentefuncionam com o Raspberry Pi. No entanto, s vezes temos problemascom drivers Wi-Fi, por isso certique-se de vericar o frum do Raspberry

    Pi para informaes atualizadas sobre dispositivos compatveis.A segunda opo para Wi-Fi utilizar uma ponte Wi-Fi com um RaspberryPi Modelo B. Esses dispositivos so geralmente alimentados por USB e seconectam na porta Ethernet do Raspberry Pi. Eles so frequentementeutilizados por proprietrios de consoles de jogos que tm uma portaEthernet, mas nenhum Wi-Fi. Essa congurao tem a vantagem de queo Raspberry Pi no requer nenhuma congurao especial.

    Hub USB

    Como o Raspberry Pi tem apenas duas portas USB disponveis, voc vairapidamente car sem portas. O modo de se obter mais portas USB utilizando um hub USB (veja a gura 1.8).

    Figura 1.8 Hub USB.

    Esses hubs esto disponveis com entre trs e oito portas. Certique-se

    de que a porta suporta USB 2. Tambm uma boa ideia utilizar um hubUSB com alimentao externa para que voc no retire muita alimentaodo Raspberry Pi.

    Conectando todos os componentesAgora que voc tem todos os componentes de que necessita, vamos co-nectar tudo e inicializar seu Raspberry Pi pela primeira vez. A gura 1.9mostra como tudo tem de ser conectado.

  • 8/10/2019 Programando o Raspery Pi

    15/16

  • 8/10/2019 Programando o Raspery Pi

    16/16

    Programando o Raspberry Pi30

    Figura 1.10 Tela de congurao.

    Outra alterao que vale a pena fazer a opoboot_behaviour . Se ela nofor denida como Boot Straight to Desktop (Inicializar diretamente nodesktop), voc ser forado a fazer o login e inicializar o ambiente de ja-nelas manualmente cada vez que ligar seu Raspberry Pi (veja a gura 1.11).

    Figura 1.11 Opo de inicializao no desktop.

    Resumo

    Agora que conguramos nosso Raspberry Pi e que ele est pronto para serutilizado, podemos comear a explorar algumas de suas funcionalidadespara termos uma noo do bsico do Linux.