Como executar comandos no Raspberry Pi por e-mail

Esse problema é enfrentado por quase todos os usuários do Raspberry Pi. Você tem um Raspberry Pi rodando em casa e deseja executar um comando nele. O problema é que você está fora de casa, em sua rede móvel, e não tem como acessar seu Pi. Você pode obter um endereço IP estático ou usar um dos serviços DNS dinâmicos para habilitar o acesso à sua rede doméstica. No entanto, isso é muito inconveniente para a maioria das pessoas e exige muito esforço para pouco ganho. Além disso, abre seu Raspberry Pi para ataques de força bruta, já que a porta SSH agora está exposta ao mundo.

A boa notícia é que existe um método mais conveniente e seguro – basta enviar por e-mail os comandos que você deseja executar no seu Raspberry Pi. Dessa forma, tudo o que você precisa é de um cliente de e-mail e uma conexão de internet em funcionamento no seu Pi. Sem logins e sem IPs estáticos. Além disso, esse método não funciona apenas com o Raspberry Pi, mas com qualquer distribuição Linux com o shell Bash e o cURL instalados. Parece legal? Aqui está o que você precisa para configurá-lo:

Requisitos

  • Um Raspberry Pi com uma conexão de internet funcionando.
  • Uma conta no IFTTT.com.
  • Uma conta do Dropbox.

Começando

Configurar receita IFTTT

Usaremos o IFTTT para distribuir comandos entregues por e-mail ao Dropbox. Depois de configurar uma conta IFTTT, você terá que usar o “Execute comandos bash no Raspberry Pi por e-mail” receita. Simplesmente, vá para esta receita do IFTTT e clique em Adicionar.

ifttt-recipe-to-run-commands-on-pi-by-email

Configurar o Dropbox Uploader

Nós precisamos Carregador do Dropboxum programa de linha de comando que pode fazer upload, download, listar ou excluir arquivos do Dropbox. Aqui está como configurá-lo:

1. No seu Raspberry Pi, obter o software de pré-requisito ondulação e wget. Você provavelmente já tem estes instalados, mas vamos instalá-los apenas no caso:

[sourcecode]sudo apt instalar wget curl[/sourcecode]

2. Criar uma pasta onde vamos configurá-lo. Aqui, criei um diretório chamado raspi_email na minha pasta pessoal:

[sourcecode]mkdir ~/raspi_email
cd ~/raspi_email[/sourcecode]

3. Pegue o Script do Dropbox Uploader do GitHube marcá-lo executável:

[sourcecode]wget https://raw.githubusercontent.com/andreafabrizi/Dropbox-Uploader/master/dropbox_uploader.sh

chmod +x ./dropbox_uploader.sh[/sourcecode]

4. Executar a dropbox_uploader.sh roteiro. Você verá uma saída como esta:

dropbox-uploader

5. Agora você precisa criar um aplicativo do Dropbox. Faça login no Dropbox, vá para este URL, onde você verá uma tela parecida com esta:

dropbox-api

6. Como na imagem acima, primeiro escolha o API do Dropboxem seguida, selecione Caixa de depósito completa no tipo de acesso necessário. Finalmente, Nome seu aplicativo como quiser.

7. Depois que seu novo aplicativo for criado com sucesso, role para baixo até o OAuth2 seção e clique no botão Gerar botão para gerar um token de acesso. Você verá agora um token de acesso gerado onde o Gerar botão era. Copie este token, cole-o no seu terminal e pressione Digitar:

dropbox-uploader2

8. Para verifique se sua conta está funcionandoexecute o comando ./dropbox_uploader.sh list – você deve ver uma lista dos arquivos em sua conta do Dropbox.

Configurar Raspi Runner

No seu Raspberry Pi, baixe o Roteiro Raspi Runner no raspi_email pasta que criamos anteriormente:

[sourcecode] cd ~/raspi_email

wget https://raw.github.com/enkydu/Raspi_Runner/master/raspi_runner.sh[/sourcecode]

Faça o roteiro executávele execute-o:

[sourcecode]chmod +x ./raspi_runner.sh

./raspi_runner.sh[/sourcecode]

Agora você verá um prompt como a imagem abaixo. Quando o script pede o caminho completo para o seu Carregador do Dropbox, entre no caminho para o seu Casa diretório (provavelmente /home/pi/), seguido do nome da pasta em que você baixou o dropbox_uploader.sh roteiro. Se você seguiu este guia palavra por palavra, você entrará /home/pi/raspi_email aqui.

corredor de raspi

Configurar o Crontab

Uma vez que o básico está no lugar, é necessário agende a corrida do Raspi Runner. Por exemplo, você pode configurá-lo para verificar e-mails a cada 5 minutos. Usaremos crontab por esta. No seu Raspberry Pi, execute:

[sourcecode]crontab -e[/sourcecode]

Na parte inferior do arquivo, adicione a seguinte linha:

[sourcecode]*/5 * * * * /home/pi/raspi_email/raspi_runner.sh > /dev/null 2>&1[/sourcecode]

Claro, no exemplo acima, substituir pi com seu nome de usuário e raspi_email com a pasta que você colocou raspi_runner.sh script. Agora salve seu crontab.

Uso

Basta enviar um e-mail com os comandos que deseja executar no seu Pi para trigger@recipe.ifttt.com de endereço de e-mail que você usou para configurar sua conta IFTTT. O corpo do email conterá o comando. Você pode adicionar o assunto que quiser ao e-mail, mas é recomendável que você adicione um. No exemplo a seguir, estou comandando meu Raspberry Pi para desligar:

o email

Após a quantidade de atraso que você definiu em seu crontaba raspi_runner.sh irá executar e executar o comando contido em seu e-mail.

VEJA TAMBÉM: Como configurar e começar a usar o Raspberry Pi 3 (Guia para iniciantes)

Execute comandos remotamente no seu Raspberry Pi usando o IFTTT

Então é assim que você pode usar IFTTT, Dropbox e alguma magia de linha de comando para executar comandos remotamente em seu Raspberry Pi. Obviamente, como mencionado no início, esse método também funcionará com qualquer sistema Linux ou Unix com o shell Bash instalado.

Fique atento para mais dicas e truques do Raspberry Pi no futuro. Se você tiver problemas para configurá-lo ou quiser compartilhar alguns de seus próprios truques legais do IFTTT conosco, deixe-nos uma mensagem na seção de comentários abaixo.

Leave a Comment

Your email address will not be published.