Documentação do Raspberry Pi

Apresentação

O Raspberry Pi é um computador de baixo custo do tamanho de um cartão de crédito que roda um sistema operacional (SO) variante do Linux Debian modificado para o processador ARM, chamado Raspbian.

Seu uso neste projeto se apresenta na forma de um computador responsável pela coleta de dados via PyLogger (software data logger que guarda dados localmente e faz envio para servidor remoto). Nesse paradigma, uma estação EMM completa inclui:

  • Placa Raspberry Pi;
  • Placa Arduino (Uno ou variante) conectada em uma porta USB da Rasp;
  • Algum shield EMM contendo RTC (relógio) e conexão de sensores;

Consiste no protótipo inicial de uma EMM standalone que, mesmo tendo componentes além do necessário para a eletrônica embarcada utilizada, certamente ainda assim apresenta um custo muito mais baixo do que uma estação profissional.

  • Vale observar que as placas RaspberryPi e Arduino podem ser reutilizadas em outros projetos.

Instalação do Software EMM

Assumindo que você tem uma placa Raspberry Pi e um cartão SD de no mínimo 4 GB, siga os passos seguintes para ter um sistema configurado e pronto para utilizar.

1. Instale o sistema operacional Raspbian-Lite no cartão SD

  • 1.2 Ao término do download, faça o checksum (verificação de integridade) pelo terminal:
      $ cd ~/Downloads
      $ sha1sum 2016-02-26-raspbian-jessie-lite.zip
      0d58e68d62cb3e55bdc73860a6be2281783b8c0f
      
    * Confira se o valor gerado é o mesmo daquele informado no site. Caso afirmativo, pode extrair o arquivo. Caso contrário, refaça o download. * OBS: No momento da escrita deste tutorial, o site oficial estava utilizando sha1sum. Saiba, porém, que podem existir outras alternativas semelhantes como md5sum. * Após a extração deverá ter aparecido um arquivo ".img" com cerca de 1.4 GB.
  • 1.3 Com o cartão SD fora da leitora, execute o seguinte comando para listar os discos atuais na máquina:
      $ sudo fdisk -l
    
      Disk /dev/sda: XX GB ...
      ...
      
  • 1.4 Coloque agora o cartão SD na leitora ou via Adaptador USB e execute novamente o comando fdisk para descobrir o caminho do novo disco:
      $ sudo fdisk -l
    
      Disk /dev/sda: XX GB ...
      ...
    
      Disk /dev/mmcblk0: XX GB ...
      ...
      
    * HDs e pendrives geralmente aparecem como /dev/sdX (onde X vale a, b, c, etc). Cartões SD geralmente aparecem como mmcblkX (onde X vale 0, 1, 2, etc). * OBS: Caso você tenha inserido o cartão via adaptador USB, ele deverá aparecer como pendrive (i.e., em /dev/sdX).
  • 1.5 Supondo então que o caminho do disco que representa o cartão é /dev/mmcblk0 (certifique-se bem disso!), transfira a imagem do Raspbian para o cartão:
      $ dd bs=4M if=2016-02-26-raspbian-jessie-lite.img of=/dev/mmcblk0
      
    * ATENÇÃO: Muito cuidado para não inverter os parâmetros if (input file) e of (output file)! * OBS: Atente para passar o arquivo ".img" no parâmetro if, e não o ".zip" !!
  • 1.6 Retire o cartão da leitora e recoloque-o. Agora, redimensione o tamanho do disco (formatado como 1.4 GB) para ocupar todo o espaço do cartão (digamos 4 GB) com a ferramenta gparted. * Instale com: $ sudo apt-get install gparted. * Basta selecionar o disco certo no canto superior direito, digamos /dev/mmcblk0, clicar na única partição existente (digamos /dev/mmcblk0p0) e escolher a operação "redimensionar". Aplique as alterações. * Retire o cartão e recoloque-o novamente. Certifique-se de que você consegue ler os arquivos. Caso contrario, repita o processo do começo.
  • 1.6 Conecte o cartão na placa RaspberryPi, um teclado na porta USB e um monitor (HDMI ou S-VIDEO). Ligue o sistema. O login padrão é:
      Username: pi
      Senha: raspberry
      
  • 1.7 Teste o teclado (aspas e acentos). Caso seja necessário, reconfigure-o com:
      $ sudo dpkg-reconfigure keyboard-configuration
      

