無料のグーグルドライブを使ったWebカメラを作ってみました。
前回の記事はこちら → 【IoT】ESP32で撮った写真をgoogleドライブに転送してみた。【前編】
さすがはgithub
やりたいことが、そのままありました。
この手の欲しい情報はgithubが良い。片言の英語でもなんとか探せる。
webカメラのシステムの概要
ESP32-CAMで撮影 → GoogleDrive の scriptを叩く → データをアップロード
を2分間隔で繰り返す。
ESP32のスケッチはhttps://github.com/gsampallo/esp32cam-gdriveを参照してください。
SSIDとパスの設定は9行目付近
const char* ssid = "SSID"; //your network SSID
const char* password = "PASSWORD"; //your network password
11行目で後述するスクリプトを指定します。
String myScript = "/macros/s/XXXXXXXXXXXXXXXXXXXXXX/exec"; //Replace with your own url
撮影間隔は101行目の
deray(60000)
を変更してください。1000=1秒です。
Google Driveの設定
画像を保存するフォルダを作成する
Google Driveに転送用フォルダを作成します。とりあえず「ESP32-CAM」としておきました。
Google APPscript にコードを書き込む
次にスクリプトを設置します。 Googleが用意しているAPPscript にカメラからアクセスがあった場合の処理を書き込みます。
Google Drive → 新規 → その他 → Google APPscript
function doPost(e) {
var data = Utilities.base64Decode(e.parameters.data);
var nombreArchivo = Utilities.formatDate(new Date(), 'Asia/Tokyo', 'yyyyMMdd_HHmmss')+".jpg";
var blob = Utilities.newBlob(data, e.parameters.mimetype, nombreArchivo );
// Save the photo to Google Drive
var folder, folders = DriveApp.getFoldersByName("ESP32-CAM");
if (folders.hasNext()) {
folder = folders.next();
} else {
folder = DriveApp.createFolder("ESP32-CAM");
}
var file = folder.createFile(blob);
return ContentService.createTextOutput('Completo')
}
を書き込んだら適当な名前で登録
公開 → アプリの公開
Execute the app as: → 自分のアドレス
Who has access to the app → Aniyone even anonymous
要は、アップされた画像の所有権は自分だけで、app自体は誰がアクセスしてもいいよってことです。
ESP32をリセットして終了
ESP32-CAMの動作を確認してみる
先ほど作成したgoogleドライブの「ESP32-CAM」フォルダに画像が転送されていれば成功です。
完璧に動作しました。
追記(2024/6/8)
ArduinoIDEでのコーディングでエラーが出るようになりました。
数年前にライブラリの変更があったようです。
現在、ESP32のボードの最新版は3.01ですが、サイト証明書の影響でバージョン1.04にしないとgooglescriptにアクセスできません。
【解決済み】ESP32-camがGoogleドライブに繋がらなくなった
証明書の対応版をテスト中ですが、接続できるようになりました。
後日、修正コードを紹介したいと思います。
1.04バージョンに比べて動作が不安定なので対策中です。
Google Drive に溜まったファイルを自動削除
ESP32を使った自作カメラの作り方はこちら
自作だと撮影間隔やデータの転送先など自由に使えるので便利です。
- 【IoT】ESP32-CAMを使ってWEBカメラを自作してみた(使い方編)
- 【IoT】ESP32-CAMを使ってWEBカメラを自作してみた(設定編)
- 【IoT】ESP32-CAMを使ってWEBカメラを自作してみた(Wifi接続編)
ESP32-CAMを使ったタイムラプス
こちらは、SDカードに保存できるので、Wifiの環境がなくても使用することができます。
コメント