2017-09-11 7 views
-1

GPIOピンを使ってモーターを制御するためのスクリプトを実行するために、私は自分のAndroid phoneから私のPi 3に信号を送信する必要がある不器用なホーム・オートメーションをやろうとしています。
私が困惑しているのは、AndroidとPiを接続する最善の方法です。ラズベリー・パイとアンドロイドのインターフェース

私は非常に多くのものを読んできました。それは圧倒的なものでした。

これまでのところ私はアプリでJschを使ってPiにsshしてコマンドを実行することに傾いていますが、これは愚かであると言われています。

なぜこれが悪い考えであり、より良いものを私に説明するのですか?理想的には、電話アプリはローカルネットワークと他のネットワークの両方に接続できるようになります。

答えて

0

SSHでは何も問題はありませんが、一般的に人々はAndroid上でPi plus HTTPリクエストでWebサーバーを使用します。または、rawソケット接続を介して独自のプロトコルを実行することもできます。

SSHキーを使用すると、SSHコマンドがより安全になる可能性があります。

それ以外の場合は、どちらの方法をあなたのインターネットのトラフィックにスヌーピング誰にもあなたのコマンドを暴露するだろう、とランダムな人々があなたのデバイス

を制御され、あなたが家に内部と外部の両方にアクセスしたい場合は、あなたが行うことができますあなたのルーターを転送することができるかどうかを調べるためのより多くの調査

0

HTTPを使用する利点は、潜在的に独自のユーザーインターフェイスを作成することです。つまり、PiのインターフェースがWebサーバーであれば、AndroidデバイスにHTML/JavaScriptインターフェースを提供して、Androidアプリを作成する必要性を避けることができます。ユーザーはブラウザが必要です。ユーザーインターフェイス全体はPiから管理されます。

私は、このアプローチをPiのフェアビットのモータ制御に使用しました。 Piでは、libmicrohttpd Webサーバーエンジンを組み込んだCプログラムを使用します。このプログラムでは、通常のHTMLページを使用してブラウザにユーザーインターフェイスを作成したり、ユーザーがボタンをクリックしたり、スライダなどを操作した結果、特定のHTTP GET要求に応答することができます。 HTTPリクエストを通常のHTTPリクエスト/レスポンスの流れの外側に置くJavaScript関数を送信することで、(例えば、Piからセンサ値を表示するなど)動的に更新するブラウザ表示を行うことができます。

また、SSL認証とHTTP認証を使用して何らかのセキュリティを提供するのは簡単です。私はCが好きですが、Piで動作するPython用のWebサーバライブラリもあります。思考の私の方法、それはあなたががHTML/JavaScriptで実装することができないというアンドロイドのユーザーインターフェイスを必要とするとき、これはより複雑なものを検討する価値がある唯一の時間に

私はあなたが望むことを行うためのさまざまな方法があると確信しています。私はPiの仕事の大半を好んでいます。なぜなら、私はAndroidアプリを深く諦めずに書いているからです。その一方で、あなたがAndroid向けに開発したいと思っていて、たくさんの経験をしているなら、あなたが提案したアプローチ、すなわちPi over SSHへのコマンドの送信は完全にうまくいくかもしれません。それは単にAndroidで仕事の大部分を行うことを意味するでしょう。

0

はい、sshは愚かな解決策です。私はあなたのPIでそれをホストし、あなたのAndroidアプリからそれを呼び出す残りのAPIのWebサービスを開発することをお勧めします

関連する問題