Raspberry Pi – headless + wireless

Objectivo: utilizar um Raspbery Pi sem teclado nem monitor nem cabo de rede em momento algum.

Nota: as instruções são para quem usa Ubuntu e deverão servir para a generalidade dos Linuxes mas não para Windows.

Download do Raspbian (neste momento a versão mais recente é a ‘2014-01-07-wheezy-raspbian.zip’) e extrair a imagem (‘2014-01-07-wheezy-raspbian.img’).

Inserir um SD card com pelo menos 4 GB e lançar a aplicação “Disks” (gnome-disks). Seleccionar o SD Card, no meu caso o SD Card é visto como “8 GB Block Device (/dev/mmcblk0)” e carregar em “More Options” (o botão no canto superior direito) e escolher  “Restore Disk Image…”

Escolher o ficheiro com a imagem Raspbian (2014-01-07-wheezy-raspbian.img) e esperar alguns minutos que a operação termine. Ficam 2 partições no SD Card:

  • BOOT
  • 2.9 GB Volume

A segunda partição será utilizada como “/” pelo Raspbian e tem uma estrutura semelhante à do Ubuntu (ambos são baseados em Debian).

Basta editar 3 ficheiros:

  • […]/etc/hostname
  • […]/etc/network/interfaces
  • […]/etc/wpa_supplicant/wpa_supplicant.conf
$sudo nano [...]/etc/hostname

A ideia é ter um nome distinto e reconhecível para podermos depois encontrar o nosso dispositivo no router wireless. Substituí o ‘raspberrypi’ que vem de origem por ‘pitagoras’.

$sudo nano [...]/etc/network/interfaces

Aqui bastou acrescentar uma linha (post-up…) para desactivar a ligação por cabo quando a ligação wi-fi estiver funcional:

auto lo
iface lo inet loopback

allow-hotplug eth0
iface eth0 inet dhcp

allow-hotplug wlan0
iface wlan0 inet manual
    wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
    post-up ifdown eth0
iface default inet dhcp

Assume-se IP dinâmico tanto para ligação por cabo como wireless mas pode-se determinar um endereço IP estático (não o fiz ainda por pura preguiça).

$sudo nano [...]/etc/wpa_supplicant/wpa_supplicant.conf

Neste ficheiro apenas estavam presentes as duas primerias linhas, o resto foi acrescentado.

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
    ssid="ID da rede Wi-Fi"
    psk="Preshared Key da rede Wi-Fi"
    id_str="Descritivo opcional"
}

Com um Wi-Pi para a ligação wireless funcionou à primeira (não testei ainda outros dispositivos mas pelo menos o D-Link DWA-131 deverá funcionar, está a funcionar noutro projecto). Para saber o endereço IP bastou ir ao router ver os devices ligados:

00:0f:13:38:1e:38    192.168.1.123    0 dia 0 hora 01 minuto    pitagoras

Para aceder remotamente por ssh:

ssh pi@192.168.1.123

E pronto (no Raspbian a password de origem de ‘pi’ é ‘raspberry’)

pi@pitagoras ~ $

O meu próprio Media Center – parte 1

This post is part 1 of 2 of  O meu próprio Media Center

Parte 1 – Enquadramento

Começa a formar-se uma tradição familiar: a cada novo filho um novo Media Center.

Da primeira vez a ideia inicial foi aproveitar spares para implementar uma forma da cara metade (em licença maternal) poder ver durante o dia os episódios do House que na altura passavam a horas aberrantes.

Cá em casa spares é coisa que nunca faltam, ainda restava qualquer coisa de uns anos antes quando ao ir morar sozinho optei por por não comprar TV e sim usar o computador principal como misto de posto de trabalho e consola de jogos (uma placa receptora de TV da Hauppauge, um sistema de som surround Cambridge, um monitor CRT de 19″). Só que já na altura estes não eram novos e eu não pretendia gastar dinheiro por isso… como já tinha começado a dar uns passos com o Ubuntu descobri uma versão mais leve deste que integrava o MythTV (um projecto open source que implementa uma solução completa de Media Center): o Mythbuntu.

Depois de algumas afinadelas iniciais (sobretudo no sentido de baixar o ruído de funcionamento e melhorar o aspecto externo para poder passar despercebido na sala de estar, trocando o CRT de 19″ pela TV LCD de 32″ oferta de casamento) teve grande sucesso por permitir fugir aos anúncios: podiamos por exemplo começar a ver um telejornal 20 minutos depois do início da emissão e acabar de vê-lo em real time tendo saltado toda a publicidade e lavagem cerebral. Passados quase 5 anos ainda nos rimos quando vemos os prestadores de televisão terrestre anunciarem como novas as funcionalidades que usamos há tanto tempo.

Sim, temos apenas 4 canais… mas para o que precisamos chega e sobra e não encontramos nos canais terrestres qualidade/oferta suficientes que justifiquem subscrever o serviço, ainda mais quando os únicos operadores que se dignam cablar até à nossa porta estão na minha lista negra (e o ADSL que também temos não permite IPTV por imposição de um desses operadores, tal é a livre concorrência neste país)

A configuração foi sofrendo alguns upgrades e ajustes até que Portugal entrou na era da TDT e eu me apercebi que tinha cerca de 2 anos até ser desligado o sinal analógico de TV. Como a TV entretanto avariara e já não valia a pena reparar (a experiência de TV através do Media Center era tão ou mais satifastória exceptuando o futebol em que víamos os golos 10 segundos depois do vizinho de cima ter gritado) ficámos com 2 opções: comprar uma nova TV que já permitisse TDT ou adicionar uma placa DVB-T ao Media Center. Na altura as televisões inteligentes ainda estavam a despontar, com preços ainda muito elevados e com normas ainda muito mal definidas por isso foi a placa.

Como o processador e a placa gráfica não tinham capacidade para exibir a alta definição da TDT [que mais tarde vim a descobrir ser apenas marketing já que as emissões TDT em Portugal são de 720p e não de 1080p, talvez o operador de TDT vender também serviços terrestres e o Estado não estar para se chatear tenha algo a ver com isso] foi necessário nesta segunda encarnação do Media Center passar a ter dois sistemas: um Frontend na sala, pequeno e praticamente silencioso, somente para visualização ou audição e um Backend mais volumoso, num quarto vazio, para recepção do sinal TDT e armazenamento dos ficheiros.

Passada a reacção «há cabos pela casa toda!!!» repetiu-se o sucesso da primeira versão, agora com o pequenote a dominar também o conceito de «pausar» os desenhos animados.

Entretanto as televisões inteligentes baixaram de preço e aproveitei a licença parental para substituir a TV avariada – sai um LCD de 32″ [e 20 kg!] por um LED de 40″ bem mais leve e ocupando o mesmo espaço.

Só que a placa gráfica do Frontend [e tudo o resto cá em casa excepto os laptops] não permite ligação digital e a motherboard não permitia adicionar nenhuma placa gráfica moderna por isso foi necessário actualizar o Frontend. E uma vez que o novo sistema vem com bastante mais recursos, voltamos a ter ambas as funcionalides (Frontend e Backend) num só sistema.

Nos próximos artigos explico como configurar um Media Center que permite tirar partido das funcionalidades de uma SmartTV.