長距離(インターネット経由)のAndroidデバイスからRaspberry-piに接続する必要があります。
私の目標は、インターネットとAndroidアプリを使用してリモートの場所からコントローラ回路を切り替えることです。
この場合、N本の回線とN台のユーザーモバイルデバイスがあります。各トラックには専用のAndroidモバイルアプリがあります。
Androidアプリケーションからコントローラ回路にコマンドを渡し、回路がAndroidアプリケーションにフィードバックを渡すにはプロトコルが必要です。私はPythonを使ってサーバースクリプトを書いています。
AndroidアプリとRPIは同じネットワークにないため、直接通信できません。たとえば、Subhankarがデリにホームオートメーションシステムを持っていて、今ロンドンにいるので、毎日リモコンで「ウォーターポンプ」を起動して停止する必要があるとします。この場合、Subhankarには「Androidアプリ」があり、彼のホームオートメーションシステムには「Raspberry pi」があります。
この目標を最もよく達成する通信プロトコルは何ですか?
答え1
Piが毎日ポンプの電源を入れたり切ったりする場合は、簡単なタイマーを使用することをお勧めします。 Piは、必要に応じてこれを行うようにプログラムできます。
それでもリモートに切り替えることにした場合は、次の点を考慮してくださいssh
。
SSH
ssh
これはリモートシェルセッションに主に使用されるセキュリティプロトコルですが、すべてのプロトコルをホストするために使用できます。
たとえば、githubとbitbucketはそれを使ってgit、subversion、およびmercurialをホストします。また、X11 をトンネリングしたり、コンピュータ間でポートを転送したりすることもできます。これにより、私がまったく知らないアプリケーションで使用できます。
ssh
各クライアントに対して接続が作成されるため、その接続を介してクライアントを識別できます。
安全でないTCP通信を調べて、SSHと組み合わせてセキュリティを維持することもできます。ポイントは、メッセージが何であるかssh
、それを安全にするかについてです。
答え2
ついに私は私の問題に対する解決策を得ました。
興味深いプロトコル「MQTT」があります。お客様とお客様のコミュニケーションに最適な選択です。
私の投稿に大切な関心をお寄せいただきありがとうございます。