公開日:2024/10/05
title.png

32nd Season


#32-1 Unit CAMを買ってみた(之二)

 Unit CAMと言うWiFiカメラモジュールを購入して見ました。
 M5StickC Plus等を開発したM5STACK社の製品と言う事で、M5StickC Plus等とも親和性が高いのかと期待して購入してみたのですが、結果、大失敗でした。マイコンボードM5Stack用には、UIFlowの追加APIが用意されていて制御できるのですが、M5StickC Plusでは、この追加APIが選択できなくなっています。

 何なん?この嫌がらせ?

 そんな、「これぢゃない」Unit CAMを、何とかWiFiカメラモジュールとして使って見ようと奮闘するテーマの二回目、完結編です。前回記事はこちらから。

Camera Tools

 Windows PCでUnit CAMのカメラ画像をハンドリングするソフトウェア(Camera Tools)が、公式HPからダウンロード可能です。

 「公式HP ⇒ Camera-Tool(製品写真のすぐ下)」をクリックすると、Camera Toolsのダウンロードリンクがありますので、これをダウンロードしてください。

 ただし、圧縮形式はRAR形式でした。RAR形式は、中々無償のソフトウェアが見つからず、いつも難儀するファイル形式なのです。今回、コマンドライン実行タイプのフリーウェアを見つけましたので、それを使います。


  RAR解凍:【 】内は、Cygwinシェルウインドウからの実行コマンド
  【UnRAR x cameraToolsV1.5.rar】
  UNRAR 7.01 x64 freeware Copyright (c) 1993-2024 Alexander Roshal
  Extracting from cameraToolsV1.5.rar
  Creating exe OK
    :
    : (中略)
    :
  Extracting exe\translations\qt_uk.qm OK
  Creating exe\image OK
  All OK

 RARなんてマイナな形式で圧縮する事は、まず、無いので、解凍だけ出来たら沢山です。それより、ZIP形式🤐とか、もっとメジャなファイル形式で配布してくれよ、って感じがします。意地悪ですね。

Unit CAMの準備

 Camera Toolsは、Unit CAMのGroveポートに引き出されたUART端子(RX,TX)から制御します。

※Unit CAMには、ファームウェア書き込み用のUART端子と合わせて2組のUART端子があるので、間違わないように。

 FTDI等のUSB⇔UART変換モジュールをRX,TXと接続したいのだけど、Groveソケット(下図)はピンピッチが2mmのため、よく使う2.54mmピッチより間隔が狭く、通常のデュポンケーブル等でのコンタクトは出来ません。

a321_grbsock.jpg


 本ページでは、以下図の様な万能基板を用いて、Groveケーブル(2mmピッチ)から通常のピンソケット(2.54mmピッチ)にピッチ変換して、信号線を引き出しました。

a321_univbd.jpg

 上の写真だと普通の万能基板にしか見えず、解らないと思いますが、上図は、ただの万能基板ではありません。

 このピッチ変換基板を使い、Groveコネクタと、通常のピンソケットをはんだ付けして配線を繋ぎ、Groveポートからジャンパ線を引き出せる様な治具を作りました。

※蛇足ですが、狭い方が2mmピッチな為か穴径が小さく、通常のピンヘッダは太すぎて挿さりませんでした。ピンソケットの脚はピンヘッダよりも細いため、挿さりました。

 では最後の仕上げです。Unit CAMへGroveケーブル(下図)を接続して、Groveポートの信号線を2.54mmピッチのピンソケットへ変換して行きましょう。

a321_grbcbl.jpg

 本節で使用した部品は、前回購入しておいた物です。


 下図が、Unit CAM → Groveケーブル → ピッチ変換治具と、接続した様子です。

a321_ucamjig.jpg

 写真では、WiFiカメラモジュールとして扱い易くなる様、適切な位置にピンソケットをはんだ付けして、Unit CAMの居場所も作っておきました。万能基板に、はんだ付けしたGroveコネクタの近くに設置したピンソケットへUSB⇔UART変換モジュールを接続すると、WiFiカメラモジュールとして機能させることができます。
 尚、タクトスイッチは、EN端子をGNDに落としてハードウェアリセットをかけるための装置(オプション)です。

※一旦シリアル接続して、Unit CAMをWiFiモードに設定しておくと、以降、USB⇔UART変換モジュールは不要となり、電源(5V,GND)だけ接続しておくと、WiFiカメラモジュールとして機能させることができます。

Camera Toolsを使って見よう

 UnRARで解凍したディレクトリの中に、「cameraTools.exe」が見つかるので、これを実行すると、以下の様なウインドウが開きます。

a321_camtool.png

 このツール、色々とバグバグ(バグだらけ)なので、注意してください。

 その他、このソフトウェアなのか、Unit CAMのファームウェアも含めてなのか、このシステムは兎に角バグバグ(バグだらけ)です。色々いじっている内に挙動が怪しくなって、今までできていた設定変更が反映され無くなったり、画像が受信できなくなったり、散々なのです。
 Unit CAMのEN端子をGNDに落とすとリセットがかかるので、Unit CAMをリセットしたり、Camera Toolsの方を一旦閉じて、再度開き直す等していると、回復する場合があります。

