22 março 2016

Tutorial Raspberry Pi com SSH

Que tal ter acesso total ao seu 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.

Tutorial Raspberry Pi SSH

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:

Raspi-Config

Em seguida escolha a opção A4 SSH:

Raspi-Config SSH

Selecione Enable para habilitar o SSH no Raspbian:

SSH Enable

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):

Putty

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):

Putty Login

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.
Circuito Raspberry Pi 2 SSH
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.

Putty Nano

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:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#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:

Putty Python

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

O led deve começar a piscar em intervalos regulares.

Nenhum comentário:

Postar um comentário