UnitV で画像シリアル転送の味見 ーエッジAI活用への道 12ー

Home > IoT > UnitV で画像シリアル転送の味見 ーエッジAI活用への道 12ー
すき 0
うんこ 0

前回よりUnitV を使用したハイテク金魚水槽システムの実現に方向転換しているこの道。
今回はUnitV で撮影した画像をシリアルでM5StickC に転送して表示してみます。

 

構成

UnitVとM5StickCをUnitVに付属された4ピンコネクタケーブルでつなぐだけです。

 

動作

早速動作をご覧ください。

撮影画像(64×160)をUARTでM5StickCに送って表示しています。FPS 3ってところでしょうか。。

あとなんか色がおかしいです。おそらく転送や受信でおかしいことをしているのでしょう。。。俺のことだし

ではコード(間違い探し)をご覧ください。

UnitVコード(MaixPy IDE)

UnitVで撮影画像(64×160)をUART送信します。demo_uart.py とdemo_camera.pyを参考にコーディングしました。

転送ボーレートは921600にしました。

参考

M5StickCコード(Arduino IDE)

 64ピクセル × 160ピクセル × 2バイトの撮影画像を受信してLCDに表示します。

参考

 

おわりに

送受信コードのどこかに問題があるために色がおかしいですが、撮影画像のビットマップUART転送は現実的ではないことを実感として得ることができました。

次回は圧縮してWiFi転送なぞを試してみたいです。

ではまた

追記

色修正 (2020/1/17)

M5StickCのLCD表示の際に色がおかしかった原因がわかりました。

M5StickCコードの23行目で2バイトの色データ生成しているのですが、
ビットシフトの時に16ビットにキャストし忘れてました。。

 

無事に色が正常に表示されるようになりました。

色修正2 (2020/1/18)

ご指摘がありました。ありがとうございます!

その通りでした。単純に()するだけで改善しました。

 

ビットシフトより足し算の方が演算の優先順位が高い!

勉強になりました。

ボーレート変更 (2020/1/18)

転送ボーレートを921600 → 1152000 (1M)にしてみました。

少し早くなったかな。

あとUnitVの撮影画像をサイズ変更して出力すると左上に偏ります。。 sensor.set_framesize や sensor.set_windowing が中央でクロップしてくれないんです。。

なんだかなぁ 🙄 
 

参考

copy() (2020/1/18)

これでカメラ中央の絵を取り扱えるようになったが、VGA取り込んでいるので当然遅い。。。

次の記事

UnitV と M5StickC で動画ストリーミングを堪能 ーエッジAI活用への道 13ー

コメントはこちらから

メールアドレスが公開されることはありません。コメントのみでもOKです。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください