ブラウザ制御マシン





ハブには、WiFiを介して制御され、車内にWebカメラが搭載された車に関する記事がすでにいくつかありました。



ここに1つの記事があります:「 カメラ付きの無線制御Wi-Fiマシン 」そして、トピックに関する別の記事があります:「 インターネット経由で制御されるタランチュラのレース



そのような車を作成する新しい(?)方法を提供したいと思います。



この問題を解決するには、コマンドをマシンに送信するためのチャネルを決定し、ブラウザからマシンからクライアントにビデオを送信するためのチャネルを検討する必要があります。



Androidフォンをマシンの頭脳として使用するというアイデアを思いつくまで、さまざまなオプションを考えました。



このソリューションにはすぐに多くの利点があります。電話にはカメラがあり、おそらくそこから放送を整理できます。 繰り返しになりますが、WiFiがあります-コマンドの転送を整理できます。 そして、重量は小さいです...



もちろん、他の多くの問題がすぐに発生します-電話をプログラムする方法と、電話にモーターを接続する方法。



電話を外の世界に接続するために、私はそのオーディオジャックを使用しました。 1000Hz、1200Hz、1400Hzの異なる周波数の正弦波波形を含むいくつかの短いWAVオーディオファイル...適切なタイミングでの再生がコマンドです。







火星ローバーボードをオーディオコネクタに接続しました(ハブに関するいくつかの記事がありました)。 これは、アルテラのFPGAを実験するための初心者向けのボードです。 もちろん、FPGAにはオーディオをデジタル化するためのADCはありませんが、必要ありません。 入力音声信号が存在する場合、プリシナの入力要素が特定のしきい値で切り替わるだけで十分です。 作ることに成功した 。 その後、アルテラのQuartus II環境でFPGAのプロジェクトを作成しました。このプロジェクトでは、入力信号の周波数を測定し、コマンドとして解釈します。







最初は、さまざまなLEDを点灯して、電話でさまざまなサウンドファイルを再生しました。 そのため、アイデアが機能することを確認してください。 次に、モーターをボードに接続しました。



私は電話のプログラミングの経験がなかったので、インターネットでたくさん読んだり検索したりしなければなりませんでした。 その結果、Pythonを停止しました。ほとんどの電話で小さなスクリプトを記述して、すぐに実行できることがわかりました。 これを行うには、電話にSL4A(Androidのスクリプトレイヤー)をインストールし、実際にPython自体をサポートする必要があります。 これについての詳細を読むことができるサイト-http://code.google.com/p/android-scripting/また、ダウンロードセクションでSL4Aをダウンロードすることもできます。 APIの説明と例があります。



電話用のPythonスクリプトの例を調べてみると、すべてがうまくいくはずだということに気付きました。手にかなり強力なツールがあったからです。



簡単な例を挙げます。 電話でビデオストリームのブロードキャストを開始するには、電話でSL4Aを使用して次のような簡単なスクリプトを実行する必要があります。



import android droid = android.Android() droid.wakeLockAcquireBright() droid.webcamStart(0,10,9091) droid.webcamAdjustQuality(0,10)
      
      







その後、ポート9091でブラウザを使用して電話に接続できます。確かに、Firefoxには問題がありましたが、Chromeは十分に表示されます。 もう1つの秘isは、より高速なビデオとより高速な電話が必要なことです。 私は非常に高速なHTC Wildfire Sを持っていないため、ビデオの速度が低下することがありました。



さらに実験して、私は「ウェブサーバー」を電話で直接起動することが正しいと判断しました。 サーバーはPythonスクリプトとしても実装されます。 サーバーは、HTMLフレームの形式でページを提供します。1つのビデオフレームと、ボタン「Start」、「Stop」、「Left」、「Right」、「Back」を含む別のHTML FORM。 ボタンをクリックすると、クライアントブラウザーは、HTTP-GET要求を電話で実行されているサーバーに送信します。 サーバーはGET要求を解釈し、目的のサウンドファイルを再生します。 ボードは音声信号の周波数を認識し、モーターをオンまたはオフにします。 そのようなもの。



各モジュールを個別にテストした後、「システム」全体を組み立てて試すことができます。これは、火星探査車搭載の追跡車両とAndroid OS搭載の携帯電話です。







ビデオデモは次のとおりです。







もちろん、すべてのプロジェクトソースは公開されており、 ここから入手できます



All Articles