Skip to content

Commit fe5038e

Browse files
author
Owen
committed
Doc update
1 parent d50dc56 commit fe5038e

File tree

1 file changed

+40
-1
lines changed

1 file changed

+40
-1
lines changed

README.md

Lines changed: 40 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,40 @@
1-
# Taken from the ESP examples, and modified for reality
1+
# Espressives ESP32-CAM example revisited.
2+
## Taken from the ESP examples, and modified for reality
3+
This sketch is a extension/expansion/rework of the 'official' ESP32 Camera example sketch from Expressif:
4+
https://github.com/espressif/arduino-esp32/tree/master/libraries/ESP32/examples/Camera/CameraWebServer
5+
- The example they have is nice, but a bit incomprehensible and hard to modify as supplied. It is very focused on showing off the face recognition capabilities, and forgets the 'webcam' part.
6+
7+
I believe this expanded example is more useful for those users who wish to set up a simple ESP32 based webcam using the cheap(ish) modules freely available online. Especially the AI-THINKER board:
8+
https://wiki.ai-thinker.com/esp32-cam
9+
10+
### Also:
11+
https://github.com/raphaelbs/esp32-cam-ai-thinker
12+
13+
## Specifics:
14+
The basic example is extended to allow control of a high power LED FlashLamps like the ones used on mobile phones, which are present on some modules. It can also blink a status LED to show when it connects to WiFi.
15+
16+
The WiFi details can be stored in an (optional) header file to allow easier further development, and a camera name for the UI title can be configured. The lamp and status LED's are optional, and the lamp uses a exponential scale for brightness so that the control has some finess.
17+
18+
The compressed and binary encoded HTML used in the example has been unpacked to raw text, this makes it much easier to access and modify the Javascript and UI elements. Given the relatively small size of the index page there is very little benefit from compressing it, .
19+
20+
I have left all the Face Recognition code untouched, it works, and with good lighting and camera position it can work quite well. But you can only use it in low-resolution modes, and it is not something I wil be using.
21+
22+
The web UI has had minor changes to add the lamp control (only when enabled), I also made the 'Start Stream' and 'Snapshot' controls more prominent, and added feedback of the camera name + firmware.
23+
24+
## Use:
25+
* arduino IDE, espressive toolchain, board
26+
* wiring
27+
* programming
28+
29+
#### Config
30+
31+
## Plans
32+
* SD/TF card; store snapshots etc.
33+
* Wifi, captive portal for setup and fallback, better disconnect/reconnect behaviour.
34+
* Remove face rcognition to savee a Mb+ of code space and then implement over the air updates.
35+
* Combine current split html pages (one per camera type) into one which adapts as needed.
36+
37+
## Notes:
38+
* I only have AI-THINKER modules with OV2640 camera installed; so I have only been able to test with this combination. I have attempted to preserve all the code for other boards and the OV3660 module, and I have merged all changes for the WebUI etc, but I cannot guarantee operation for these.
39+
* devboard
40+
* cases on Thingieverse

0 commit comments

Comments
 (0)