M5Camera00

M5Camera をレビューしてみた。分解したり、Arduino IDE でスマホに映したりする実験

記事公開日:2019年3月9日


スポンサーリンク

M5Camera をザッと分解してみる

ある程度 Web に情報はあるのですが、こんなコンパクトなものはどうやって基板を構成しているのか知りたいので、やっぱり分解しちゃいました。
パッと見た目は、あまりにもネジが少ないので、ボディが接着剤で固定してあるのかと思いましたが、六角レンチでネジ2本を外してみると、意外と外せそうな予感がしたので、思い切って分解してみました。
※ただしちょっとでも無理をすると破損しますので、自己責任で分解して下さい。
当方では一切責任を負いません。)

まず、下図の様に 1.5mm の六角レンチでネジを2本外します。

m5camera20.jpg


次がドキドキだったのですが、下図の様に精密のマイナスドライバーで徐々にこじ開けるようにやっていくと、最終的にふとした拍子でパカッと空きます。
ここはくれぐれも慎重に!

m5camera21.jpg


すると、下図の様になっていて、ケースのはめ込み具合が分かると思います。
よく考えられていますね。

m5camera22.jpg


LEGO のアームを外すには、基本的に引っ張れば外れますが、破損しそうな予感がしたので、私は下図のようにマイナスドライバーで狭めながら引っこ抜きました。

m5camera23.jpg


引っこ抜いた LEGO のアーム側はこんな感じです。

m5camera24.jpg


次に、下図のように、コネクタ側の基板の端を精密マイナスドライバーで慎重に浮かせていくと、段々と基板が外れていきます。

m5camera25.jpg


こんな感じで今回は無事、破損も無く外すことができました。

m5camera26.jpg


下図の様にカメラはフラットケーブルだけで接続されていて、基板からは浮いていました。両面テープとかでさえも固定されていませんでした。
ですからケースが外し易かったです。

m5camera29.jpg


こちら側の面は ESP32 WROVER で埋め尽くされています。
スペースを効率よく使っている感じです。

m5camera27.jpg


技適マークは ESP32 WROVER には付いていませんね。
でも、M5Camere のケースシールに付いているので問題ありません。

今回は虫眼鏡で見ても、ICチップパーツは何を使っているのか良く分かりませんでした。

そして、裏側はこんな感じです。

m5camera28.jpg


今回は USB シリアルの定番チップ CP2104 と、カメラの OV2640 以外のパーツは良く分かりませんでした。
詳しくは M5Stack の GitHub ページに回路図があるので、そちらを参考にしてみて下さい。

https://github.com/m5stack/M5-Schematic/tree/master/Units/m5camera/schematic

とにかく、ギリギリの基板スペースを効率よく使っているように見受けられ、M5Stack社の努力が見て分かりますね。
自分もこういうものを作れるようになりたいと思ってしまいました。
とにかくスバラシイ!!!

M5Camera をクイックスタートで使ってみる

では、M5Camera をクイックスタートで使ってみます。
下図の様に、同梱されている取説にクイックスタートが書いてあるので、それを見ながら進めていきます。

m5camera08.jpg


クイックスタートは Wi-Fi ルーター不要です。
M5Camera 自身が Wi-Fi ルーターになっています。

まず、USB 電源を接続すると、下図の様に赤色の LED が点灯します。

m5camera09.jpg


しばらくすると、スマホの Wi-Fi アクセスポイント一覧に「M5Cam」が現れてくるので、それを選択して、Google Chrome などのブラウザで、

http://192.168.4.1

と入力します。
http:// を入れないと、ブラウザによっては、https でアクセスしてしまい、接続できませんので注意してください。
以下の動画のように表示されればOKです。

どうでしょうか?
動画の 02:18 あたりでフリーズしている様子が分かると思います。
でも、M5Camera のリセットボタンを押せばすぐ復帰します。

さすがに ESP32 WROVER の soft AP モードでは市販のルーターに比べて能力が劣るので、通信速度が遅いですね。
動画の途中で、タッチペンを振っていますが、映像の追従性もあまりよくありませんね。
でも、それなりに表示できているので、実用性は十分あると思います。

消費電流値も 140mA ~ 170mA というところで、ESP32 を普通に Wi-Fi 通信している時とそれほど変わりありませんでした。
でも、長時間使うと結構熱くなり、排熱が心配なので、短時間に済ませておいた方が良いですね。

では、次では M5Camera を Arduino IDE のサンプルスケッチを使って、STAモードで高速ストリーミングさせてみます。


スポンサーリンク


