Pelo preço de um disco rígido USB, você pode transformar o Raspberry Pi em uma caixa de armazenamento conectada à rede super barata e extremamente flexível.

Para começar, vamos ativar o SSH no dispositivo. O SSH é um protocolo de shell seguro e é uma maneira de acessar a linha de comando do Pi em toda a sua rede. Isto é particularmente importante com o Pi, porque sentar na frente de uma televisão não é o melhor lugar para hackear. O SSH permite que você escape de qualquer outra caixa do Linux, Windows ou OS X.

Embora o SSH esteja incluído por padrão na distribuição Debian que nós instalamos, ele não está rodando. Para começar, faça login no seu Pi (o nome de usuário padrão é 'pi' com uma senha de 'framboesa') e digite o seguinte:

serviço sudo ssh start

Se você é novo no Linux, essa linha pode parecer escrita em uma língua estrangeira, mas depois de decodificada é muito fácil de entender. As únicas palavras na linha de comando geralmente iniciam um utilitário com o mesmo nome ou fornecem instruções para o utilitário sobre o que fazer.

No comando acima, 'sudo' é um utilitário que permite executar outros comandos com privilégios de administrador, 'service' é a ferramenta usada para executar um script a partir do diretório /etc/init.d, e 'ssh start' é o extra informação 'serviço' precisa ser executado - sendo o primeiro o serviço para modificar - ssh - e o segundo sendo o que fazer com ele - iniciar. Isso também pode ser parar ou reiniciar.

Você pode descobrir mais sobre os comandos digitando homem seguido pelo nome do comando. Tipo homem sudo, por exemplo, se você quiser descobrir mais sobre o comando sudo.

Nós também queremos iniciar o SSH quando inicializarmos o Raspberry Pi, e podemos fazer isso com outro comando:

sudo insserv ssh

Se você digitar homem insserv, Você verá que este é o comando para permitir que um script seja executado quando o sistema inicializar, e agora que o SSH está instalado e funcionando, você não precisará nem mesmo conectar seu Pi a um teclado, mouse e tela. Desde que esteja conectado à rede, você poderá usar o SSH para controlar o dispositivo remotamente - mas, antes de fazer isso, você precisa saber o endereço IP do dispositivo..

O Raspberry Pi informa seu endereço IP no final da saída de inicialização, mas você também pode encontrá-lo digitando ifconfig e procurando o número à direita de 'inet addr' no eth0 seção.

O comando ifconfig é poderoso e pode ser usado para mudar muita coisa sobre a rede, bem como gerar a configuração atual. O dispositivo 'lo', listado sob a porta Ethernet, é um dispositivo de loopback virtual, que é útil para quando você deseja acessar serviços em execução no Pi a partir do próprio Pi.

Agora você tem o endereço IP do Raspberry Pi, de outra máquina na mesma rede, digite ssh [email protected] - mas substitua o endereço IP pelo seu. Ser-lhe-á pedida a palavra-passe, após a qual irá encontrar-se exactamente na mesma linha de comandos que a própria máquina e poderá fazer as mesmas coisas que pode a partir da linha de comandos através desta ligação SSH. Bem-vindo ao maravilhoso mundo do teletrabalho!

Gerenciamento de pacotes

Mais cedo ou mais tarde, você vai querer instalar software adicional no seu RPi. No Linux, isso geralmente é feito através de algo chamado gerenciador de pacotes - um conceito que é praticamente o mesmo que uma loja de aplicativos. Você decide qual programa deseja instalar e é baixado automaticamente.

No Linux, o download inclui também quaisquer dependências, pois são as bibliotecas e aplicativos necessários para executar o que você deseja instalar. Como o nosso sistema operacional Raspberry Pi é o Debian, e os gerenciadores de pacotes podem ser específicos da distribuição, estaremos usando o gerenciador de pacotes do Debian.

A interface para isso é chamada apt - a ferramenta de pacote avançado. Como o Ubuntu é baseado no Debian, ele usa o mesmo esquema de empacotamento (com pacotes diferentes), então é muito provável que você já o tenha encontrado, embora talvez não a partir da linha de comando. Instalar algo é tão simples quanto digitar:

