Como criar um servidor de desenvolvimento pessoal em um Raspberry Pi de US $ 5

O Raspberry Pi Zero W, de US $ 10, possui uma CPU poderosa, WiFi, Bluetooth e todos os tipos de conectores

No “ponto alto”, você pode comprar um Kit de mesa Raspberry Pi 4 por menos de US $ 100. Ele possui uma CPU ARM de 4 núcleos, rodando a 1,5 GHz, GPU, 2 GB (até 8 GB) de RAM, 16 GB (até 2 TB) de armazenamento em cartões MicroSD, conectores Wi-Fi e Ethernet, portas USB, portas HDMI que podem operar Monitores 4K, bem como teclado e mouse.

O Raspberry Pi também é mais do que um computador comum. É divertido e hackável. O Raspberry Pi expõe uma linha de pinos GPIO (General Purpose Input Output). Você pode conectar sensores simples (por exemplo, temperatura, umidade, luz) a esses pinos e capturar os dados de seus aplicativos em execução no Pi.

Você também pode conectar luzes e motores de LED a esses pinos e usar o aplicativo Pi para acionar esses dispositivos periféricos.

Para sensores ou dispositivos mais complexos, como módulos de câmera, você também pode conectar-se ao Pi via USB ou Wifi e acessá-los em software. O Pi é um ótimo dispositivo para aprendizado e hackers de hardware. Por esse motivo, é amplamente utilizado em ambientes educacionais.

No entanto, diversão e aprendizado não são apenas para crianças. Com tanto poder de computação e fácil conexão em rede, o Raspberry Pi pode facilmente se tornar um servidor de aplicativos pessoal para você.

Por exemplo, você pode colocar um aplicativo da Web (por exemplo, um aplicativo de anotações colaborativo ou apenas alguns documentos / vídeos para compartilhar) em um Pi, trazê-lo para uma reunião e torná-lo acessível a todos na sala. Você nem precisa da Internet. É completamente descentralizado e resistente à censura.

O servidor pessoal é especialmente útil para desenvolvedores. Você pode ter um ambiente separado para implantar e testar seus aplicativos do lado do servidor sem precisar mexer no seu laptop. Um servidor de desenvolvimento pessoal é como o Docker em esteróides. Neste artigo, ensinarei como configurar um.

Primeiro, compre um Raspberry Pi

Se esse é o seu primeiro Raspberry Pi, a maneira mais fácil (e mais cara) de configurar é comprar um kit de mesa por cerca de US $ 100. Ele vem com tudo o que você precisa para um computador, exceto a tela.

Se você estiver usando o Pi como um servidor de desenvolvimento pessoal, NÃO precisará de uma exibição após a configuração inicial. Você pode fazer o SSH nele do seu laptop, uma vez ligado!

Aprenda como para obter seu kit inicial do Raspberry Pi gratuitamente quando você participar deste exercício de aprendizado de aplicativos da web de alto desempenho.

Obviamente, se você tiver peças sobressalentes de computador, como cartões MicroSD, fonte de alimentação USB, teclado e mouse, você poderá economizar dinheiro comprando apenas as placas. Você pode obter uma placa Raspberry Pi Zero por US $ 5 e uma placa Raspberry Pi 4 por US $ 35.

Mas o que falta no painel é um cartão MicroSD que atua como o “disco rígido” para armazenar o sistema operacional e os dados. Você pode comprar um cartão MicroSD de 16 GB por US $ 10 on-line, um leitor de cartão MicroSD e usar o Raspberry Pi Imager para carregar um sistema operacional no cartão MicroSD do seu laptop.

As duas opções populares são o Raspberry Pi OS e o Ubuntu Linux. Ambas são distribuições Linux baseadas no Debian. A maioria dos kits iniciais pré-instala o Raspberry Pi OS em seus cartões MicroSD (chamado NOOBS).

Nas próximas duas seções, falarei sobre os dois sistemas operacionais.

Como configurar o Raspberry Pi OS

Depois de colocar o cartão MicroSD com o NOOBS e conectar um monitor, um teclado e um mouse, você poderá ligar a alimentação!

A partir daí, basta seguir as instruções na tela para instalar o Raspberry Pi OS (anteriormente conhecido como Raspbian OS). Em seguida, configure uma senha para o usuário pi e configure a conexão wifi.

Depois de fazer login, vá para o menu Preferências → Configuração do Raspberry Pi e ative o SSH. Isso permitirá que você faça login no Pi a partir de outro computador.

