1

ウェブからロボットを制御したいのですが、ロボットはAndroidデバイスに接続されています。操作は次のようになります。

  • JavaScriptとHTMLを使用して作成されたWebアプリケーションは、ユーザーからキーボード入力を受け取り、ロボットに接続されたAndroidデバイスに送信するデスクトップコンピューターで実行されます。

  • Androidデバイスはコマンドを受信し、ロボットの制御に使用されていたArduinoボードに送信します。

しかし、静的IPアドレスを持たないAndroidデバイスにデータを配信するにはどうすればよいですか?

私はそれを解決するために2つのアプローチがあります:

  1. JavaScriptアプリケーションはキーボード入力をWebサーバーに送信し、PHPとMySQLを実行します。その後、phpアプリケーションはデータをMySQLデータベースに保存します。アプリケーションは、そのWebサーバーに接続されたAndroidで実行され、MySQLデータベースからデータを抽出します。

  2. JavaScriptはデータをWebサーバーに送信します。Webサーバーに接続されたAndroidアプリケーションはデータを直接受信するため、Webサーバーはリレーとしてのみ使用されます。

最初のアプローチは簡単ですが遅いので、私の質問は...

2番目のアプローチを実装する方法と、それを実装するためにどのWebテクノロジーを使用する必要がありますか?そして、Webサーバーを2つのサイド間のリレーとして機能させる方法は?

PS:私は000webhost.comをWebサーバーとして使用することを計画しています。だから私は自分のサーバーを使いません

4

1 に答える 1

1

AndroidアプリケーションでWebサーバーをポーリングして未処理のコマンドを探すことができます。これはデータ使用量の点では少し非効率的ですが、無制限の3Gプラン/ Wi-Fiを使用している場合は、それを使用できます。実装は非常に簡単です。

または、サーバーにTCPサーバーをセットアップし、Androidアプリケーションにサーバーとのソケット接続を開かせます。このようにして、Webアプリケーションはサーバーにコマンドを送信できます。サーバーはコマンドをすぐにAndroidデバイスにストリーミングします。実装は少し難しくなりますが、正しく実行すれば、より効率的で堅牢になります。

PS-ほとんどの共有サーバーでは、ホスト上でTCPサーバーを開くことができないため、最初のオプションを使用せざるを得ない場合があります。

PPS-私はGoogleCloudMessagingを知りませんでした。それはあなたが達成しようとしていることにとってあなたにとって良い解決策のようです。あなたはそれを調べる必要があります。

于 2012-10-10T16:22:45.697 に答える