PR

【IoT】ESP32S3でライブカメラ作ってみた

ESP32でカメラ撮影した画像をネットで見れるようにしたいなあ

こうした悩みを解決します。

姫野秀徳

組み込みエンジニアとしてメーカー勤務10年。
第二種電工事士、基本情報技術者、Code.org認定教師。
microbitを用いた電子工作&プログラミング教室を開校。
組み込み開発の実際を発信するyoutube活動も行う。

姫野秀徳をフォローする
組み込みオンライン学習システム"クミタテ"を作っています クミタテを見る

目標成果物

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点を設定しておく必要があります。

プログラム

こちらのサンプルをもとに進めていきます。

カメラ

ESP32S3キット(Arduino)
Freenove社のESP32S3スターターキットで学習できる内容を日本語でまとめています。以下の商品を購入した方のみ公開とさせていただいております。ESP32S3 スターターキット3コース内容の紹介サンプルプログラムおよび動画が付属してい...

FTP

GitHub - ldab/ESP32_FTPClient: An FTP-Client for the ESP32
An FTP-Client for the ESP32. Contribute to ldab/ESP32_FTPClient development by creating an account on GitHub.

download_file.inoのサンプルを利用します。

①ESP32S3をWiFi接続
②ESP32S3からConohaのFTPサーバに接続
③接続先のディレクトリをESP32S3にて指定
④ESP32S3にてテキストファイルを作成してConohaサーバの指定ディレクトリに転送(動作確認)
⑤FTPサーバ上に作成したファイルの内容を取得
⑥ディレクトリ内のファイル情報を取得してサイズを測定
⑦バッファの確保とファイルのダウンロード
⑧Conohaサーバに新しいディレクトリを作成(ESP32S3が実行)
⑨ディレクトリを移動し、ファイルをアップロード
⑩メモリ解放(ステップ⑦で作ったmalloc)と接続終了処理

ESP32S3-サーバ間のファイル読み書きに成功

このサンプルでFTP通信によるファイル読み書きに成功したので、つづいてカメラ撮影とSDカードへの撮影データ保存を行います。

この内容が良いと思ったら、いいね💖を押して教えてください!

組み込みオンライン学習システム"クミタテ"を作っています クミタテを見る
未分類組み込み機器
シェアしていただけると嬉しいです!

コメント

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