推奨されます, 2024

エディターズチョイス

電子メールでラズベリーパイのコマンドを実行する方法

この問題は、ほぼすべてのRaspberry Piユーザーが直面しています。 あなたは自宅でRaspberry Piを実行していて、その上でコマンドを実行したいとします。 問題は、あなたはあなたの家の外、あなたのモバイルネットワーク上にいて、あなたのPiにアクセスする方法がないということです。 あなたはあなたのホームネットワークへのアクセスを可能にするために静的IPアドレスを得るか、または動的DNSサービスの1つを使うことができます。 しかし、それはほとんどの人にとってはあまりにも不便であり、ほとんど利益を得るためには多大な努力を要します。 さらに、SSHポートは現在世界に公開されているため、Raspberry Piはブルートフォース攻撃を受ける可能性があります。

良いニュースは、より便利で安全な方法があるということです - あなたがRaspberry Piで実行したいコマンドを単に電子メールで送ってください 。 このように、あなたが必要とするのはあなたのPiの上の電子メールクライアントと働くインターネット接続だけです。 ログインも静的IPもありません。 さらに、この方法はRaspberry Piだけでなく、BashシェルとcURLがインストールされているLinuxディストリビューションでも機能します。 かっこいいね? これを設定するために必要なものは次のとおりです。

必要条件

  • インターネットに接続しているラズベリーパイ。
  • IFTTT.comのアカウント。
  • Dropboxアカウント

入門

IFTTTレシピを設定する

電子メールで配信されたコマンドをDropboxに配布するためにIFTTTを使用します。 IFTTTアカウントを設定したら、「 ラズベリーパイで電子メールでbashコマンドを実行する」レシピを使用する必要があります 。 単に、このIFTTTレシピに行き、そしてAddをクリックしてください

Dropboxのアップローダを設定する

Dropboxからファイルをアップロード、ダウンロード、一覧表示、削除できるコマンドラインプログラム、 Dropbox Uploaderが必要です。 これを設定する方法は次のとおりです。

1. Raspberry Piで、前提ソフトウェアの cURLwgetを 入手します。 あなたはおそらくすでにこれらがインストールされていますが、万が一のためにインストールします。

[ソースコード] sudo apt install wget curl [/ sourcecode]

2.セットアップ先のフォルダを作成します 。 ここで、私は自分のホームフォルダにraspi_emailというディレクトリを作成しました。

[ソースコード] mkdir〜/ raspi_email
cd〜/ raspi_email [/ sourcecode]

3. GitHubからDropbox Uploaderスクリプトを入手し、 それに実行可能のマークを付けます

[ソースコード] wget //raw.githubusercontent.com/andreafabrizi/Dropbox-Uploader/master/dropbox_uploader.sh

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

4. dropbox_uploader.shスクリプトを実行します。 あなたはこのような出力を見るでしょう:

5.これで、Dropboxアプリ作成する必要があります 。 Dropboxにログインし、このURLに行くと、このような画面が表示されます。

6.上の図のように、まずDropbox APIを選択し、次に必要なアクセスの種類でFull Dropboxを選択します。 最後に、アプリに好きな名前を付けます。

7.新しいアプリが正常に作成されたら、 OAuth2セクションまでスクロールし、[ 生成 ]ボタンをクリックしてアクセストークンを生成します。 [ 生成 ]ボタンがあった場所に生成されたアクセストークンが表示されます。 このトークンをコピーして端末に貼り付け、 Enterキーを押します。

8. 自分のアカウントが機能していること確認するには、 ./dropbox_uploader.sh listコマンドを実行します - Dropboxアカウントのファイルのリストが表示されます。

ラスピランナーを設定する

ラズベリーパイのRaspi Runnerスクリプトを、 raspi_email作成したraspi_emailフォルダにダウンロードします。

[ソースコード] cd〜/ raspi_email

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

スクリプトを実行可能にして実行します。

[ソースコード] chmod + x ./raspi_runner.sh

./raspi_runner.sh[/sourcecode]

下の画像のようなプロンプトが表示されます。 スクリプトがあなたのDropboxアップローダへのフルパスを要求するとき、あなたのホームディレクトリへのパス (おそらく/home/pi/ )を入力し、その後にdropbox_uploader.shスクリプトをダウンロードしたフォルダ名前を入力してください 。 このガイドを単語/home/pi/raspi_emailここに/home/pi/raspi_emailと入力します。

クロンタブを設定する

基本が整ったら、 Raspi Runnerの実行スケジュールする必要があります。 たとえば、5分ごとにEメールをチェックするように設定できます。これにはcrontabを使用します。 ラズベリーパイで、実行します:

[ソースコード] crontab -e [/ sourcecode]

ファイルの下部に次の行を追加します。

[ソースコード] * / 5 * * * * /home/pi/raspi_email/raspi_runner.sh> / dev / null 2>&1 [/ sourcecode]

もちろん、上記の例では piをあなたのユーザ名に、そしてraspi_emailraspi_runner.shスクリプトを置いたフォルダに置き換えてください。今度はあなたのcrontabを保存してください。

使用法

IFTTTアカウントの設定に使用し 電子メールアドレス から、 Piで実行したいコマンドを含む電子メールを[電子メールで保護] 送信するだけです 。 電子メールの本文にはコマンドが含まれます。 電子メールには好きな件名を追加できますが、追加することをお勧めします。 次の例では、Raspberry Piにシャットダウンを指示しています。

crontabに設定した遅延時間の後、 raspi_runner.shが実行され、あなたのEメールに含まれているコマンドが実行されます。

IFTTTを使用してラズベリーパイでリモートでコマンドを実行する

それで、これはあなたがRaspberry Pi上でリモートでコマンドを実行するためにIFTTT、Dropbox、そしていくつかのコマンドラインマジックを使う方法です。 もちろん、冒頭で述べたように、この方法はBashシェルがインストールされているLinuxまたはUnix系システムでも動作します。

今後ももっとラズベリーパイのヒントやコツをお楽しみに。 あなたがそれをセットアップすることに問題を抱えているか、または私たちとあなた自身のクールなIFTTTトリックのいくつかを共有したいと思うなら、私たちに以下のコメントセクションの行を忘れないでください。

Top