apt-get install nome do pacote

No entanto, existe uma maneira mais fácil - um utilitário chamado aptitude. Você pode usá-lo na linha de comando para procurar e instalar pacotes (aptitude search nome do pacote e aptitude instalar nome do pacote), mas também oferece uma interface de linha de comando primitiva. Isto aparece se você digitar o aptitude sozinho, e você achará muito mais fácil de navegar do que usando apenas a linha de comando.

Após o lançamento, o cache de pacotes foi atualizado e a visualização é dividida em três. No topo, há um menu. Abaixo disso, há uma lista de pacotes que você pode percorrer com as teclas do cursor, e abaixo esta é a saída de qualquer opção que você escolher.

Para procurar um pacote, você precisa pular para o menu superior. Um clique deve funcionar se você tiver um mouse conectado, mesmo se estiver usando uma conexão SSH, mas também pode pressionar [Ctrl] + [T] para alternar o foco de entrada para os menus manualmente. A pesquisa atualiza os pacotes descobertos em tempo real, e você pode pular para cima e para baixo na lista de pacotes com as teclas do cursor ou com [Page Up] e [Page Down].

Esses pacotes são baixados de algo chamado repositório. Por padrão, o repositório usado pelo Debian é bastante estrito, e não contém nada considerado não fazer parte do sistema operacional Debian, mas você pode contornar essa restrição adicionando novos repositórios.

Você encontrará a lista de repositórios no arquivo de texto /etc/apt/sources.list e precisará abrir isso com um editor de texto como administrador do sistema. Na linha de comando, você pode fazer isso digitando sudo nano /etc/apt/sources.list.

Com o arquivo aberto, você precisa adicionar a palavra contrib até o final da primeira linha (a que termina com 'squeeze main'). O arquivo contrib contém pacotes gratuitos que dependem de pacotes listados no arquivo não-livre - um repositório que já deveria estar no seu arquivo sources.list. Agora digite:

sudo apt-get update

Agora você deve conseguir instalar muitos outros pacotes que não estavam disponíveis inicialmente. Instalamos o emulador Vice Commodore 64, por exemplo, como uma maneira de colocar nosso Pi em contato com as raízes dos computadores domésticos dos anos 80. Para fazer isso funcionar no seu próprio Pi, digite vice-instalação do apt-get (isso não teria funcionado antes).

Depois disso, você precisa baixar as ROMs requeridas pelo emulador para funcionar corretamente. Eles são parte da versão do Windows do Vice, mas sua legalidade duvidosa os proíbe de serem incluídos nos pacotes do Debian. Se você tem o direito legal de fazer isso, você pode descompactar as ROMs da versão do Windows e colocá-las no local correto com os seguintes comandos:

tar xvf vice-1.5-roms.tar.gz
sudo cp -a vice-1.5-roms / data / * / usr / lib / vice /

Agora você pode iniciar o emulador digitando x64. Você precisará usar o emulador enquanto estiver conectado a uma tela real em vez de usar o SSH, mas graças à interface de apontar e clicar do Vice, basta clicar no menu Arquivo para abrir um solicitante e iniciar seus jogos..

Recomendamos usar a opção autostart, pois isso iniciará o processo de carregamento sem que você precise se lembrar de digitar CARGA "*", 8,1 Seguido por CORRE para iniciar o jogo padrão em qualquer imagem de disco.

Conseguimos um desempenho muito bom do emulador e conseguimos jogar a maioria dos jogos a uma velocidade de cerca de 100 por cento. Mesmo que a taxa de quadros caia ocasionalmente abaixo de 10%, os jogos ainda podem ser jogados.

Som de trabalho

A razão pela qual não há som de trabalho, pelo menos com a versão inicial do Debian que estamos usando, é porque o driver para manipular o dispositivo de som não foi carregado. Os drivers do Linux são diferentes dos drivers do Windows, assim como os pacotes são diferentes dos executáveis ​​para download e os drivers geralmente fazem parte do kernel, em vez de entidades separadas que precisam ser baixadas e instaladas.