Nota: para usar o Pi como um servidor “sem cabeça”, você pode solicitar um endereço IP estático ao seu roteador. No futuro, você poderá ligar o Pi e conectá-lo via SSH a partir de outros computadores ou telefones.

O sistema operacional Raspberry Pi é derivado da distribuição Debian Linux. Ele vem com um ambiente completo de interface do usuário da área de trabalho com um navegador da Web moderno, um terminal de linha de comando e programas de aprendizado, como IDEs para Python, Java e Scratch.

Meu Raspberry Pi 4 com instalação do Raspberry Pi OS. Observe como é pequeno o computador real.

Para nossos propósitos, estamos interessados ​​principalmente na instalação de software para servidores e desenvolvedores por meio do terminal da linha de comando.

Nesse ponto, você também pode descobrir o endereço IP do Pi na sua rede local executando o seguinte comando. Em seguida, você pode fazer o SSH no Pi usando o endereço IP local, o nome de usuário pi e a senha que você forneceu pi durante a instalação.

$ hostname -I
192.168.2.108 172.17.0.1

Você pode encontrar um lista completa de pacotes de software instalados no Raspberry Pi OS aqui. É sempre uma boa idéia atualizar e atualizar para os pacotes mais recentes. Execute o comando abaixo e seja paciente. Pode demorar uma hora.

$ sudo apt update && sudo apt upgrade

Como configurar o Ubuntu Server 20.04

O Raspberry Pi OS é voltado principalmente para uma experiência de desktop. Para desenvolvedores que desejam apenas usar o dispositivo como servidor ou dispositivo IoT, o Ubuntu Linux é uma escolha muito melhor. Possui os mais recentes pacotes de software e bibliotecas e pode ser muito mais eficiente sem as janelas da área de trabalho, navegador da web, Java, jogos e ferramentas de aprendizado.

Você pode baixar Imagens do Ubuntu Server para Raspberry Pi da web e carregue-o em um cartão MicroSD. Mas talvez uma maneira muito mais fácil seja usar o Raspberry Pi Imager, selecione Ubuntu Server 20.04 TLS no menu e escreva em um cartão MicroSD vazio.

Depois que o cartão MicroSD estiver preparado, você deve siga estas instruções para inserir o nome e a senha da sua rede WiFi. Isso permite que o dispositivo Raspberry Pi se conecte à rede assim que inicializar.

Basicamente, você pode simplesmente colocar o cartão MicroSD no Raspberry Pi, conectar a energia USB e esperar que ele fique online. Você pode encontrar o raspberrypi IP do dispositivo a partir do seu roteador WiFi e, em seguida, faça o SSH em qualquer computador na sua rede.

O nome de usuário e a senha iniciais são ubuntu / ubuntu. Não há necessidade de conectar um monitor ou teclado. É isso para uma configuração completamente decapitada!

Nota: se, por algum motivo, o Raspberry Pi não puder se conectar ao Wi-Fi na inicialização, você poderá conectar um monitor HDMI e um teclado USB a ele. Então siga estas instruções para depurar e configurar o WiFi no sistema em execução.

Em seguida, vamos instalar a pilha de ferramentas do desenvolvedor no Pi.

Instale o Git

Eu sempre instalo o Git em todos os meus ambientes de desenvolvimento porque muitos softwares podem ser recuperados diretamente dos repositórios do Git. Isso me poupa o trabalho de baixar e copiar.

O Git também me permite salvar e fazer backup de meu próprio trabalho em repositórios particulares. Para um computador pequeno como o Raspberry Pi, recomendo que você salve o trabalho no Git, caso perca o dispositivo ou o cartão MicroSD.

O seguinte comando instala o Git:

$ sudo apt install git

Instale o Node.js

Para transformar o Raspberry Pi em um servidor de desenvolvimento pessoal para aplicativos da web, você precisa instalar um tempo de execução de aplicativo da web moderno.

Para a maioria dos desenvolvedores hoje, o melhor ponto de partida é o Node.js, que permite gravar aplicativos do lado do servidor em JavaScript. Os dois comandos a seguir instalam o Node.js no seu Pi.

$ curl -sL https://deb.nodesource.com/setup_10.x | sudo bash -
$ sudo apt install nodejs

Você pode verificar se a instalação foi feita corretamente executando os dois comandos a seguir. Agora, o nó e o npm estão disponíveis.

$ node -v
v10.19.0
$ npm -v
5.8.0

A partir daqui, você pode usar o npm para instalar os módulos. Por exemplo, um módulo npm comumente usado é a estrutura expressa para aplicativos da web.

