Como executar comandos no Raspberry Pi por email

  • Samson Garrison
  • 0
  • 5168
  • 53

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, na rede móvel e não tem como acessar o 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 é inconveniente demais para a maioria das pessoas e exige muito esforço para obter pouco ganho. Além disso, ele abre o 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 mais 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 funcionando 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:

Exigências

  • 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ê precisará usar o "Execute comandos bash no Raspberry Pi por e-mail ”receita. Simplesmente, acesse esta receita do IFTTT e clique em Adicionar.

Configurar o Dropbox Uploader

Nós precisamos Dropbox Uploader - um programa de linha de comando que pode carregar, baixar, listar ou excluir arquivos do Dropbox. Aqui está como configurá-lo:

1. No seu Raspberry Pi, obtenha o software obrigatório ondulação e wget. Você provavelmente já os possui, mas nós os instalaremos por precaução:

sudo apt install wget curl [/ sourcecode]

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

[código de origem] mkdir ~ / raspi_email
cd ~ / raspi_email [/ sourcecode]

3. Pegue o Script do Dropbox Uploader do GitHub, e marque-o como executável:

[código de origem] wget https://raw.githubusercontent.com/andreafabrizi/Dropbox-Uploader/master/dropbox_uploader.sh

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

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

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

6. Como na imagem acima, escolha primeiro o API do Dropbox, então selecione Dropbox completo 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 Gerar para gerar um token de acesso. Agora você verá um token de acesso gerado onde o Gerar botão foi. Copie esse token, cole-o no seu terminal e pressione Entrar:

8. Para verifique se sua conta está funcionando, executar o comando ./dropbox_uploader.sh list - você deve ver uma lista dos arquivos na sua conta do Dropbox.

Configurar Raspi Runner

No seu Raspberry Pi, faça o download do Roteiro Raspi Runner no raspi_email pasta que criamos anteriormente:

[código fonte] cd ~ / raspi_email

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

Faça o script executável, e execute:

[código-fonte] chmod + x ./raspi_runner.sh

./raspi_runner.sh[/sourcecode]

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

Configurar o Crontab

Quando o básico estiver em vigor, é necessário agendar a execução do Raspi Runner. Por exemplo, você pode configurá-lo para verificar se há e-mails a cada 5 minutos. Usaremos crontab por esta. No seu Raspberry Pi, execute:

[código-fonte] crontab -e [/ código-fonte]

Na parte inferior do arquivo, adicione a seguinte linha:

[código-fonte] * / 5 * * * * /home/pi/raspi_email/raspi_runner.sh> / dev / null 2> & 1 [/ código-fonte]

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

Uso

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

Após a quantidade de atraso definida no seu crontab, a raspi_runner.sh irá executar e executar o comando contido no seu email.

CONSULTE TAMBÉM: Como configurar e começar a usar o Raspberry Pi 3 (Guia de iniciação)

Executar comandos remotamente no seu Raspberry Pi usando o IFTTT

É assim que você pode usar o IFTTT, o Dropbox e alguma mágica da linha de comando para executar comandos remotamente no seu Raspberry Pi. Obviamente, como mencionado no começo, esse método também funcionará com qualquer sistema Linux ou Unix com o shell Bash instalado.

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




Ainda sem comentários

Guias de compra de gadgets, tecnologias importantes
Publicamos guias detalhados para a compra de equipamentos, criamos listas interessantes dos melhores produtos do mercado, cobrimos notícias do mundo da tecnologia