「M5Camera をレビューしてみた。分解したり、Arduino IDE でスマホに映したりする実験」への11件のフィードバック

  1. camera init failed with error 0x20001 となって、IPアドレスが出ません。何か対処法をお教え願いませんでしょうか?

    1. akai さん

      記事をご覧いただき、ありがとうございます。

      まず、お聞きしたいのは、どのような環境でコンパイルされましたでしょうか?
      この記事では、古いバージョンを紹介していますが、
      私は、最新バージョン
      Arduino IDE 1.8.9
      Arduino core for the ESP32 stable 1.0.2
      でも動作OKでした。

  2. バージョンは、Arduino1.8.9です、コンパイルは、できていて、シリアルモニターを見ながらカメラのリセットボタンを押したら、WiHiコネクトの前まではこの記事と同じなのですが、そのあとが、上記レポート文のようになりIPアドレスが出てきません。しかし2回ほどIPアドレスが出たことがありましたが、映像を見る前にWiHiが切れました。そのあとは、camera init failed with error 0x20001が出るだけです。電圧が不安定なのでしょうか?
    エラーの意味が分からずお便りさせていただきました。よろしくご教示願います。

  3. esp32 byEspressf system のことでしょうか? 102となっています。それと、シリアルモニターですが、一部ですが映してみました。
    entry 0x400806a8
    E camera.c:1249 camera probe(): detected camera not supported.
    E camera.c:1249 esp_camera_init(): camera probe failed with error 0x20004
    となっています。

    1. akaiさん

      ありがとうございます。
      それですね。
      esp32 by Espressf system は別名 Arduino core for the ESP32 です。
      そのバージョンが大切です。
      まともに動かないバージョンがあるので要注意です。
      1.0.2 ということですね。
      それと、そのエラーメッセージを送って頂きありがとうございます。
      その情報が無いと、私も原因は全く分かりませんので。

      さて、そのエラーメッセージから、M5camera のマイコン ESP32-WROVER とカメラモジュールOV2640との通信ができていないようです。

      実は、今、気付いたのですが、Arduino core for the ESP32 が stable 1.0.1 と 1.0.2 では、「スケッチ例」にあるサンプルスケッチの構成が変わっていました。
      ですから、1.0.2用にスケッチを描き替えねばなりません。

      まず、メインスケッチのタブの10行目をコメントアウトし、12行目のコメント記号を削除して、
      #define CAMERA_MODEL_M5STACK_PSRAM
      とします。
      そして、18-19行目のSSIDとパスワードをご自分のルーターに合わせて書き換えます。
      そして、そのスケッチのcamera_pins.hタブを開き、44行目を
      #define SIOD_GPIO_NUM 22
      とし、そして55行目を
      #define VSYNC_GPIO_NUM 25
      と変更してください。
      その後、コンパイル書き込み実行してみてください。

      あるいは、この記事に載せてあるコードをコピペして、メインスケッチのタブを書き換えて、SSIDとパスワードを書き換えても動作すると思います。

  4. まずもって、早速の対応ありがとうございます。stable 1.0.2版をご用意いただき大変感謝しております。しかしながらエラーが次のようになっています。
    E camera.c:1049 camera_probe():Detected camera not supported. E camera.c:1249 esp_camera_init(): camera probe failed with error 0x20004
    また、自分なりに最初の#defineをそれぞれ入れ替えて試しましたが、結果は同じでした。それと気になる事が2つあります。
    1つは、私の5Mは、アマゾンにある中華番であること。2つ目は、ケーブルをジョイントで変換して使っていることです。
    この2つがこれらのエラーに影響しているのではと危惧しております。せっかくの10連休に御手間を取らせてしまって恐縮している次第です。因みにコンパイルは、できています。

    1. akaiさん

      なるほど。
      まず、M5Camera が M5Stack社のものでなければ、私にもちゃんと動作するかどうか分かりません。
      そもそも GPIO のピンアサインが全く異なると思います。

      それと、USBケーブルはジョイントしてあっても良いのですが、短く良質なケーブルを使うことです。
      安物のケーブルはおそらくエラーが出ると思います。
      それと、M5Stack社純正のM5Camera付属のType-Cケーブルは、Type-Cのコネクタの挿す方向が上下で異なっており、挿す方向を上下入れ換えるとコンパイルが通るということがあります。
      以上、私が言えることはここまでです。
      とりあえず、M5Stack社純正のM5Cameraに替えてみることですかね。
      そもそも、M5Stack社自体が中国メーカーです。
      ただ、M5CameraはAmazon Japanにはまだ販売されていなかったと思います。
      スイッチサイエンスさんから購入できます。

      1. いろいろお手数おかけしました。とても安く売ってあったのでつい購入しました。初期設定では簡単に映像が出ましたが、反転画像で車のバックカメラとしては使えそうなのですが、監視用としては反転しているのでプログラムの変更を試みた次第です。
        一度スイッチサイエンスさんのM5を購入しようと思います。
        いろいろと勉強になりましたありごとうございました。 akai

コメントを残す

メールアドレスが公開されることはありません。

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