Que tal ter acesso total a sua placa Raspberry Pi de forma remota ? Para isso, vamos ver como utilizar o Raspberry Pi com SSH, um prático e seguro protocolo de comunicação.
Com o SSH você controla a sua placa remotamente através da rede, e pode instalar programas, alterar configurações do sistema operacional, efetuar atualizações no sistema, controlar a GPIO e muito mais. Nesse tutorial utilizamos o Raspberry Pi 2, mas você pode utilizar outras placas da linha Raspberry Pi.
O que é o SSH
O SSH (Secure Shell), é um protocolo que permite que você execute comandos em um computador remoto através da rede. É uma evolução do Telnet, muito utilizado para acesso remoto, mas que tinha (tem) o inconveniente de transferir os dados de forma aberta, sem segurança alguma.
No SSH, toda a transmissão de dados é criptografada, assim não há o risco de alguém interceptar os comandos que estão trafegando pela rede, sejam eles arquivos confidenciais, comandos ou informações de login e senha.
Qualquer comando executado via SSH é executado no sistema operacional do computador remoto, portanto se você está acessando o Raspberry Pi com SSH, e o sistema operacional é o Raspbian, os comandos aceitos nessa conexão serão aquele permitidos pelo Raspbian.
Habilitando o SSH no Raspberry Pi
A maneira mais comum de habilitar o SSH no Raspberry é através do Raspi-Config. No sistema operacional, abra uma janela de terminal e digite o seguinte comando:
sudo raspi-config
A tela principal do Raspi-Config será aberta. Selecione a opção 9 – Advanced Options:
Em seguida escolha a opção A4 SSH:
Selecione Enable para habilitar o SSH no Raspbian:
Reinicie o Raspberry para que as alterações tenham efeito.
Acessando o Raspberry usando SSH
Um dos programas mais utilizados para acessar o Raspberry Pi usando SSH é o Putty (download), um programa leve e que não precisa ser instalado, basta rodar o executável putty.exe.
Ao abrir o programa, é aberta uma janela como essa da imagem abaixo. Nela você coloca as informações de conexão como endereço IP (no nosso caso, 192.168.0.31), a porta (22) e seleciona também o tipo de conexão (SSH):
Clique em Open para efetuar a conexão ao Raspberry Pi com SSH. Uma tela de terminal será aberta, solicitando usuário e senha. Vamos utilizar o usuário padrão do Raspberry (Pi) e a senha padrão (Raspberry):
Você também pode utilizar outros usuários, como o root, por exemplo. Feito o login, você está “dentro” do Raspbian, e pode usar os mesmos comandos que usaria se estivesse digitando diretamente no Raspberry.
Acionando portas do Raspberry com Putty
Monte o circuito abaixo, composto pelo Raspberry Pi, um led e um resistor. O anodo (negativo) do led deve ser ligado ao pino 34 da GPIO, e o catodo (positivo) ao pino 40.
Vamos agora criar um programa no Raspberry usando o editor de textos Nano, digitando o seguinte comando dentro do Putty:
sudo nano programa.py
Uma janela do editor de textos será aberta, e nela vamos inserir o nosso programa.
Digite ou copie o programa abaixo. Note que apesar de ser um acesso remoto diretamente no Raspbian, você ainda consegue copiar e colar itens na janela do Putty:
#Programa: Raspberry SSH #Autor: Arduino e Cia #define o tempo que o led ficara aceso ou apagado tempo = 1 #Biblioteca da GPIO import RPi.GPIO as GPIO #Biblioteca de tempo import time GPIO.setmode(GPIO.BOARD) #Define o pino 40 da placa como saida GPIO.setup(40, GPIO.OUT) #Rotina acender led def acendeled(pino_led): GPIO.output(pino_led, 1) return #Rotina apagar led def apagaled(pino_led): GPIO.output(pino_led, 0) return #Inicia loop while(1): #Acende o led acendeled(40) time.sleep(tempo) #apaga o led apagaled(40) time.sleep(tempo)
O programa nada mais é do que uma pequena rotina que vai piscar o led ligado na porta 40 da GPIO. Depois de copiar o programa, sua tela do Putty com o nano ficará mais ou menos assim:
Digite CTRL+X para sair do editor, digitando Y para salvar e confirmando o nome do arquivo (programa.py).
De volta ao prompt de comando, execute o programa em Python que você acabou de criar no Raspberry:
sudo python programa.py
Como resultado, o led deve começar a piscar em intervalos regulares.
Gostou? Confira aqui mesmo no Arduino e Cia outros posts sobre Raspberry Pi!