macOS上に、ESP32 PSRAM Timer Camera Fの開発環境を構築する方法について
はじめに
ペットのワンコの様子を外出先から確認するIoTカメラを自作してみたく、スイッチサイエンスさんから ESP32 PSRAM Timer Camera F
を購入してみました。
こちらの環境構築をした際に、いくつかハマったところがありましたので、備忘録として残しておきたく記事を書きました。
環境
私の作業環境は以下の通りです。
マシン: MacBook Air (M1, 2020)
OS: macOS 14.4.1(23E224)
Arduino IDEのインストール
Apple Sillicon対応のArduino IDE 2.3.2をインストールしました。
M5Stack ボードマネージャーの追加
Arduino IDE > 環境設定を開きます。
下記のURLを 追加のボードマネージャーのURL
へ記載します。
https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/arduino/package_m5stack_index.json
次に、ツール > ボード > ボードマネージャーを選択します。
M5Stack
を検索し 2.1.1
を選択しインストールを行います。
次に、ツール > ライブラリの管理 > を選択します。
Timer-CAM
を検索し 1.0.0
を選択しインストールします。
ArduinoHttpClient
も必要であることが分かりましtので、全てをインストール
を選択し必要な依存関係をすべて入れることにしました。
ESP32 PSRAM Timer Camera F
の接続
USBケーブルなどで、Macと接続します。
ツール > ボードから、M5Stack > M5TimerCAMを選択します。
ポートは、/dev/cu.usbserial-********
を選択します。
以下のような設定になっていることを確認します。
サンプルコードの実行
ファイル > スケッチの例 > Timer-CAMに、いくつかのサンプルコードが格納されています。
wakeup.ino
を選択し、書き込んでみます。
#include "M5TimerCAM.h"
void led_breathe(int ms) {
for (int16_t i = 0; i < 255; i++) {
TimerCAM.Power.setLed(i);
vTaskDelay(pdMS_TO_TICKS(ms));
}
for (int16_t i = 255; i >= 0; i--) {
TimerCAM.Power.setLed(i);
vTaskDelay(pdMS_TO_TICKS(ms));
}
}
void setup() {
TimerCAM.begin(true);
Serial.println("Wake up!!!");
led_breathe(10);
// sleep after 5s wakeup!
TimerCAM.Power.timerSleep(5);
}
void loop() {
}
リセットボタンを押すとコードが実行され、シリアルモニタに Wake up!!!
と出力されたのち、LEDが点灯します。
SIMピンでリセットボタンを押そうとしたのですが、ギリギリ長さが足りず針金でなんとか押しました....
TimerCAM WEB CAM STA Modeの実行
カメラが撮影した画像を確認したかったので、サンプルコードの sta.ino
を実行します。
下記の ssid
と password
を自分の環境の値に変更します。
const char* ssid = "yourssid";
const char* password = "yourpasswd";
リセットボタンを押すとWi-Fiへ接続し、IPアドレスを出力します。
Connecting to 自分のWi-FiのSSID
..........
Connected to 自分のWi-FiのSSID
IP address: 192.168.10.135
出力されたアドレスへブラウザからアクセスしてみます。
今回は set_framesize
に FRAMESIZE_VGA
を設定して実行してみました。
なかなか荒い画像ですね💦
他の解像度も取得できるようですので、別途試してみようと思います。
おわりに
ちいさなカメラデバイスですが、ネットワークに接続でき画像を送信できることがわかりました。
HTTP通信もできるようですので、専用のエンドポイントを用意して、タイムラプス動画を作るサーバーなどを立ててみたいと思います。
参考文献
Discussion