
ESP32でカメラ撮影した画像をネットで見れるようにしたいなあ
こうした悩みを解決します。
目標成果物
30秒おきにESP32カメラで撮影した画像をWEBブラウザ上に表示する
※予告なく終了していたら申し訳ありません。
「更新日時」が30秒経過しても変わらない場合は更新されておりません。

更新日時: 取得中…
使用するキット
こちらのESP32S3キットを使用します。
ESP32-S3-WROOM スターターキット3
動作イメージ

ESP32の撮影データを画像ファイルとして外部サーバ(今回はConohaWING)にアップロードし、WEBブラウザに画像を表示させます。
撮影&サーバアップロードは一定間隔で行います。
なので、ライブカメラと言ってもリアルタイムのストリーミングではありません。
ファイルのやり取りはFTP(File transfer protocol)通信にて行います。
ESP32がFTPクライアント、PCがFTPサーバです。
ESP32自身をWEBサーバにするという方法もありますが、以下の理由からFTPを選択します。
攻撃されるリスク低減 & 通信量少ない & 消費電力小さい
あらかじめやっておくこと(サーバ側)
FTP通信を行うために、サーバ側にて、FTPの
・ホスト名(アドレス)
・ユーザー名
・パスワード
の3点を設定しておく必要があります。
プログラム
こちらのサンプルをもとに進めていきます。
カメラ

FTP
download_file.inoのサンプルを利用します。
①ESP32S3をWiFi接続
②ESP32S3からConohaのFTPサーバに接続
③接続先のディレクトリをESP32S3にて指定
④ESP32S3にてテキストファイルを作成してConohaサーバの指定ディレクトリに転送(動作確認)
⑤FTPサーバ上に作成したファイルの内容を取得
⑥ディレクトリ内のファイル情報を取得してサイズを測定
⑦バッファの確保とファイルのダウンロード
⑧Conohaサーバに新しいディレクトリを作成(ESP32S3が実行)
⑨ディレクトリを移動し、ファイルをアップロード
⑩メモリ解放(ステップ⑦で作ったmalloc)と接続終了処理
ESP32S3-サーバ間のファイル読み書きに成功
このサンプルでFTP通信によるファイル読み書きに成功したので、つづいてカメラ撮影とSDカードへの撮影データ保存を行います。
コメント