$ npm install express

Agora, você pode passar pelo Exemplo de olá mundo ExpressJS para criar um servidor Web no seu Pi e use navegadores da Web em qualquer computador da sua rede para acessar o aplicativo!

Instalar ferrugem

Rust é uma linguagem de programação de rápido crescimento para escrever sistemas e aplicativos da web. É próximo ao hardware, alto desempenho e memória segura. Isso torna o Rust um ótimo idioma para escrever aplicativos em dispositivos com recursos limitados, como o Raspberry Pi.

Ademais, o Rust é a linguagem de programação mais amada pelos usuários do StackOverflow nos últimos 5 anos consecutivos. Vale a pena aprender!

Um caso de uso importante do Rust é compilar Rust funções no WebAssembly e executá-los dentro do Node.js aplicações para alcançar portabilidade de desempenho, segurança e código. É uma ótima opção para executar aplicativos da Web com uso intensivo de computação em um pequeno Dispositivo Raspberry Pi. De fato, você poderia obtenha um kit inicial gratuito do Raspberry Pi se você aprender como fazer isso.

Nota: estritamente falando, você não precisa instalar as ferramentas Rust no Pi. Normalmente, você só precisa executar programas Rust no Pi. Você pode compilar seu programa Rust em qualquer computador e copiar os binários compilados no Pi.

Mas ainda assim, com a poderosa CPU, você pode compilar programas Rust no Raspberry Pi. Então por que não?

O comando a seguir instala a cadeia de ferramentas do compilador Rust no Pi.

$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Execute o comando a seguir para configurar o caminho correto sem efetuar logoff e logon novamente.

$ source $HOME/.cargo/env

O comando acima também instala o gerenciador de pacotes Rust chamado cargo. A maioria dos desenvolvedores de Rust usa carga para construir e compartilhar seu trabalho.

$ cargo -V
cargo 1.44.1 (88ba85757 2020-06-11)

Em seguida, você pode clonar nossa Repositório de aprendizado de ferrugeme aprenda com exemplos.

$ git clone https://github.com/second-state/wasm-learning.git

Aqui está o olá mundo exemplo. Diverta-se!

$ cd wasm-learning/rust/hello
$ cargo build
   Compiling hello v0.1.0 (/home/pi/Dev/wasm-learning/rust/hello)
    Finished dev [unoptimized + debuginfo] target(s) in 4.35s
$ target/debug/hello
Hello, world!

Confira o site oficial da Rust e a Ferrugem por exemplo livros para mais recursos de aprendizagem.

Learn Docker

Vimos que o Raspberry Pi OS e o Ubuntu Server são distribuições Linux muito capazes, com muitos pacotes de software.

Mas e se eu quiser testar aplicativos em outros sistemas operacionais? Preciso limpar e reinstalar um sistema operacional diferente no cartão MicroSD? A resposta é não. Você pode apenas usar o Docker! Os dois comandos a seguir instalam a janela de encaixe no Raspberry Pi:

$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh

Execute o seguinte comando para poder usar o Docker como usuário pi:

$ sudo usermod -aG docker pi

O comando info do Docker mostra que o Docker agora está instalado em um sistema ARM com o Raspberry Pi OS.

$ docker info
... ...
 Kernel Version: 4.19.118-v7l+
 Operating System: Raspbian GNU/Linux 10 (buster)
 OSType: linux
 Architecture: armv7l
 CPUs: 4
 Total Memory: 3.814GiB
 Name: raspberrypi
 ID: XERI:ZVVZ:XQVA:HXSH:KRPI:6GL2:5QRE:E7GZ:Z72Q:6SGF:CEI6:GKTC
 Docker Root Dir: /var/lib/docker
... ...

Em seguida, você pode extrair uma imagem do Docker para a distribuição mais recente do Ubuntu, executá-la e fazer login no Ubuntu como um usuário da linha de comando.

$ docker pull ubuntu
... ...
$ docker run -it ubuntu bash
root# ... enter commands ...

Qual é o próximo?

Neste artigo, abordamos o básico e aprendemos como transformar seu dispositivo Raspberry Pi 4 em um servidor de desenvolvimento pessoal para desenvolvedores de software.

Há muito a aprender sobre Git, Node.js, Rust, WebAssembly e Docker. Também há muitas outras pilhas de desenvolvedores que você pode instalar no Raspberry Pi.

Pegue seu kit Raspberry Pi grátis e deixe-nos saber o que você fez com isso!

Assine a nossa newsletter e fique em contato.