2

カメラモジュールを Arduino Mega に接続し、Mega を Android フォンに ( Bluetoothなどを介して) 接続し、カメラのライブビューを携帯電話に送信しようとしています。

静止画像についてこれを示したビデオをオンラインで見ました-Arduinoのカメラモジュールによってキャプチャされた画像がAndroidに送信され、出力画像が数秒後に表示されました(Bluetoothで画像を送信する時間)。

これは、画像ではなくライブ ビデオで実行できますか? はいの場合、どのように?いいえの場合、いくつかの回避策はありますか?

4

3 に答える 3

4

ライブ ビデオはできないと思います。Arduino のシリアル帯域幅はあまり高くありません。毎秒 115200 ビットで最大になります。1 秒あたりのバイト数を取得するには、10 (通常は 8 + 2 ビットのオーバーヘッド) で割ると、1 秒あたり 11.5 キロバイトになります。

640×480の映像の1フレームは、640×480×3(RGBの色成分ごとに1バイト)で、ざっくり1000キロバイト程度です。JPEGカメラはM-JPEGを使用し、約 20:1 の圧縮率が得られるため (ウィキペディアの記事を参照)、約 1000K / 20 = 50K に圧縮される可能性があります。したがって、カメラは毎秒 11.5 キロバイトで 50K を送信する必要があるため、1 フレームを送信するのに少なくとも 4 秒かかります。次に、それをBluetooth 経由で送信する必要がありますまたはその他のシリアル通信で、少なくともさらに 4 秒かかるため、合計で 8 秒かかります。これを並行して高速化して合計 4 秒にできるかもしれませんが、Mega チップは 16 MHz でしか動作しないため、高度に理想化された世界では毎秒 16 キロバイトしか処理できません。

ビデオでは、画像がカメラから電話に届くまでに約 10 秒かかるように見えますが、これは 8 秒の見積もりとかなりよく一致しています。

小さい画像を試すことができます-たとえば、320 x 240 でグレースケールを使用できます (カメラがそれを実行できる場合)。これにより、バイト数が 12 分の 1 に減少するため、1 秒あたり 1.5 フレームが得られる可能性があります。

おそらく、より良い解決策は、1 GHz プロセッサを搭載したRaspberry Piと、115200 ビット/秒よりも 1000 倍以上高速なUSB 2.0最高速度 280 メガビット/秒を使用することです。

于 2013-02-15T19:22:10.683 に答える
2

不可能です。私の例を試すことができます。Bluetooth 4.0 経由で 320x240 の画像を A​​ndroid スマートフォンに送信するには、15 秒かかります。 http://privateblog.by/peredacha-kartinki-s-ov7670-cherez-arduino-uno-na-android-telefon/

于 2016-01-30T16:07:39.727 に答える
0

これが私の問題を解決する方法です。古い山火事にIP Webcamをインストールし、nexus4からwifiホットスポットを設定し、山火事からそれに接続し、山火事のIPを取得してnexus4のWebビューアに入れました。

于 2013-03-22T11:50:17.557 に答える