Uma das formas de utilizar a RPi sem a necessidade de um monitor é acessá-la remotamente através de ssh ou até mesmo de um servidor VNC. Entretanto, quando o IP atribuído a RPi não é fixo, precisamos de alguma forma descobri-lo sem acessar a RPi diretamente. Um das saídas para este problema é apresentada a seguir e consiste em fazer a RPi enviar o seu IP por e-mail toda vez que o cabo Ethernet for conectado e um IP for atribuído.
Os passos apresentados abaixo foram testados em uma RPi modelo B rodando o sistema operacional Raspbian wheezy.
1. Primeiramente precisamos baixar o pacote ssmtp, ele é um cliente smtp utilizado para enviar mensagens para um servidor smtp.
1. Primeiramente precisamos baixar o pacote ssmtp, ele é um cliente smtp utilizado para enviar mensagens para um servidor smtp.
sudo apt-get install -y ssmtp
2. Abrir o arquivo '/etc/ssmtp/ssmtp.conf', este é o arquivo de configuração do cliente smtp.
sudo vim /etc/ssmtp/ssmtp.conf
3. Editar o arquivo '/etc/ssmtp/ssmtp.conf' com as informações abaixo:
############################################################################
root=postmaster
# Como utilizamos o gmail, colocamos o servidor smtp dele.
mailhub=smtp.gmail.com:587
# nome do host(parte posterior ao @ do email)
hostname=gmail.com
# usuario(parte anterior ao @ do email)
AuthUser=jua_labs
# senha
AuthPass=juapw
# criptografia
UseSTARTTLS=YES
############################################################################
4. Criar arquivo '/etc/network/if-up.d/mailip'.
sudo vim /etc/network/if-up.d/mailip
5. Inserir as informações abaixo no arquivo '/etc/network/if-up.d/mailip'.
############################################################################
#!/bin/sh
# email destino
mailreciever=jua.labs@gmail.com
# salvamos a data
today=$(date)
# guardamos o IP na variavel my_ip
my_ip=`ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{print $1}'`
#o '\n\n' sinaliza que o que virá apos será o corpo do email
my_pi="Subject: RPi reiniciada!\n\n"
#mensagem a ser enviada
message="$my_pi reiniciada em: $today.\nIP atual = $my_ip"
#salvamos a mensagem em um txt
echo $message > message.txt
#enviamos o 'message.txt' por meio do programa 'ssmtp' ao jua.labs@gmail.com
ssmtp ${mailreciever} < message.txt
############################################################################
6. Reinicie a RPi e a reconecte a rede, toda vez que ela receber IP ela enviará para o email especificado na variável mailreciever do código do tópico 5.
Referências:
* https://wiki.debian.org/sSMTP
* https://googledrive.com/host/0B1nrvbH9mKucaWJuUFN6S2lyU1k/09-Email%20&%20FTP.pptx
Nenhum comentário:
Postar um comentário