Skip to content

Commit 6e17b81

Browse files
committed
version 5.0 beta 2
1 parent 4c9ab6e commit 6e17b81

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+2583
-3809
lines changed

.gitignore

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
1-
myconfig.h
21
.pioenvs
32
.piolibdeps
43
.clang_complete
54
.gcc-flags.json
65
.pio
7-
.vscode
6+
.vscode
7+
.DS_Store
8+
.idea
9+
*.code-workspace
10+
/data/conn.json
11+
/data/cam.json
12+
/data/httpd.json

API.md

Lines changed: 27 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,28 @@
11
# Basic HTTP Commands;
2-
It's an API Jim, but not as we know it
3-
4-
The WebUI and camera server communicate entirely via HTTP requests and responses; this makes controlling all functions of the camera via GET requests possible. An API in effect.
2+
The WebUI and camera server communicate entirely via HTTP requests and responses;
3+
this makes controlling all functions of the camera via GET requests possible.
54

65
## URI's
7-
### Http Port
8-
* `/` - Default index
9-
* `/?view=full|simple|portal` - Go direct to specific index
10-
* `/capture` - Return a Jpeg snapshot image
11-
* `/status` - Returns a JSON string with all camera status <key>/<value> pairs listed
12-
* `/control?var=<key>&val=<val>` - Set `<key>` to `<val>`
13-
* `/dump` - Status page
14-
* `/stop` - End all active streams
15-
16-
### Stream Port
17-
* `/` - Raw stream
18-
* `/view` - Stream viewer
6+
### Web UI pages
7+
* `/` or `/portal` - Default index (portal)
8+
* `/view?mode=full|simple|stream|still` - Go direct to specific page:
9+
* - full: taking still and video with complete set of camera controls
10+
* - simple: taking still and video with limited set of camera controls
11+
* - stream: starting video capture with full screen mode
12+
* - still: taking a still image with full screen mode
13+
* `/dump` - Status page (automatically refreshed every 5 sec)
1914

20-
## *key / val* settings and commands
15+
### Special *key / val* settings and commands
2116

22-
Call the `/status` URI to recieve a JSON response containing all the available settings and current value.
17+
* `/control?var=<key>&val=<val>` - Set a Control Variable specified by `<key>` to `<val>`
18+
* `/status` - JSON response containing camera settings
19+
* `/system` - JSON response containing all parameters displayed on the `/dump` page
2320