É por isso que muitos dispositivos funcionam sem qualquer intervenção manual - o kernel detecta sua presença e carrega o driver automaticamente. Drivers que podem ser carregados dinamicamente assim são chamados 'módulos', e se você digitar sudo lsmod na linha de comando, você normalmente veria uma longa lista dos módulos que já foram carregados.

No entanto, como as distribuições criadas para o Raspberry Pi sabem exatamente em que tipo de hardware elas estão sendo executadas, elas não precisam da maioria dos drivers modulares. Exceto som. Nossa instalação mostra apenas um fusível - que é um módulo para permitir que os usuários montem dinamicamente sistemas de arquivos remotos.

O módulo de som já deve fazer parte de sua distribuição, e você pode carregá-lo digitando:

sudo modprobe snd_bcm2835

Se você digitar lsmod mais uma vez, você verá que este módulo foi carregado, junto com qualquer uma de suas dependências. Estes são os módulos que o driver de som precisa para trabalhar.

Agora você pode verificar se o som está funcionando na área de trabalho conectando um par de fones de ouvido ou alto-falantes na saída de áudio do Pi e executando o aplicativo Music Player no menu Som e Vídeo. A instalação Debian inclui até mesmo uma peça de música para você testar.

Com o áudio agora funcionando, você precisará reativar o som no emulador do Vice para ouvir qualquer coisa. Como isso começa a empurrar a CPU para o limite, também recomendamos reduzir a taxa de amostragem, aumentando o tamanho do buffer e dos fragmentos e desativando a emulação do filtro nos menus de configurações do Vice.

Nós descobrimos que o módulo de som é bem esquisito no Raspberry Pi, às vezes pendurando aplicativos de áudio. Pode ser por isso que ele não está habilitado por padrão, mas se você quiser carregar o módulo no momento da inicialização, basta adicionar o nome do módulo (snd_bcm2835) ao / etc / modules com um editor de texto.

Você precisará ser o administrador do sistema para gravar as alterações novamente, mas você deve descobrir que o módulo é carregado automaticamente quando você reinicia o Pi. Basta excluir esta entrada do arquivo para interromper o carregamento do módulo ou digitar rmmod snd_bcm2835 para remover o módulo carregado enquanto o sistema está em execução.

Compartilhamento de arquivos

Para nosso último truque, vamos transformar nosso Raspberry Pi em um NAS. Isso permitirá que você conecte um disco rígido USB à unidade e compartilhe esses arquivos pela rede. Combine isso com a reprodução de som na unidade, e você pode até mesmo começar a usar o Raspberry Pi no centro de um hub de mídia - compartilhando arquivos e reproduzindo música, tudo controlado a partir de uma conexão remota..

No centro dessa funcionalidade está uma ferramenta chamada Samba, que é uma reimplementação estável e amplamente usada do protocolo de rede da Microsoft. Como isso é usado pelo Windows, OS X e Linux para acessar compartilhamentos remotos, é a melhor maneira de configurar um servidor de compartilhamento de arquivos que todos possam acessar. Pode ser instalado com um único comando:

sudo apt-get instala samba

Após a conclusão da instalação, dois processos em segundo plano serão iniciados. Processos como esses e o servidor SSH que iniciamos anteriormente são geralmente chamados de daemons, e eles tratam automaticamente de todas as solicitações feitas pela rede..

Agora precisamos definir a parte do sistema de arquivos que vamos usar para armazenar os arquivos. Como vamos usar uma unidade remota conectada via USB, precisamos criar um ponto no sistema de arquivos para que seja acessível, e certifique-se de que seja permanente.

Depois de inserir uma unidade USB, digite dmesg. Isso exibe a saída dos logs do sistema e, no final, você deve ver a parte em que seu sistema está lidando com a inserção do pendrive. Olhe nesta saída para algo como sda: sda1; pode ser exatamente isso, ou pode ser sdb. De qualquer forma, este é o nó da sua unidade no sistema de arquivos virtual que o Linux usa para gerenciar dispositivos. Dê uma olhada em / dev / para uma lista impressionante do que é possível.

