Caixa de música LEGO – o software

Tópicos:

  • Pré-requisitos
  • Preparação do cartão SD
  • Configurações do sistema
  • Script em python
  • Automatismo
  • Vários

Pré-requisitos

Convém ter um cartão SD com capacidade 4 GB ou superior, categoria 4 ou superior. O cartão pode ser micro- ou mini-SD desde que se disponha de um adaptador para o formato SD.

É também necessário um computador equipado para lidar com cartões SD ou então um adaptador SD USB.

Estas indicações são para um sistema Linux (mais concretamente Ubuntu 14.04). Não é difícil adaptar para um sistema Windows mas já há  muito não uso nenhum.

Preparação do cartão SD

É necessário um sistema operativo para Raspberry Pi. Eu prefiro o Raspbian por ser baseado em Debian tal como o Ubuntu que venho utilizando há já alguns anos. A versão mais recente está sempre disponível na Raspberry Pi Foundation – o ficheiro .zip contém um ficheiro único, uma imagem de um cartão inteiro pronto a usar (na versão de Junho de 2014 a imagem tem 3.0 GB pelo que um cartão de 4 GB continua a ser suficiente).

O Ubuntu tem uma aplicação gráfica “Disks” (na linha de comando “gnome-disks”) que permite entre outras coisas escrever imagens. Seleccionamos o cartão SD (qualquer coisa como “4 GB Block Device | /dev/mmcblk0”) e depois “Restore disk image” escolhendo o ficheiro .img do Raspbian.

O cartão tem agora duas partições:

  • BOOT
  • 2.9 GB Volume

A primeira será usada como “/boot” e a segunda como “/” como é habitual ma maioria das instalações Linux. Não existe a habitual partição para swap porque [pelo menos no Raspbian] é utilizado um ficheiro dentro de “/”.

Antes de colocar o cartão no Raspberry é necessário alterar alguns ficheiros para ter um sistema funcional. Se montamos a segunda partição (“2.9 GB Volume”) como /X precisamos criar ou editar 2 ficheiros:

  • /X/etc/hostname
  • /etc/network/interfaces

sudo /X/etc/hostname

Este ficheiro deve conter uma única linha, com o nome pelo qual o sistema operativo vai responder:

caixademusica

sudo /X/etc/network/interfaces

Este ficheiro contém a configuração da rede Wi-Fi:

auto lo

allow-hotplug wlan0
iface wlan0 inet dhcp
   wpa-ssid "RedeWiFi"
   wpa-psk "PasswordDaRedeWifi"

iface default inet dhcp

Podemos mais tarde utilizar um endereço IP estático em vez de recorrer ao cliente DHCP (deve acelerar ligeiramente o arranque e utilizar ligeiramente menos RAM). Neste exemplo defini só uma rede Wi-Fi mas é possível definir várias, ver o meu artigo “Raspberry Pi – headless + wireless” (para mim é suficientemente uma única rede já que tenho um router 3G de  bolso configurado de forma semelhante à rede de casa e assim quando levo um Raspberry Pi comigo para testes ou demonstrações uso sempre a mesma configuração).

O cartão já pode ser colocado no Raspberry Pi, podemos confirmar o endereço IP na página de configuração do router (se estivermos a usar DHCP) e aceder remotamente por SSH:

ssh pi@192.168.1.67

(“pi” é o utilizador pré-configurado no Raspbian – a password é “raspberry”, convém alterar mais tarde com o comando “passwd” – e 192.168.1.67 é o endereço que no router aparece atribuido ao host “caixademusica”).

Configurações do sistema

Tendo acesso remoto à Caixa de Música é necessário expandir o file system do cartão de modo a utilizar toda a capacidade deste (como referi, até Junho de 2014 a imagem ocupa apenas 3 GB pelo que num cartão de 4 GB fica 1 GB por alocar e que pode fazer falta)

sudo raspi-config

Escolher “Expand Filesystem” e no final se não for dada opção de reboot (não recordo) dar o comando

sudo reboot

No próximo login o cartão deverá ter cerca de 1.4 GB disponíveis:

df -h

Filesystem      Size  Used Avail Use% Mounted on
rootfs          3.6G  2.0G  1.4G  60% /
/dev/root       3.6G  2.0G  1.4G  60% /
devtmpfs        211M     0  211M   0% /dev
tmpfs            44M  232K   44M   1% /run
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs            88M     0   88M   0% /run/shm
/dev/mmcblk0p1   56M   19M   38M  34% /boot

Já é bastante mas como não vou utilizar ambiente gráfico (desktop) posso libertar mais algum espaço (cerca de 1.2 GB mais) e reduzir o peso de futuros updates com os dois comandos:

sudo apt-get --purge remove cups.* xserver.* x11.*
sudo apt-get autoremove

Vamos agora actualizar o Raspbian para a última versão de todos os pacotes instalados:

sudo apt-get update
sudo apt-get dist-upgrade

E instalar as ferramentas necessárias:

sudo apt-get install htop mpg321 mp3gain
  • htop não é necessário mas gosto de utilizá-lo em vez do top nativo.
  • mpg321 é um player não-gráfico de ficheiros mp3 que vai servir para tocar a música que acompanha a «bailarina».
  • mp3gain permite ajustar o ganho dos ficheiros mp3, muito útil quando estes parecem ouvir-se pior que a maioria dos restantes
sudo apt-get install python-pip python3-pip
sudo pip install sh
sudo pip3 install sh
  • sh é uma library de python que permite invocar comandos da shell (do sistema operativo) e que vou usar no meu programa por isso preciso de instalar primeiro.
  • pip é um gestor de libraries para python (instalo duas versões – para python v2 e python v3 – provavelmente bastará a última)

 

Script em pyhton

[por completar]

Automatismo

[por completar]

Vários

[por completar]

 

Series Navigation<< Caixa de música LEGO

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *