ESP32 Camera Web Server
ESP32搭載ボードESP32-CAMを使いウェブカメラを製作する.
ArduinoIDEのサンプルスケッチ ESP32->Camera->CameraWebServerを使いSSIDやPASSを設定し,プログラムを書き込むと,ESP32上でhttpd(ウェブサーバ)が動き,ブラウザからアクセスできるウェブカメラを構築できる.
ただし,ArduinoIDEのサンプルスケッチを使用した場合,ボードに搭載されたLEDをウェブアプリから制御できない(ウェブアプリの画面にコントロールが出ない).
そこで,ESP-IDFを使い,コードをGitHubから引っ張ってきてmakeしたら,無事LEDの輝度調整もウェブアプリからできるようになった.
このプログラムではESP32上でFaceRecognitionも動く.
Edgeではうまく動きません,筆者はChromeで検証しています.
配線
[ESP32-CAM] [PC(USB)]
5V---ー----ー5V
GND--------GND
U0R--------TxD
U0T--------RxD
IO0ー|(書き込み時ジャンパ/実行時ジャンパ外す)
GNDー|
コードを取得
git clone --recursive https://github.com/espressif/esp-who.git
git clone --recursive https://github.com/espressif/esp-who.git
次のフォルダにプログラムがまとまっている
/examples/single_chip/camera_web_server/
cd esp-who/examples/single_chip/camera_web_server
make menuconfig
menuconfigで以下の項目を設定する
●書き込みに使用するシリアルポート
Serial flasher config->Default serial port
●無線LANのSSID(ESP32をSTAで使用する場合)
Camera Web Server->WiFi Settings->WiFi STA SSID
●無線LANのパスワード
Camera Web Server->WiFi STA Password
●LEDをウェブアプリから使用する場合は選択・設定する
Camera Web Server->LED Illuminator
●使用するボードの設定
Camera Web Server->Camera Pins->Select Camera Pinout
●顔認識を使用する場合は選択する
Camera Web Server->ESP-WHO Face Detection
Camera Web Server->ESP-WHO Face Recognition
menuconfigしたらボードへ書き込み
make flash
画像の方向を直す
このままでは,画像・映像の向きが90°回転している(ESP32-CAMボードを横向きで使用するなら正しい方向になっている)ので,httpdが吐き出すHTMLを編集して対応する.
cd esp-who/examples/single_chip/camera_web_server/main/web
vi index_ov2640.html
57行目 figure img{ の次に
transform: rotate( 90deg);
を追加
5行下のmargin-topを8px→15%に変更
クライアントへ投げるHTMLファイルは圧縮して保持しているようで,
./compress_pages.sh
再度書き込み
cd ../..
make flash
ちなみに
LEDは放熱しきれないと焼けてしまうので,MAXの輝度を設定しておくことが出来ます(menuconfigの中で).
参考文献
(ESP-IDF)
https://tomono.tokyo/2019/03/11/7519/
https://robotzero.one/esp32-camera-module/
(ArduinoIDE)
https://qiita.com/Nabeshin/items/b195cad1afe99ce29f1e
https://www.ovt.com/image-sensors/2-5-megapixels
Author And Source
この問題について(ESP32 Camera Web Server), 我々は、より多くの情報をここで見つけました https://qiita.com/Lathe/items/1a5a1e783e7d931e5618著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .