You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: API.md
+27-34Lines changed: 27 additions & 34 deletions
Original file line number
Diff line number
Diff line change
@@ -1,33 +1,28 @@
1
1
# 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.
5
4
6
5
## 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)
19
14
20
-
## *key / val* settings and commands
15
+
### Special*key / val* settings and commands
21
16
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
23
20
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:
27
22
```
28
23
lamp - Lamp value in percent; integer, 0 - 100 (-1 = disabled)
29
24
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
31
26
quality - 10 to 63 (ov3660: 4 to 10)
32
27
contrast - -2 to 2 (ov3660: -3 to 3)
33
28
brightness - -2 to 2 (ov3660: -3 to 3)
@@ -58,13 +53,7 @@ colorbar - Overlays a color test pattern on the stream; integer, 1 = enab
58
53
face_detect - Face Detection; 1 = enabled, Only settable if framesize <= 4 (CIF)
59
54
face_recognize - Face recognition; 1 = enabled, only settable if Face detection is already enabled
60
55
```
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
+
68
57
##### Framesize values
69
58
These may vary between different ESP framework releases
70
59
```
@@ -84,14 +73,16 @@ Only for 3Mp+ camera modules:
84
73
14 - FHD (1920x1080)
85
74
17 - QXGA (2048x1536)
86
75
```
76
+
87
77
#### 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)*.
89
80
```
90
-
face_enroll - Enroll a new face in the FaceDB (only when face recognition is avctive)
* 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.
104
96
*`http://<IP-ADDRESS>/status`
105
97
* 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"}```
107
99
* Reboot the camera
108
100
*`http://<IP-ADDRESS>/control?var=reboot&val=0`
109
101
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.
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+20-14Lines changed: 20 additions & 14 deletions
Original file line number
Diff line number
Diff line change
@@ -1,17 +1,21 @@
1
1
# 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:
3
4
4
5
- Reporting a bug
5
6
- Discussing the current state of the code
6
7
- Submitting a fix
7
8
- Proposing new features
8
9
- Becoming a maintainer
9
10
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.
12
14
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:
15
19
16
20
1. Fork the repo and create your branch from `master`.
17
21
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
20
24
5. Clearly describe your changes and the reason for them in the pull request.
21
25
22
26
## 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.
24
29
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!
27
33
28
34
## Write bug reports with detail, background, and sample code
29
35
@@ -34,16 +40,16 @@ We use GitHub issues to track public bugs. Report a bug by opening a new issue;
34
40
- Be specific!
35
41
- What you expected would happen
36
42
- 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
+
40
46
41
47
## Use a Consistent Coding Style
42
48
* 4 spaces for indentation rather than tabs in the main code
43
49
44
50
## 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
+
46
54
47
55
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)
0 commit comments