Para adicionar nosso dispositivo ao sistema, primeiro precisamos criar uma nova pasta para atuar como o nó raiz do dispositivo. Nós costumavamos mkdir / mnt / share para criar uma pasta chamada 'compartilhar' no pré-existente / mnt pasta, em seguida, para montar essa pasta no momento da inicialização, adicione a seguinte linha para / etc / fstab:

/ dev / sda1 / mnt / share padrões vfat 0 0

Esta linha assume a forma de uma fonte, que é o nosso dispositivo USB com um nó retirado da saída do dmesg, um destino, que é a pasta que acabamos de criar, seguido por um tipo de sistema de arquivos, os padrões, palavra-chave e dois zeros.

A única parte problemática dessa linha é o tipo de sistema de arquivos, porque estamos supondo que seja um pendrive formatado pela Microsoft (vfat no jargão do sistema de arquivos). É muito melhor reformatar o dispositivo da mesma forma que formatamos o cartão SD e usar um sistema de arquivos Linux nativo, como o ext3. Se você fizer isso, altere o sistema de arquivos de acordo.

Salve suas alterações no fstab e teste se a montagem está funcionando corretamente digitando sudo mount / mnt / share. Se tudo correr bem, você poderá navegar pelo conteúdo do seu dispositivo USB apontando um navegador de arquivos ou a linha de comando em / mnt / share.

Leitura e escrita

Se você achar que isso não funciona, dê uma olhada em qualquer nova saída do comando dmesg para ter uma idéia melhor do que pode ter dado errado. Caso contrário, o seu dispositivo USB deve agora montar automaticamente sempre que você iniciar o Pi.

Agora queremos garantir que todos possam ler e gravar na pasta compartilhada. Podemos fazer isso a partir da linha de comando, usando os dois comandos a seguir:

sudo chown -R root: usuários / mnt / share
sudo chmod -R ug + rwx / mnt / share

A primeira dessas alterações controla a propriedade de todos os arquivos da unidade, porque -R argumento significa que essas mudanças serão feitas recursivamente. o root: usuários parte faz raiz (o administrador do sistema) o proprietário, mas também atribui um valor de grupo de usuários. Em termos de Linux, isso significa que qualquer usuário que também faça parte do grupo de usuários também terá acesso de grupo.

Se você digitar grupos você verá a lista de grupos dos quais seu usuário atual é membro. Se você estiver usando o nome de usuário padrão 'pi', deverá ver os usuários como parte dessa lista. O segundo comando garante que todos os arquivos e pastas estejam configurados para (r) ead, (w) rite e e (x) ecutáveis ​​para o usuário e grupos atribuídos aos arquivos..

Agora, queremos criar uma conta de usuário que você possa usar para acessar o compartilhamento. Para fazer isso, primeiro precisamos criar uma nova conta local e vinculá-la ao Samba. Você precisará inserir o nome de usuário e a senha criados nesta etapa sempre que acessar o compartilhamento Samba a partir de uma máquina remota.

Você pode fazer isso com os dois comandos a seguir:

sudo useradd smbaccess -m -G users
sudo passwd smbaccess
sudo smbpasswd -a smbaccess

Primeiro, precisamos adicionar um usuário chamado smbaccess e garantir que ele faça parte dos usuários do grupo. Em seguida, definimos uma senha para essa conta antes de adicionar a conta ao Samba. Agora vem a parte em que pedimos ao Samba para compartilhar o ponto de montagem através da rede, e isso pode ser feito adicionando o seguinte ao final de /etc/samba/smb.conf:

[público]
comment = Public
caminho = / mnt / share
usuários válidos = @users
grupo de força = usuários
criar máscara = 0660
máscara de diretório = 0771
somente leitura = não

A etapa final é reiniciar o Samba, o que podemos fazer revisitando o primeiro comando deste tutorial:

sudo service samba restart

Agora estamos prontos para acessar nosso compartilhamento e você pode fazer isso de qualquer máquina na mesma rede. Basta usar o protocolo smb, seguido pelo endereço IP do seu Raspberry Pi.

No KDE, por exemplo, você deve digitar smb: //[email protected] no iniciador de comandos ou no gerenciador de arquivos. Você verá seus arquivos e os lerá e gravará de qualquer caixa na rede.