Configure a rede Wi-Fi

  • Conecte um Adaptador Wi-Fi USB (certifique-se de que não há cabo ethernet conectado) e execute:
      $ sudo ifconfig
      eth0         Link ...
    
      lo           Link ...
    
      wlan0        Link ...
      
    * Assumiremos então que "wlan0" é o nome da interface. Neste momento deverá estar sem um valor inet addr, o que significa que a rede não está ativa.
  • Edite o arquivo /etc/wpa_supplicant/wpa_supplicant.conf com informações da rede sem fio:
      ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
      update_config=1
    
      network={
              ssid="nome-da-rede" 
              psk="senha-da-rede" 
              id_str="wifi_apelido_da_rede" 
      }
      
    * Atente para o valor "wifi_apelido_da_rede" que será utilizado no próximo arquivo.
  • Edite o arquivo /etc/network/interfaces para configurar um IP fixo:
      auto wlan0
    
      iface wlan0 inet manual
            wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
    
      iface wifi_apelido_da_rede inet static
            address 192.168.1.7
            netmask 255.255.255.0
            gateway 192.168.0.1
            network 192.168.0.0
      
    * Aqui o IP fixo atribuido foi 192.168.1.7 (pode ser outro). Os demais valores são padrões genéricos que deverão funcionar na maioria dos casos. Senão, entre em contato com o seu administrador de rede.
  • Edite o arquivo /etc/hostname para :
      emmrasp
      
    * Este será o nome da máquina. Pode ser qualquer valor.
  • Reinicie o sistema:
      $ reboot
      
  • Ainda dentro do Raspberry, execute ifconfig e veja se wlan0 recebeu um IP. Teste a conexão com:
      $ ping dados.cta.if.ufrgs.br
      
    * Caso afirmativo, significa que o sistema está apto a enviar dados para o nosso servidor :-)
  • Tente acessar o Raspberry de outra máquina local (conectada no mesmo roteador wifi) via ssh:
      $ ssh pi@emmrasp.local
    
      Add new key fingerprint (yes/no) ? yes
    
      pi@emmrasp.local's password: raspberry
      
    * Atente para a necessidade do sufixo ".local" depois do hostname. Caso não funcione, tente o acesso pelo IP fixo (digamos "").
  • Configure a timezone correta para que o datetime seja corretamente atualizado via NTP (já vem instalado e configurado):
      $ sudo ln -sf /usr/share/zoneinfo/Brazil/East /etc/localtime
      
  • A partir de agora você pode tirar o monitor e o teclado pois a manutenção pode ser feita remotamente. A outra porta USB deverá ser utilizada para conectar a placa Arduino nos passos seguintes.

Manutenção

Seguem algumas informações técnicas úteis para utilização e manutenção da RaspberryPi.

Instalando o sistema operacional

Para a instalação ser feita será necessário um computador com leitor de cartão SD. Primeiro, baixe a imagem do SO desejado. Existem vários SOs adaptados para o Rasp, o SO sugerido é o Raspbian. Após a aquisição da imagem deve-se seguir o guia de instalação da imagem no cartão SD. Um tutorial em português pode ser encontrado aqui .

Com a instalação feita, o cartão está pronto para ser usado no Raspberry Pi. Basta conectar o cartão no Rasp e ligá-lo.

Configuração do Monitor

O Raspberry possui saída HDMI para monitor, caso queira-se usar um monitor com saída VGA será necessário alterar o arquivo confing.txt .É possível alterar o arquivo diretamente do Raspberry Pi ou alterar de um computar ou notebook convencional.

Para isso, desligue o Rasp, retire o cartão SD e introduza em outro computador. Na pasta boot, encontre o arquivo config.txt e faça as alterações abaixo. Antes de o fazê-lo, é sugerido que se entendo o significado destas alterações .

#Settings for Flatron VGA monitor
#1024 * 768 
#Force HDMI signal even if monitor not detected
hdmi_drive=2
hdmi_group=2
hdmi_mode=16
hdmi_force_hotplug=1
disable_overscan=0

Os comentários após "#" não serão interpretados, mas servem para caso outro alguém, ou você mesmo, entenda o que foi alterado no programa. Essas alterações são para um monitor Flatron VGA, mas funcionaram para outros modelos de monitor. Se não funcionar, é sugerido alterar o valor de "hdmi_mode". Confira os valores do hdmi_mode para outros tipos de monitores .

O Rasp tabém pode ser conectado a TV, dependendo da versão.

Configuração do Teclado

A configuração padrão de teclado no Raspberry Pi é para o Reino Unido, o que pode ser um problema.
Existem as seguintes alternativas para reconfigurar o teclado:

  • (i) Wizard de configuração (pode requerer reboot)
    $ sudo dpkg-reconfigure keyboard-configuration

    Espere um momento e selecione o tipo de teclado e idioma desejado. É possível conferir o tipo de seu teclado aqui . Após selecionado, reinicie o sistema.
  • (ii) Configuração rápida via terminal
    $ setxkbmap -model abnt2 -layout br -variant abnt2 
    * OBS: Requer o debian package *x11-xkb-utils (em geral vem por padrão); ** Pode-se adicionar o comando acima ao ".bashrc"

Referências

Wiki Raspberry Pi
Raspberry Pi Brasil
Site Oficial Raspberry Pi
Baixar a imagem do Raspbian
Guia de instalação da imagem no cartão SD
Guia de instalação da imagem no cartão SD em Português
Configurações em um Raspberry Pi
Configuração do teclado no Raspberry Pi
Tipos de teclados

teste_rasp_emm.png (904.6 kB) Nelso G. Jost, 28/02/2016 19:15