WiFiモード

 さてさて、USB⇔UART変換してPCへ接続して使うだけだと、ただのUSBカメラなので嬉しくありません。USBカメラなら、もっと安くて使い易いものがあるでしょうから。
 やはりここは、WiFiモードでインターネット経由の画像データ送受信できる事が期待です。WiFiモードであれば、PCやUSBケーブル長などから解き放たれて、離れた場所に設置することも可能です。何しろ、電源(+5V,GND)さえ供給できれば機能するため、電池やバッテリなどからの給電も可能です。

 ただし、Camera Toolsの所で記載した通り、Unit CAMがアクセスポイントに接続した上でIPアドレスが割り振られている必要があります。ホームネットワークなど、Unit CAMとPCが同じアクセスポイントに接続し、Unit CAMに割り振られたIPアドレス(例えば、ローカルネットワークアドレス192.168.0.xxx)が判る場合には問題なく使用可能です。
 一方、Unit CAMが遠く離れた、例えば、地球の裏側に設置されている場合、Unit CAMのインターネットIPアドレスが割り振られていないと、接続できないのは欠点と言えるでしょう。


 更に、Unit CAMをWiFiモードで接続すると、画面にノイズが乗ります(下図)。

a321_wifinoise.jpg

 元々の画質が粗いので判り難いのですが、左がシリアル接続モード、右がWiFiモードで、緑色の背景を撮影した画像です。

 WiFiモードの方には、横方向の線状ノイズが乗っている事が確認できます。あらあら、多分、ESP32がWiFi通信するための2.4GHz帯電波がノイズ源となって、カメラモジュール(OV2640)のAD変換器など、ノイズに敏感な回路に悪さしてノイズが乗るのだと推測できます。
 上図の様に、同じラインにずっとノイズが乗り続けるわけではなくて、フレーム毎にランダムなノイズが乗ります。慣れとは恐ろしいもので、見慣れてしまうと、ノイズが乗っていることを忘れてしまう瞬間もあるので、高画質な静止画を撮影しようとする時以外は気にならないかもしれません。

 まあ、仕方ないですね。シリアル接続で使えばノイズは乗りませんが、WiFiカメラシステムとして使う場合は、このノイズを許容して使うしかありません。

WiFiカメラシステムとしてはどう?

 WiFi接続できる場所にUnit CAMを設置して、電源(+5V,GND)だけ供給しておくと、WiFiカメラシステムが完成します。ただね、やっぱり、バグバグなシステムなのが災いしているのか、エクスキューズ無しって訳には行かないのですよ……。

 全く、「ごみ箱行き寸前」です。完全なる中華品質。
 M5STACK社、やればもう少し「できる子」だと思うのだけど……。このまま中華品質に呑み込まれて沈む様なら、それまでと言う事になります。本質的に「そういう子」達なんだって事になりますね。

実験の合わせ鏡

 最後に、Unit CAMの画像を受信したCamera Toolsのウインドウを、液晶ディスプレイ越しにUnit CAM自体で撮影して、合わせ鏡を作ってみました。

a321_expr.jpg

 Groveポートのピッチ変換基板に装着したUnit CAMをスマホホルダでミニ三脚に固定し、Camera Toolsを起動したPCの液晶ディスプレイに向けている様子です。既に合わせ鏡に成りかけている様子が解ると思います。
 Groveのピッチ変換基板にUnit CAMの居場所を作っておいたことで、上図の様にスマホホルダなどを使って三脚に固定することもできる様になりました。一石二鳥でした。

 実験の様子を動画にしてみましたので、以下ご覧ください。



 VGAサイズ(640×480[ドット])の解像度だと、だいたい6〜10FPS(Frames Per Second)くらいなので、上に示した動画程のタイムラグが出ます。と、言う事をご覧いただきたくて作成した動画です。多少のタイムラグは有れども、「ほぼ」リアルタイムで遠隔地の様子を確認できたら、WiFiカメラシステムとしての価値は、あると言えます。

推奨しない

 Unit CAMだけで、WiFiカメラシステムを構築できると思って購入しました。
 購入後、M5StickC Plus+UIFlowで使えなかったとか、色々と想定していなかった事実が判明しましたが、Camera ToolsというソフトウェアとPCの組み合わせで、何とか、WiFiカメラシステムとしての機能は果たせると判りました。しかし、システムはバグだらけだし、Camera ToolsはRAR形式と言うマイナなファイル形式で配布される、イヂワル。
 おまけに、UARTからの制御コマンド仕様などが公開されていないみたいです。つまり、Camera Tools以外のソフトウェアでは、制御不能です。
 とても万人に推奨できるような水準を満たしていません。これが結論。


 全くもって中華らしい中華製の、「ごみ箱行き寸前」物件でした。安くて、つい買いたくなってしまうのですけどね……。「安物買いの銭失い」になりかねないので、他の選択肢を探すことを強く推奨致します。


btn_arduino.png

btn_prev.png btn_next.png

home