-
V4.0 is out, with better support for budget modules.
03/14/2022 at 12:42 • 0 commentsActually, there are two new releases!
- v3.5 with Face Recognition and a dependency on a older esp arduino core release (instructions in README) and config-settable xclk frequency.
The main focus, however, is for v4.0
- Latest esp-arduino-core release (v2.0.2 with SDK v4.4-beta1)
- OTA enabled; configurable (including password) in
myconfig.h
- MDNS support
- Camera bus xclock setting in config and UI, improves running on budget modules with bus issues, allows tuning the xclk frequency on the fly to tune for best speed/quality/etc
- SPIFFS is now read (and formatted if needed) before camera module initialisation; this helps with a SPIFFS startup errors
- 'kill stream' button in dump page, terminates the stream at the camera end in cases where the browser fails to drop the connection.
- UI tuneable frame rate limiter for smoother displays and or lower network use
- More info in
dump
page, including MCU temperature and xclk frequency - UI tweaks, some notes and help for quality, xclk and other settings
- Improved display and logging of critical errors
- Support ArduCAM_ESP32S_UNO
- A whole bunch of spelling, comment and log tweaks
For more; go over to the GitHub page (https://github.com/easytarget/esp32-cam-webserver) where the README (and other documentation) is more extensive than here.
Please report issues, look for help and discuss on GitHub:
https://github.com/easytarget/esp32-cam-webserver/discussions
-
V4.0 Beta2, With OTA, but no face recognition
07/06/2021 at 10:37 • 0 commentsI've got a new beta release out on Github for V4.0 of this project, The principal change is that I have removed all the face recognition code/UI, resulting in a much smaller codebase that allows for Over The Air updating (OTA). Super handy if you want to mount the camera in an inaccessible location.
* The programming instructions have changed - The boards manager entry for the AI-Thinker board does not use OTA compatible partitioning, so you need to choose a Generai ESP32 dev board entry, select the correct partitioning, and enable PSRAM in the GUI. See the updated README
* There are some other fixes for Video quality issues that should be useful
* The OTA update can be secured with a password to stop the unit being hijacked
* There is a fix to allow using the ESP Arduino IDE Core v2.x (currently in beta) and I have been testing with this for a few weeks now, no issues seen. If anything the performance and video quality are better.
-
Trivial release: 3.3
06/08/2021 at 06:42 • 0 commentsI just did a (final?) release of the 3.x code to address a couple of trivial issues:
* properly fix an old memory free()ing bug that affected face recognition. The temporary fix was fine but now we properly release the memory rather than keeping it assigned.
* Disable all WiFi Powersaving to improve responsiveness
There are no functional changes in this release.
-
V4 beta, dropped cheesy face recognition, added OTA
05/31/2021 at 14:47 • 0 commentsOn a new branch in the repo:
https://github.com/easytarget/esp32-cam-webserver/tree/NoFace
Note that you need to select a different board than the usual 'AI-THINKER' one in the IDE for this since OTA uses a dfferent memory partitioning scheme. See the updated README on the branch for more.
-
3.2 with a final Face Recognition fix
05/17/2021 at 11:34 • 0 commentsI've done a V3.2 release
This contains a small but significant bugfix that caused streams to crash if a still image capture occurred while face recognition is enabled. It is fixed by disabling face recognition on image captures while the stream is running.
-
V3.1 because... ESP
05/09/2021 at 16:23 • 0 commentsThis is a new minor release to incorporate fixes for the ESP 1.0.6 Arduino IDE version (which broke frame size selection).
I also added some more detail about the number of served streams and images to the dump page, and improved the serial dump/debug behaviour so that you can request an info dump anytime, and it now works in AP mode too.
-
ESP-IDE 1.0.6 broke Framesizes
05/08/2021 at 16:03 • 0 commentsESP released an updated IDE (1.0.5, then 1.0.6), and while I had checked it did not break my build I had not realised that they added some extra resolutions to the camera, which in turn messed with the 'resolution' setting.
I've now fixed this on the master branch in GitHub, and I'll bang a V3.1 release out asap with the fix.
As a nice consequence the sketch has gained some extra modes, including a 96x96 thumbnail, HD-720p and (on 3MP camera equipped modules) FHD-1080p.
NOTE: there is a ESP IDE V2 beta out, I have not tried compiling with this but I believe it will fail. I'll sort that out once it is out of beta, ESP are a bit erratic about this.
-
3.0 is here
03/08/2021 at 20:18 • 0 commentsIt's about time I released something 'final', so here it is.
I have a lot of possible plans for this, but other interests too. See my previous posts and GitHub for the changes that I want to make. Time permitting.
-
Picking this up again
01/23/2021 at 14:03 • 0 commentsI needed to take a break from all things IT related, but since a new year is here I'm going to do a little more work on this project.
Probably not too much, however.
* A basic version with no face recog, but with OTA is my first step.
* Multi-connection streams next.
* I want to experiment with NTP and overlays; I think this is doable for all mode by overlaying while the frames are in the framebuffer, code to do this is already present and used for annotating face recognition. Fonts and Background hinting may be limited.
* I might even move to a more coherent Wifi Framework as part of implementing OTA
Finally; I'm waiting (patiently) on the 1.5 ESP IDF release for Arduino. It should be here soon..
-
V3 is nearly here, functionally complete. But facedb work dropped.
10/13/2020 at 14:33 • 0 commentsI've uploaded the V3 release candidate; functionality complete. It may get some fixes, but my next task is to revamp the documentation and do the final release.
I've decided to not do any development on the faceDB. This sketch is, and remains, a re-working of the Expressif example.
In the esp example sketch the face recognition support is very basic; it does not use the 'named' face database, just a simple list. It only runs when the stream is running, and only works in low resolution modes. This is fine for an example and demo. But you need to look elsewhere for projects that really make use of the face recognition. One of my document tasks is to add a list of projects exploring the capabilities of these boards in more detail.
TL;DR:
I had to get real about saving the face database, eg it's not going to happen in this project without a proper library to work with. I spent a weekend of idle work on this, and decided I do not want to take the time needed to do it properly.
The face database is actually a series of direct memory data structures created on the fly by the enrol functions; malloc()'d and then pointed to by a array of pointers. All very confusing, I got lost trying to work this all out in the source. I could relatively easily read the structs, but working out how to import and link everything would have taken too long.
There is direct support in the esp face library for flashing the database to a memory partition.. which makes for permanent storage, **but** you need to provide a new partition map to the build system. Since I want to keep this project compatible with the ArduinoIDE I do not want to be telling people to hack their board definitions etc.. so this solution is rejected for now.
- Maybe it could be done as an option for a platformio build. PR's on github are welcome.