ESP32-CAMウェブカメラCameraWebServerの改良版スケッチを試す

公開

ESP32-CAM の CameraWebServer サンプルスケッチを元に、独自に改良を加えた スケッチ が公開されているのを見つけたので、早速試してみました。

ソースファイルのダウンロードと配置

前回、Arduino IDEを使ってESP32-CAMに書き込んだスケッチは、Espressif社提供のサンプルスケッチでしたが、これを元に独自の改良を重ねているスケッチを、こちらのGitHubページに見つけました(Great Works!!)。

導入から使い方まで全てREADMEにまとめられているので、その手順に従って作業を進めます。

こちらのリンクから、 Latest のスケッチが収められた圧縮ファイルをダウンロードし、Arduino IDEのスケッチフォルダへ展開します。展開後はフォルダ名からバージョン番号を抜いて、 esp32-cam-webserver とします。

 

Arduino IDE ボードの設定

Arduino IDEを立ち上げ、展開したスケッチを開いたら、書き込み前にボードの設定を確認します。

図1.Arduino IDE ボード設定

図1.Arduino IDE ボード設定

前回サンプルスケッチを書き込んだ時との違いは、 Partition Scheme のところ。今回のスケッチはサンプルスケッチと比べスリムなことと、さらに以後のOTA更新に対応すべく、 Minimal SPIFFS を選択しました。

 

素のSOFTAPモードで書き込み

GPIO0GND に落とした状態のESP32-CAMをUSBシリアルコンバータを介して繋ぎ、まずは特に変数を変えずそのまま書き込んでみます。

図2.素のスケッチ書き込み完了

図2.素のスケッチ書き込み完了



 

ジャンパピンを外してESP32-CAMを再起動させると、自身はSOFTAPモードで待ち受け状態になるので、

スマートフォンなどから次のWiFi情報を元に接続します。

  • SSID : ESP32-CAM-CONNECT
  • PASS : InsecurePassword
図3.ESP32-CAMのWiFiへ接続

図3.ESP32-CAMのWiFiへ接続

そのままブラウザから http://192.168.4.1/ へアクセスすると、WebUIが開きす。 Full Viewer で設定項目を確認したら、 Start Stream でストリーミング映像が受信できることを確認。

図4.SOFTAPモードでESP32-CAMアクセス

図4.SOFTAPモードでESP32-CAMアクセス

ただ、このスケッチにおいてもWiFi接続関連の設定は動的に変えられないので、このSOFTAPモードでは監視カメラには不向き。そこでArduino IDEに戻り、WiFi接続情報を書き加えようと思います。

 

WiFi接続情報を記述して書き込み

スケッチフォルダ内に myconfig.h と言う名前の新規ファイルを作成、まずはひな型である myconfig_sample.h の内容をコピペします。

図5.設定ファイルの作成

図5.設定ファイルの作成

そこから編集したのは以下の通りで、WiFi接続情報の他にNTPやホスト名といった程度です。

※コメントアウトで設定を使い分けて残したりすると、その後の動作が不安定になる事象に見舞われたことが幾度かありました。書き込み後の動作確認でのトラブルシューティング時には、思い当たる記述がスケッチにないか確認を。

先ほどと同じ要領でESP32-CAMへ書き込んだ後、再起動させると指定したSSIDへクライアントとして繋がりました。

図6.STAモードのESP32-CAMへアクセス.png

図6.STAモードのESP32-CAMへアクセス.png

Expressif社サンプルスケッチには無かった、映像の90°回転や、設定の保存、ボードの再起動機能が実装されているのが見てとれるほか、Nameをクリックするとボードの現在の状態が、別ウィンドウで表示されます。

図7.システム情報ウィンドウ

図7.システム情報ウィンドウ

ここで気になったのが MCU temperature 。空調の効いた屋内で運用していても70℃前後に達していたので、金属ケースにヒートシンクを貼り付けたところ、半分の36℃程度まで下がりました。

図8.ヒートシンクを追加

図8.ヒートシンクを追加

ボードの再起動はRebootボタン押下の他、APIで直接操作することも可能です。

図9.WebUIから再起動中

図9.WebUIから再起動中

そのほかに用意されているAPIは、こちらのページで確認できます。

 

まとめ

今回試してみたスケッチには、前回のサンプルスケッチで挙がった懸念事項のうち、以下の項目が解消されました。

  • 設定は再起動後残らない。
  • 映像の上下反転や左右反転はあるが、90°回転が無い。
  • WebUI上でボードを再起動させる術がない。

残るWiFi接続情報のWebUI上での設定変更機能についても、引き続き調べてみるつもりです。

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA