●M5Camera( ESP32搭載 )を試す
●カメラ系に興味がありますので ……… ESP32搭載の小型カメラユニットを、試めしてみることにしました。 プログラムの書き込みが可能ですので、興味深々です。 【 M5STACK-M5CAMERA M5Camera 】千石電商
*ESP32とイメージセンサ( OV2640 )が搭載されています。
・ ・ ・ ・ ・
●箱の中から、取り出しました。
( 内容物 ) ・M5 Camera 本体 ・タイプC USBケーブル
●本体の裏側です。… 工事設計認証番号 ( 211-180902 )
→ 「 B モデル 」 のようですね
・ ・ ・ ・ ・
●電源を入れて、起動させました。
→ 電源スイッチは装備していないので…USB接続しただけです。
・ ・ ●スマホ(iphoon )から ・ ・ アクセスポイント【 M5FishEyeCan 】に接続します。 ・
●【 M5FishEyeCan 】 SSIDを選択しました。
→ アクセスポイント 【 M5FishEyeCan 】 接続OKです。
●ブラウザからのアクセスです。 http://192.168.4.1/
→ 映像が … 左右反転の状態で、表示されています。
・ ・ ・ ・ ・
●現状のままで、使用した感想ですが … ・特別な操作なく使用できましたので、お手軽な商品ですが 使用中に … ケースを持つと、熱さを感じました。 映像系など、重たい処理の負荷度が高い感じがします。 ・この状態では … 設定変更ができないので、現状での使用となります。
・ ・ ●自分で、設定できるように … ・ ・ プログラミングして、試してみることにしました。 ・
●STAモード( ステーションモード )設定で … アクセスポイント機能を、組み込まないプログラム( スケッチ )を作ります。 @ 自宅ルータに接続する方法 A 【 Taka袋ネットワーク 】に接続する方法 B マルチキャスト DNS( mDNS )の方法 C 電池で、動かしてみよう
・ ・ ・ ・ ・
@ 自宅ルータに接続する方法
●自宅のルータを経由して、映像を表示させます。 ■アクセスポイント 自宅のルータで、設定しているSSID( 2.4G ) ■IPアドレス( M5Camera ) 自宅のルータで、固定割り当てしているもの ■Webブラウザより、アクセスする。
●接続概要
//************** Arduino(ESP32)スケッチ ****************** //●カメラ<M5Camera(Bモデル)>基本テスト@ プログラム // ・STAモード(ステーションモード:クライアント) // ESP32マイコン(ESP-WROOM-32): M5CAMERA-ST-01.ino //-------------------------------------------------------- //■IPアドレス ( http://192.168.3.8/ ) // Wi-Fiルータで固定割り振りしています。 //******************************************************** //●ライブラリ使用する ヘッダファイルのインクルード //******************************************************** #include <esp_camera.h>; // ESPカメラ #include <WiFi.h>; // wifi通信 //-------------------------------------------------------- // Select camera model #define CAMERA_MODEL_M5STACK_PSRAM #include "camera_pins.h"; // //********************************************************
Arduino IDEのスケッチ例(CameraWebServer)をベースにしました。
・ ・ ・ ・ ・
●ボード情報( 項目 )の設定です。
・ ●東京パラリンピックを、放送していましたので … ・ ・ テレビ画面に、カメラを向けてのテストです。 ・ ・ < スイッチ(ON) … 本体側面の【RESET】ボタンを押下する。>
●パソコン( Windows10 )から接続した状態です。
→ カメラで撮影したものが映像出力されています。… OKです。
●スマホ( iPhone )から接続した状態です。
→ カメラで撮影したものが映像出力されています。… OKです。
●2系統を、接続しましたが … 同時中継は、NGです。
→ リアル中継は、1系統のみ接続できるようです。
・ ・ 【 Toggle OV2640 Settings 】 ・ ・ ●初期状態の設定画面です。 ・
●最初の部分です。
●全体の項目です。
●主な設定項目 ( Toggle OV2640 Settings ) ・Resolution : 解像度 ・V-Flip : 上下反転 ・H-Mirror : 左右反転
●映像出力の操作です。
-------------------------------------------------------------------- ■操作ボタン @【 Get Still 】 ………… スチール写真(画像)を表示する。 A【 Start Stream 】 …… 映像のストリーミング再生を開始する。
・ ・ ・ ●色々な経路から、アクセスができそうです。 ・ ・
●ラズベリーパイ3からも、映像出力できましたので … OKです。 ちょうど、道下美里さんの金メダル獲得シーンが放送されていました。 【 東京パラリンピック 陸上女子マラソン(T12) 】 2021年9月5日
→ 選手のみなさんは、輝いていました。 … 感動ものです。
・ ・ ・ ・ ・
A 【 Taka袋ネットワーク 】に接続する方法
●Taka袋ネットワーク( TAKABUKURO ) 自作機器の … 独自な、単独iFi通信環境下で通信処理を行ないます。 ●自作機器( ESP02搭載 )を経由して、映像を表示させます。 ■アクセスポイント 自作機器で、設定している SSID( TAKABUKURO ) ■IPアドレス( M5Camera ) 【 M5Camera 】 の ' wiFi.config ' 設定で 静的に、IPアドレスを固定割り当てする。 ■Webブラウザより、アクセスする。
●接続概要
//************** Arduino(ESP32)スケッチ ****************** //●カメラ<M5Camera(Bモデル)>基本テストA プログラム // ・STAモード(ステーションモード:クライアント) // ESP32マイコン(ESP-WROOM-32): M5CAMERA-ST-02.ino //-------------------------------------------------------- //■接続元(当該クライアント) // 【M5Camera】 …… ステーションモード(クライアント) // ・IPアドレス ( http://192.168.4.2/ ) // アクセスポイントサーバ(ルータ)で自動割り当てしています。 //-------------------------------------------------------- //■接続先ルータ // 【ESP-WROOM-02】 …… アクセスポイントサーバ(ルータ) // ・アクセスポイント( SSID ): TAKABUKURO // ・Taka袋Webサーバー ( http://takabukuro.local/ ) // ドメイン「 .local 」 ホスト名「 takabukuro 」 // IPアドレス ( http://192.168.4.1/ ) *自動割り当て //-------------------------------------------------------- //******************************************************** //●ライブラリ使用する ヘッダファイルのインクルード //******************************************************** #include <esp_camera.h>; // ESPカメラ #include <WiFi.h>; // wifi通信 //-------------------------------------------------------- //■カメラモデル #define CAMERA_MODEL_M5STACK_PSRAM #include "camera_pins.h"; // カメラピン //********************************************************
・ ・ ・ ・ ・
B マルチキャスト DNS( mDNS )の方法
●Taka袋ネットワーク( TAKABUKURO ) 自作機器の … 独自な、単独iFi通信環境下で通信処理を行ないます。 ●自作機器( ESP02搭載 )を経由して、映像を表示させます。 ■アクセスポイント 自作機器で、設定している SSID( TAKABUKURO ) ■IPアドレス( M5Camera ) 【 M5Camera 】 の ' wiFi.config ' 設定で 静的に、IPアドレスを固定割り当てする。 ■Webブラウザより、アクセスする。 マルチキャストDNS設定により、ホスト名でもアクセスできる。
●接続概要
//************** Arduino(ESP32)スケッチ ****************** //●カメラ<M5Camera(Bモデル)>基本テストB プログラム // ・STAモード(ステーションモード:クライアント) // ESP32マイコン(ESP-WROOM-32): M5CAMERA-ST-03.ino //-------------------------------------------------------- //■接続元( カメラ<M5Camera> )--> SSID(TAKABUKURO)接続 // 【M5Camera】 …… ステーションモード(クライアント) // ・Webカメラサーバー ( http://camera.local/ ) // ドメイン「 .local 」 ホスト名「 camera 」 // IPアドレス ( http://192.168.4.9/ ) 固定 // ・<WiFi.config>で … 静的に、固定IPアドレスを指定する // ・ip(192, 168, 4, 9)……………固定IPアドレス // ・gateway(192,168, 4, 1) ……ゲートウェイアドレス // ・subnet(255, 255, 255, 0) …サブネットマスク // ・DNS(192, 168, 4, 9) …………DNSアドレス //-------------------------------------------------------- //■接続先ルータ( 自作基板<ESP02搭載> ) // 【ESP-WROOM-02】 …… アクセスポイントサーバ(ルータ) // ・アクセスポイント( SSID ): TAKABUKURO // ・Taka袋Webサーバー ( http://takabukuro.local/ ) // ドメイン「 .local 」 ホスト名「 takabukuro 」 // IPアドレス ( http://192.168.4.1/ ) *自動割り当て //-------------------------------------------------------- //******************************************************** //●ライブラリ使用する ヘッダファイルのインクルード //******************************************************** #include <WiFi.h>; // wifi通信 #include <WiFiClient.h>; // wifiクライアント #include <WebServer.h>; // webサーバー #include <ESPmDNS.h>; // マルチキャストDNS(mDNS) #include <WiFiUdp.h>; // WiFi UDP通信 #include <esp_camera.h>; // ESPカメラ //-------------------------------------------------------- //■カメラモデル #define CAMERA_MODEL_M5STACK_PSRAM #include "camera_pins.h"; // カメラピン //********************************************************
・ ・ ・ ●感想 … ・ ・
●各方法で、動かすことができました。 ・約1時間ほど、連続で稼働させましたが ケースからの発熱は、さほど高温にならない感じです。 ・表示反転の操作ができました。 ・パソコン( Windows10 )Arduino統合開発環境から スケッチ( プログラム )の書き込みなどができました。 ●組み込んだプログラムは ステーションモード設定で、自宅ルータや自作基板内の 指定アクセスポイントに接続してから Webサーバを立ち上げています。 ( クライアントからは ) ブラウザ経由のアクセスで、Webサーバに接続します。
●Taka袋ネットワーク(TAKABUKURO)環境で … 2つのWebサーバーを、動かすことができました。
→ ラズベリーパイ3からの操作もできましたので、感動ものです。
●各プラットホームで、Webブラウザから稼働できました。 ・パソコン ( Windows10 ) Google Chrome ( グーグル・クローム ) ・スマホ ( iphone ) Safari ( サファリ ) ・ラズベリーパイ3 Google Chrome ( グーグル・クローム ) ・ラズベリーパイ4 Chromium ( クロミウム )
・ ・ ・ ・ ・
C 電池で、動かしてみよう
●USB接続で電力供給していましたが、電池で動かしてみることにしました。
■本体の電極端子に、直付けして接続する方法もありますが … HY型の(オス)4ピンを、GROVEコネクタに接続して電力供給します。
●GROVE(4ピン)コネクタですが … このタイプは、初めてです。
・G : GND (-) ・V : 5V (+) ・G4 : GPIO4 ・G13 : GPIO13
●HY型の(オス)コネクタケーブルを接続します。
→ 3端子レギュレータ( 3.3V-0.5A )で安定供給します。
■自宅のルータを経由して、映像を表示させます。 ■アクセスポイント 自宅のルータで、設定しているSSID(2.4G) ■IPアドレス(M5Camera) 【 M5Camera 】の'wifi.config'設定で、静的に、IPアドレスを固定割り当てする。 ■Webブラウザより、アクセスする。 マルチキャストDNS設定により、ホスト名でもアクセスできる。
●接続概要
//************** Arduino(ESP32)スケッチ ****************** //●カメラ<M5Camera(Bモデル)>基本テストC プログラム // ・STAモード(ステーションモード:クライアント) // ESP32マイコン(ESP-WROOM-32): M5CAMERA-ST-04.ino //-------------------------------------------------------- //■接続元( カメラ<M5Camera> )--> SSID(000000EJI-2G)接続 // 【M5Camera】 …… ステーションモード(クライアント) // ・Webカメラサーバー ( http://camera.local/ ) // ドメイン「 .local 」 ホスト名「 camera 」 // IPアドレス ( http://192.168.3.90/ ) 固定 // ・<WiFi.config>で … 静的に、固定IPアドレスを指定する // ・ip(192, 168, 3, 90)……………固定IPアドレス // ・gateway(192,168, 3, 1) ……ゲートウェイアドレス // ・subnet(255, 255, 255, 0) …サブネットマスク // ・DNS(192, 168, 3, 1) …………DNSアドレス //-------------------------------------------------------- //■接続先(自宅ルータ)DHCPサーバ // ・アクセスポイント( SSID ): 000000EJI-2G // IPアドレス ( http://192.168.3.1/ ) *固定 //-------------------------------------------------------- //******************************************************** //●ライブラリ使用する ヘッダファイルのインクルード //******************************************************** #include <WiFi.h>; // wifi通信 #include <WiFiClient.h>; // wifiクライアント #include <WebServer.h>; // webサーバー #include <ESPmDNS.h>; // マルチキャストDNS(mDNS) #include <WiFiUdp.h>; // WiFi UDP通信 #include <esp_camera.h>; // ESPカメラ //-------------------------------------------------------- //■カメラモデル #define CAMERA_MODEL_M5STACK_PSRAM #include "camera_pins.h"; // カメラピン //********************************************************
●電池で動かしました。
→ OKです。
・ ●固定割り当てのIPアドレスではなく ・ ・ 自宅ルータで、動的に自動割り振りされた ・ ・ 可変IPアドレスを使用して、電池で動かしてみます。
●接続概要
//************** Arduino(ESP32)スケッチ ****************** //●カメラ<M5Camera(Bモデル)>基本テストC プログラム // ・STAモード(ステーションモード:クライアント) // ESP32マイコン(ESP-WROOM-32): M5CAMERA-ST-041.ino //-------------------------------------------------------- //■接続元( カメラ<M5Camera> )--> SSID(000000EJI-2G)接続 // 【M5Camera】 …… ステーションモード(クライアント) // ・Webカメラサーバー ( http://camera.local/ ) // ドメイン「 .local 」 ホスト名「 camera 」 // ・IPアドレス ( http://192.168.3.XX/ ) // 自宅ルータで、自動割り振りされたものを使用 //-------------------------------------------------------- //■接続先(自宅ルータ)DHCPサーバ // ・アクセスポイント( SSID ): 000000EJI-2G // IPアドレス ( http://192.168.3.1/ ) *固定 //-------------------------------------------------------- //******************************************************** //●ライブラリ使用する ヘッダファイルのインクルード //******************************************************** #include <WiFi.h>; // wifi通信 #include <WiFiClient.h>; // wifiクライアント #include <WebServer.h>; // webサーバー #include <ESPmDNS.h>; // マルチキャストDNS(mDNS) #include <WiFiUdp.h>; // WiFi UDP通信 #include <esp_camera.h>; // ESPカメラ //-------------------------------------------------------- //■カメラモデル #define CAMERA_MODEL_M5STACK_PSRAM #include "camera_pins.h"; // カメラピン //********************************************************
●動的な、可変IPアドレスでも使用できました。 … OKです。
・ ・ ・ ・ ・