24-
Call `/control?var=<key>&val=<val>` with a settings key and value to set camera properties or trigger actions.
25-
26-
#### Settings
21+
#### Supported Control Variables:
2722
```
2823
lamp - Lamp value in percent; integer, 0 - 100 (-1 = disabled)
2924
framesize - See below
30-
min_frame_time - Minimal frame duration in ms; used to limit max FPS. Must be positive integer
25+
frame_rate - Frame rate in FPS. Must be positive integer
3126
quality - 10 to 63 (ov3660: 4 to 10)
3227
contrast - -2 to 2 (ov3660: -3 to 3)
3328
brightness - -2 to 2 (ov3660: -3 to 3)
@@ -58,13 +53,7 @@ colorbar - Overlays a color test pattern on the stream; integer, 1 = enab
5853
face_detect - Face Detection; 1 = enabled, Only settable if framesize <= 4 (CIF)
5954
face_recognize - Face recognition; 1 = enabled, only settable if Face detection is already enabled
6055
```
61-
#### Read Only
62-
These values are returned in the `/status` JSON response, but cannot be set via the `/control` URI.
63-
```
64-
cam_name - Camera Name; String
65-
code_ver - Code compile date and time; String
66-
stream_url - Raw stream URL; string
67-
```
56+
6857
##### Framesize values
6958
These may vary between different ESP framework releases
7059
```
@@ -84,14 +73,16 @@ Only for 3Mp+ camera modules:
8473
14 - FHD (1920x1080)
8574
17 - QXGA (2048x1536)
8675
```
76+
8777
#### Commands
88-
These are commands; they can be sent by calling the `/control` URI with them as the `<key>` *(a `<val>` must also be supplied, but can be any value and is ignored)*.
78+
These are commands; they can be sent by calling the `/control` URI with them as
79+
the `<key>` *(a `<val>` must also be supplied, but can be any value and is ignored)*.
8980
```
90-
face_enroll - Enroll a new face in the FaceDB (only when face recognition is avctive)
9181
save_prefs - Saves preferences file
9282
clear_prefs - Deletes the preferences file
93-
reboot - Reboots the camera
83+
reboot - Reboots the board
9484
```
85+
9586
## Examples
9687
* Flash light: on/mid/off
9788
* `http://<IP-ADDRESS>/control?var=lamp&val=100`
@@ -100,11 +91,13 @@ reboot - Reboots the camera
10091
* Set resolution to VGA
10192
* `http://<IP-ADDRESS>/control?var=framesize&val=8`
10293
* Show camera details and settings
103-
* All settings are returned via single `status` call in [JSON](https://www.json.org/) format.
94+
* All settings are returned via single `status` call in [JSON](https://www.json.org/)
95+
format.
10496
* `http://<IP-ADDRESS>/status`
10597
* Returns:
106-
``` {"lamp":0,"autolamp":0,"min_frame_time":0,"framesize":9,"quality":10,"xclk":8,"brightness":0,"contrast":0,"saturation":0,"sharpness":0,"special_effect":0,"wb_mode":0,"awb":1,"awb_gain":1,"aec":1,"aec2":0,"ae_level":0,"aec_value":204,"agc":1,"agc_gain":0,"gainceiling":0,"bpc":0,"wpc":1,"raw_gma":1,"lenc":1,"vflip":1,"hmirror":1,"dcw":1,"colorbar":0,"cam_name":"ESP32 test camera","code_ver":"Mar 10 2022 @ 14:00:45","rotate":"0","stream_url":"http://10.0.0.181:81/"}```
98+
``` {"lamp":0,"autolamp":0,"frame_rate":0,"framesize":9,"quality":10,"xclk":8,"brightness":0,"contrast":0,"saturation":0,"sharpness":0,"special_effect":0,"wb_mode":0,"awb":1,"awb_gain":1,"aec":1,"aec2":0,"ae_level":0,"aec_value":204,"agc":1,"agc_gain":0,"gainceiling":0,"bpc":0,"wpc":1,"raw_gma":1,"lenc":1,"vflip":1,"hmirror":1,"dcw":1,"colorbar":0,"cam_name":"ESP32 test camera","code_ver":"Mar 10 2022 @ 14:00:45","rotate":"0","stream_url":"ws://<IP-ADDRESS>/ws"}```
10799
* Reboot the camera
108100
* `http://<IP-ADDRESS>/control?var=reboot&val=0`
109101

110-
You can try these yourself in a browser address bar, from the commandline with `curl` and co. or use them programatically from your scripting language of choice.
102+
You can try these yourself in a browser address bar, from the commandline with `curl`
103+
and co. or use them programatically from your scripting language of choice.

CONTRIBUTING.md

Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,21 @@
11
# Contributing to ESP32-CAM revisited
2-
I love your input! and want to make contributing to this project as easy and transparent as possible, whether it's:
2+
We love your input and want to make contributing to this project as easy and transparent
3+
as possible, whether it's:
34

45
- Reporting a bug
56
- Discussing the current state of the code
67
- Submitting a fix
78
- Proposing new features
89
- Becoming a maintainer
910

10-
## I Develop with Github
11-
I use github to host code, to track issues and feature requests, as well as accept pull requests.
11+
## We Develop with Github
12+
We use github to host code, to track issues and feature requests, as well as accept pull
13+
requests.
1214

13-
## I Use [Github Flow](https://guides.github.com/introduction/flow/index.html), So All Code Changes Happen Through Pull Requests
14-
Pull requests are the best way to propose changes to the codebase (I use [Github Flow](https://guides.github.com/introduction/flow/index.html)). I actively welcome your pull requests:
15+
## We Use [Github Flow](https://guides.github.com/introduction/flow/index.html)
16+
So All Code Changes Happen Through Pull Requests. Pull requests are the best way to
17+
propose changes to the codebase (use [Github Flow](https://guides.github.com/introduction/flow/index.html)).
18+
We actively welcome your pull requests:
1519

1620
1. Fork the repo and create your branch from `master`.
1721
2. Give your branch a clear descriptive name and do your changes there.
@@ -20,10 +24,12 @@ Pull requests are the best way to propose changes to the codebase (I use [Github
2024
5. Clearly describe your changes and the reason for them in the pull request.
2125

2226
## Any contributions you make will be under the GNU Lesser General Public License v2.1
23-
In short, when you submit code changes, your submissions are understood to be under the same [License](./LICENSE) that covers the project.
27+
In short, when you submit code changes, your submissions are understood to be under
28+
the same [License](./LICENSE) that covers the project.
2429

25-
## Report bugs using Github's [issues](https://github.com/easytarget/esp32-cam-webserver/issues)
26-
We use GitHub issues to track public bugs. Report a bug by opening a new issue; it's that easy!
30+
## Report bugs using Github's issues
31+
We use GitHub issues to track public bugs. Report a bug by opening a new issue; it's that
32+
easy!
2733

2834
## Write bug reports with detail, background, and sample code
2935

@@ -34,16 +40,16 @@ We use GitHub issues to track public bugs. Report a bug by opening a new issue;
3440
- Be specific!
3541
- What you expected would happen
3642
- What actually happens
37-
- Notes (possibly including why you think this might be happening, or stuff you tried that didn't work)
38-
39-
People *love* thorough bug reports. I'm not even kidding.
43+
- Notes (possibly including why you think this might be happening, or stuff you
44+
tried that didn't work)
45+
4046

4147
## Use a Consistent Coding Style
4248
* 4 spaces for indentation rather than tabs in the main code
4349

4450
## License
45-
By contributing, you agree that your contributions will be licensed under its GNU Lesser General Public License v2.1
51+
By contributing, you agree that your contributions will be licensed under its GNU
52+
Lesser General Public License v2.1
53+
4654

4755

48-
## References
49-
This document was adapted from the open-source contribution guidelines for [Facebook's Draft](https://github.com/facebook/draft-js/blob/a9316a723f9e918afde44dea68b5f9f39b7d9b00/CONTRIBUTING.md)

Docs/favicon-README.md

Lines changed: 0 additions & 21 deletions
This file was deleted.

Docs/linearled/README.md

Lines changed: 0 additions & 156 deletions
This file was deleted.

Docs/linearled/linearled.c

Lines changed: 0 additions & 29 deletions
This file was deleted.

Docs/mygodsitsfullofcats.png

-617 KB
Binary file not shown.

Docs/twocatsactually.png

-555 KB
Binary file not shown.

0 commit comments

Comments
 (0)