O acesso remoto a uma Raspberry Pi, conectada à internet, fornece uma maneira muito prática para executar funções sem a necessidade de ter um mouse, teclado e monitor conectado diretamente nela. Nesse artigo “Raspberry Pi SSH e IP Estático” veremos como usar um protocolo de rede para fazer essa conexão com a Raspberry pi através de outro computador, e ainda definir o IP da Rasp como estático (que não muda dentro da rede).
A figura abaixo ilustra a configuração de dispositivos que usaremos: um computador e uma raspberry pi conectados a um roteador.
Nessa situação, ambos dispositivos possuem acesso à Internet através do roteador, mas eles não se comunicam entre si. Uma maneira de fazer isso acontecer, é ativando o SSH na Raspberry pi para que o computador acesse ela através de um programa (nesse artigo usaremos o Windows PowerShell).
O SSH (Secure Shell) é um protocolo de comunicação para dispositivos conectados à internet. Pode ser usado para web servers, transferência de arquivos, execução de programas etc. Todo o tráfego nesse modo é encriptado. Para começar a usar, é necessário ativar o protocolo SSH na Rasp.
Podemos fazer isso de algumas maneiras, dependendo de como você está usando-a. O primeiro cenário é caso você tenha ela conectado a um monitor, teclado e mouse, e deseja começar a usar o SSH. O segundo é caso você já tenha desplugado todos esses periféricos.
Ativando o SSH no Raspberry Pi
No primeiro caso, acesse o menu da Rasp e clique em Preferences > Raspberry Pi Configuration.
Em seguida, na aba Interfaces, deixe a opção Enable na caixa correspondente à SSH, conforme a figura abaixo.
Outra forma de fazer isso, sem a utilização dos periféricos, é através da criação de um arquivo no cartão de memória da rasp. O arquivo deverá ter o nome de “ssh”, sem possuir extensão e nem conteúdo. A figura abaixo ilustra o arquivo.
Com o SSH ativado, vamos agora localizar o atual IP da Rasp.
Localizando o IP atual
Novamente, por meio desse post Raspberry Pi SSH e IP Estático, podemos fazer isso de duas formas. A primeira, é tendo os periféricos conectados à Rasp. Para isso, acesse o terminal da rasp e digite
1 |
ip r | grep default |
Esse comando irá retornar uma linha parecida com a seguinte:
1 |
default via 192.168.0.1 dev eth0 proto dhcp src 192.168.0.16 metric 202 |
O primeiro endereço será o endereço do seu roteador (Anote o seu endereço, pois usaremos mais tarde). O segundo, o endereço a da sua Rasp. Para ilustrar melhor, observe a figura abaixo, que mostra uma configuração DHCP (IP dinâmico) comum em muitas redes domésticas.
A segunda forma de obtermos o IP, seria através do acesso ao roteador principal. Porém, como não há uma interface padrão para isso e cada leitor pode ter um roteador diferente, utilizaremos um software que faz um scan na rede e detecta os dispositivos conectados a ela. Para isso, procure na internet pelo software Advanced IP Scanner. Faça o download do mesmo e instale-o (é bem fácil e intuitivo). Com ele aberto, clique no botão Verificar, conforme figura abaixo.
Em seguida, aguarde alguns instantes até que o software escaneie a sua rede local. Após ele terminar, irá aparecer uma linha com o endereço da Rasp, conforme figura abaixo.
Com o IP em mãos, vamos agora usar o Windows PowerShell para fazer o acesso remoto.
Acesso Remoto
Abra o Windows PowerShell no menu do Windows. Ele pode ser acessado através de uma pesquisa no menu iniciar, conforme figura abaixo.
Com ele aberto, digite:
1 |
ssh pi@192.168.0.16 |
Lembre de substituir o IP do comando acima para o IP da sua Rasp! Em seguida, caso seja a primeira vez que você esteja fazendo isso, aparecerá um aviso para guardar a sessão no computador. Se for o caso, digites ‘yes’ e pressione enter. Em seguida, digite a senha que você definiu quando instalou o sistema operacional na Rasp. Se tudo der certo, você deverá ver uma saída parecida com a figura abaixo.
Feito isso, vamos agora definir um IP estático para a Rasp.
IP Estático
Precisaremos de algumas informações para essa parte. A primeira é o endereço do roteador, que já descobrimos anteriormente. A segunda, é a interface que vc está usando, eth0 para Ethernet (cabo) ou wlan0 para WiFi. A terceira, é o endereço do servidor DNS. Para conseguir, digite o comando abaixo no terminal:
1 |
sudo nano /etc/resolv.conf |
Ele irá abrir uma tela com o endereço do servidor DNS. Anote esse endereço. Para sair da tela, pressione CTRL + X.
Em seguida, vamos editar o arquivo de configurações de rede. Digite no terminal o seguinte comando:
1 |
sudo nano /etc/dhcpcd.conf |
Você verá uma página com diversas configurações. Encontre a parte parecida com a figura abaixo.
Edite seguintes campos conforme os dados que você coletou anteriormente. Note que eu fiz com a interface Ethernet. Note também que no endereço DNS são 3 campos.
1 2 3 4 |
interface <eth0 ou wlan0> static ip_address=<IP que você quer para a sua Rasp>/24 static routers=<Endereço do seu roteador> static domain_name_servers=<Endereços do servidor DNS> |
Deverá ficar parecido com a figura abaixo. Nesse caso eu escolhi o endereço 192.168.0.200 (use um número alto para evitar conflitos de IP).
Em seguida, pressione CTRL + O para salvar o arquivo e CTRL + X para sair da tela de edição. Para aplicar as novas configurações, é necessário reiniciar a Rasp. Para isso, digite:
1 |
sudo reboot |
Testando
Após ela ter iniciado, faça a conexão novamente na PowerShell. Como é um novo endereço de IP, você precisará digitar ‘yes’ para prosseguir, e digitar a senha do seu usuário. Se tudo der certo, você verá uma tela como a da figura abaixo. Através do comando ‘hostname -I’ é possível verificar que a rasp está com o novo endereço IP.
Para desligar remotamente a Raspberry pi, use o comando:
1 |
sudo shutdown -h now |
Com isso, você estará pronto para os próximos tutoriais, onde executaremos leituras de sensores remotamente!
muito bom!
Opa consegui achar a informação correta que estava
procurando. Infelizmente tem muita informação errada na
internet. Compartilhei no meu facebook. Obrigado.