Skip to content

Commit 0cba55b

Browse files
authored
V3.2 (#112)
* Fix #110 by disabling face recognition for image captures while a stream is running * update some comments in the myconfig sample * Update the Readme
1 parent fd77a62 commit 0cba55b

File tree

4 files changed

+22
-12
lines changed

4 files changed

+22
-12
lines changed

README.md

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,16 @@ https://wiki.ai-thinker.com/esp32-cam
3535
Please read this excellent guide for help with some common issues seen with the camera modules:
3636
https://randomnerdtutorials.com/esp32-cam-troubleshooting-guide/
3737

38+
### Known Issues
39+
40+
The ESP itself is susceptable to the usual list of WiFi problems, not helped by having small antennas, older designs, congested airwaves and demanding users. The majority of disconnects, stutters and other comms problems are simply due to 'WiFi issues'. The AI-THINKER camera module & esp32 combination is quite susceptable to power supply problems affecting both WiFi conctivity and Video quality; short cabling and decent power supplies are your friend here; also well cooled cases and, if you have the time, decoupling capacitors on the power lines.
41+
42+
A basic limitation of the sketch is that it can can only support one stream at a time. If you try to connect to a cam that is already streaming (or attempting to stream) you will get no response and, eventually, a timeout. The stream itself is a [MJPEG stream](https://en.wikipedia.org/wiki/Motion_JPEG), which relies on the client (the web browser) to hold the connection open and request each new frame in turn via javascript. This can cause errors when browsers run into Javascript or caching problem, fail to request new frames or refuse to close the connection.
43+
44+
Another known issue is that if you are streaming with face detection turned on any new tatic mage capture request will cause the stream to exit.
45+
46+
The existing [issues list](https://github.com/easytarget/esp32-cam-webserver/issues?q=is%3Aissue) on Github is a good place to start if you have a specific issue not covered above
47+
3848
## Setup:
3949

4050
* For programming you will need a suitable development environment, I use the Arduino IDE, but this code should work in the Espressif development environment too.
@@ -64,7 +74,7 @@ Once you have done that you can open the sketch in the IDE by going to the `esp3
6474

6575
By default the sketch assumes you have an AI-THINKER board, it creates an AccessPoint called `ESP32-CAM-CONNECT` and with the password `InsecurePassword`; connect to that and then browse to [`http://192.168.4.1/`](http://192.168.4.1/). This is nice and easy for testing and demo purposes.
6676

67-
To make a permanent config with your home wifi settings, different defaults or a different board; copy (or rename) the file `myconfig.sample.h` in the sketch folder to `myconfig.h`. Because this is your private copy of the config it will not get overwritten if you update the main sketch!
77+
To make a permanent config with your home wifi settings, different defaults or a different board; copy (or rename) the file `myconfig.sample.h` in the sketch folder to `myconfig.h` and edit that, all the usable defaults are in that file. Because this is your private copy of the config it will not get overwritten if you update the main sketch!
6878

6979
### Programming
7080

@@ -121,6 +131,6 @@ V4 Remove face recognition entirely;
121131
* implement OTA and a better network stack for remembering multiple AP's, auto-config etc.
122132
* UI Skinning/Theming
123133
* OSD
124-
** Temp/humi/press sensor suport (bme20,dht11)
134+
* Temperature/humidity/pressure sensor suport (bme20,dht11)
135+
You can check the [enhancement list](https://github.com/easytarget/esp32-cam-webserver/issues?q=is%3Aissue+label%3Aenhancement) (past and present), and add any thoghts you may have there.
125136

126-
You can check the [enhancement list](https://github.com/easytarget/esp32-cam-webserver/issues?q=is%3Aissue+label%3Aenhancement) (past and present), and add any thoghts you may have there. Things that have occurred to me are, in no particular order:

app_httpd.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -347,7 +347,7 @@ static esp_err_t capture_handler(httpd_req_t *req){
347347
bool s;
348348
bool detected = false;
349349
int face_id = 0;
350-
if(!detection_enabled || fb->width > 400){
350+
if(!detection_enabled || fb->width > 400 || streamCount != 0){
351351
size_t fb_len = 0;
352352
if(fb->format == PIXFORMAT_JPEG){
353353
fb_len = fb->len;

myconfig.sample.h

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -131,21 +131,21 @@ struct station stationList[] = {{"ssid1", "pass1", true},
131131
// Uncomment to disable the illumination lamp features
132132
// #define LAMP_DISABLE
133133

134-
// Define a initial lamp setting as a percentage, defaults to 0%
134+
// Define the startup lamp power setting (as a percentage, defaults to 0%)
135135
// #define LAMP_DEFAULT 0
136136

137-
// Assume we have SPIFFS/LittleFS partition, uncomment to disable this.
138-
// Controls will still be shown in the UI but are inoperative.
137+
// Assume the module used has a SPIFFS/LittleFS partition, and use that for persistent setting storage
138+
// Uncomment to disable this this, the controls will still be shown in the UI but are inoperative.
139139
// #define NO_FS
140140

141141
// Uncomment to enable Face Detection (+ Recognition if desired) by default
142-
// Notes: You must set DEFAULT_RESOLUTION (above) to FRAMESIZE_CIF or lower before enabling this
143-
// Face recognition enrolements are currently lost between reboots.
142+
// Note: 1) You must set DEFAULT_RESOLUTION (above) to FRAMESIZE_CIF or lower before enabling this
143+
// 2) Face recognition enrolements are lost between reboots.
144144
// #define FACE_DETECTION
145145
// #define FACE_RECOGNITION
146146

147-
// Uncomment and edit the following to change the text displayed next to faces when face recognition is on
148-
// The 'good' text will have the subject ID appended. Maximum 20 characters!
147+
// Uncomment and edit the following to change the on screen labels for known and unknown faces
148+
// The 'good' text will have the subject ID number appended. Maximum 20 characters!
149149
// #define GOOD_FACE_TEXT "Hello Subject "
150150
// #define BAD_FACE_TEXT "Intruder Alert!"
151151

src/version.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
/* Version of upstream code */
22

3-
char baseVersion[] = "3.1";
3+
char baseVersion[] = "3.2";

0 commit comments

Comments
 (0)