ホームページをリニューアルしました。旧HPはこちら
Arduino ソフト・ハードウェア

TTGO T-CAMERAによる監視カメラ(その1 動作確認)

腰を痛めて以来、電子工作をする気になれなかったが、ようやく重い腰を上げて、昨年購入したカメラモジュールで監視カメラを作ることにした。制作の目的は鳥獣監視と、家の前の市道の交通量調査。

製品:「Lilygo®Ttgo t-カメラ ESP32-WROVER-B OV2640 カメラモジュール

初期動作の確認

USB端子から電源を供給すると、予めインストールされているソフトウェアがAPモードで起動し、有機ELディスプレイ(OLED)にURL 「http://2.2.2.1/」が表示される。またPCまたはスマホからWiFiネットワークを見ると、ESPモジュールのネットワーク(TTGO-CAMERA-XX:XX)が表示されるので、そのネットワークに切り替えブラウザーでhttp://2.2.2.1/と入力すると、画像、動画を取得するアプリが表示される。

1.開発環境の準備

久しぶりにArduinoのIDEをいじるので、操作方法を忘れている。そこで、下記の記事を参考に、DELLのPCに新たにArduino IDEの環境を構築した。

参考記事:TTGO T-Camera ファームウェア改造

①Arduino IDE revision 1.8.16をPCにインストール
②ESP8266のLibraryパッケージをインストール
Arduino IDEの「ファイル→環境設定」で「追加のボードマネージャのURL」に以下を設定

・http://arduino.esp8266.com/stable/package_esp8266com_index.json
・https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_dev_index.json
・https://dl.espressif.com/dl/package_esp32_index.json

引き続き、「ツール→ボード→ボードマネージャ」で
「esp32 by Espressif Systems」
「esp8266 by ESP8266 Community」
を探してインストール。
インストールが完了したら、「ツール→ボード→ESP32 Wrover module」を選択すれば、Arduino自体の準備は完了。

ボードの初期設定は以下の通り:

Upload Speed: 11520
Flash Frequency: 80Mhz
Flash Mode: QIO
Partition Scheme:  default 4MB with spiffs
Core debug level: なし

2.ソースコードの導入

ソースコードは「https://github.com/Xinyuan-LilyGO/LilyGo-Camera-Series」からZIPファイルをダウンロード。実はこのソースは「https://github.com/lewisxhe/esp32-camera-series」からのforkなので、こちらのZIPをダウンロードしてもよい。ダウンロードした zip を展開し、~/Arduinoの下にLilyGo-Camera-Series-masterを移動し、その下にesp32-camera-seriesのフォルダーを作成。

3.ライブラリの準備

Arduino OneButton Library を 「https://github.com/mathertel/OneButton」 からZIPでダウンロードしてきて、OneButton-master.zip を展開。展開したらディレクトリ名を「OneButton」に変更して、~/Arduino/libraries の下に移動。

esp8266-oled-ssd1306 Library を「https://github.com/ThingPulse/esp8266-oled-ssd1306」 からZIPでダウンロードし展開。ディレクトリ名を「esp8266-oled-ssd1306」に変更して、~/Arduino/libraries の下に移動。

4、スケッチの修正

Arduino IDEの「ファイル→開く」で ~/Arduino/esp32-camera-series/esp32-camera-series.ino を開き、以下を修正する。

①Board selectでT_Camera_V17_VERSIONを選択

* Board select
**************************************/
/* Select your board here, see the board list in the README for details*/
#define T_Camera_V17_VERSION

②WIFIルータのSSID, PASSWD設定

/***************************************
* WiFi
**************************************/
#define WIFI_SSID "xxxxxxxxxx-g"     //"YourSSID"
#define WIFI_PASSWD "33**********62"  //"YourPASSWORD"

これでも動作可能だが、IPアドレスを固定する方法は以下の通り。

③ESP32のIPアドレスを固定IPに変更する

・SoftAPモードからSTAモードへ変更
#define SOFTAP_MODE //The comment will be connected to the specified ssidをコメントアウトして、SoftAPモードを禁止

・SSID/PASSWORDの設定の箇所の後に以下の記述を追加

#define FIXED_IP
#ifdef FIXED_IP
IPAddress fixed_ip( 192, 168, 1, 20); // for fixed IP Address
IPAddress gateway( 192, 168, 1, 1); // Gateway Address
IPAddress subnet(255, 255, 255, 0); // Subnet Mask
IPAddress DNS( 8, 8, 8, 8); // DNS server
#endif

さらに、WiFi.begin()の直前に以下の記述を追加

#ifdef FIXED_IP
WiFi.config(fixed_ip, gateway, subnet, DNS); // Set fixed IP address
#endif

④BME280のライブラリについては TTGO T-Cameraでは途中から削除されているのでソースコード中の#include <Adafruit_BME280.h>の行はコメントアウト。

Arduino IDEのチェックマーク(検証)を押してコンパイル。
うまく行ったら、右矢印マークを押して書き込み動作テストをする。

→ 結果OK
ブラウザーで固定IP http://192.168.1.20/を入力すると、初期設定のAPモード同様、ブラウザーに動画・画像取得アプリが表示された。

スケッチ名:esp32-camera-series.ino
スケッチのありか:\Documents\Arduino\LilyGo-Camera-Series-master\esp32-camera-series

コメント

タイトルとURLをコピーしました