Configuration Parameter |
Selectable Option/Value |
Description |
Stream mode |
Stream as IP camera (JPEG output)--Stream to target (RGB888 output) |
Select whether the camera feed should be streamed to Matlab Simulink directly or pass-through ESP32 target. |
Target Stream mode |
do not stream--stream to HTTPserver--stream to simulink |
Select whether the camera feed should be streamed in the target mode is selected. |
Camera Module |
AIMAGIN Camera--Custom Camera |
Select the camera module. |
Camera Pins |
|
Enter the camera pin connections. |
XCLK frequency (Hz) |
|
Enter the clock frequency(locked) |
LEDC TIMER |
|
Enter the LEDC TIMER |
LEDC CHANNEL |
|
Enter the LEDC CHANNEL |
Frame Size |
QQVGA--QVGA--CIF--VGA--SVGA--XGA--SXGA--UXGA |
Select the frame size of the camera feed. |
JPEG quality |
0 to 63 |
Enter the required quality of the image. |
Number of frame buffers to be allocated |
|
Enter the number of buffer frames to be allocated. |
Sample time (sec) |
-1 (inherited) or specify |
Specify the sample time |
Brightness |
-2 to 2 |
Set image brightness (default-0) |
Contrast |
-2 to 2 |
Set image contrast (default-0) |
Saturation |
-2 to 2 |
Set image saturation (default-0) |
Special effects |
No Effect--Negative--Grayscale--Red Tint--Green Tint--Blue Tint--Sepia |
Set a special effect (default-No Effect) |
White balance |
Check--Uncheck |
Set white balance(default-Check) |
AWB gain |
Check--Uncheck |
Set auto white balance(default-Check) |
WB mode |
Auto--Sunny--Cloudy--Office--Home |
Set white balance mode(default-Auto) |
Exposure ctrl |
Check--Uncheck |
Set exposure control(default-Check) |
AEC2 |
Check--Uncheck |
Set automatic exposure control(default-Uncheck) |
AE level |
-2 to 2 |
Set auto exposure level(default-0) |
AEC value |
0 to 1200 |
Set auto exposure control value(default-300) |
Gain ctrl |
Check--Uncheck |
Set gain control(default-Check) |
AGC gain |
0 to 30 |
(default-0) |
Gainceiling |
0 to 6 |
(default-0) |
bpc |
Check--Uncheck |
(default-Uncheck) |
wpc |
Check--Uncheck |
(default-Check) |
raw_gma |
Check--Uncheck |
(default-Check) |
lenc |
Check--Uncheck |
Set lens correction(default-Check) |
hmirror |
Check--Uncheck |
Set horizontal mirror(default-Uncheck) |
vflip |
Check--Uncheck |
Set vertical flip(default-Uncheck) |
dcw |
Check--Uncheck |
(default-Check) |
colorbar |
Check--Uncheck |
(default-Uncheck) |
Port Name |
Port Type |
Date Type |
Description |
R |
Vector |
uint8 |
Red color output port for the camera image |
G |
Vector |
uint8 |
Green color output port for the camera image |
B |
Vector |
uint8 |
Blue color output port for the camera image |
This block can be used to stream the camera feed to,
•To web browser
•To Matlab Simulink.
•To ESP32 target and process image.
•Mode: Stream as IP camera (JPEG output)
In order to stream to Matlab Simulink, ‘esp32_camerablock_receiver’ and ‘esp32_host_setup’ blocks should be used in the model file at the target computer. If the user wants to view the camera image host computer also needs to have the computer vision toolbox, where "video view" block is available
•Mode: Stream to target (RGB888 output)
In this mode, the camera feed can be processed within the ESP32 itself by enabling output ports in the esp32_camerablock. Most computer vision toolbox functions are compatible with camera block.
Note: Currently this block is not supported for ESP32C3 target version due to library limitations(supported Socs). This block is tested with ESP32 target and working.
Demo file : esp32_camera_stream_demo.slx
Demo file : host_pc_camera_receive.slx
This example will demonstrate how to use the camera block to stream a video from the target board and send data to the host PC. In addition to that, the WIFI blocks are used to set up the WiFi in AP mode. The data will be received using the IP Camera Receiver block and stream video can be viewed using the Video Viewer on simulink.
Additionally, users can view the streaming video through the web browser.
URL to capture still photos: http://[esp32 ip address]:80/capture
URL to live stream the camera feed: http://[esp32 target ip address]:81/stream
host_pc_camera_receive.slx demo file is not to upload to the target. Click the run button and open the RAW Image block to view the video. Make sure the stop time is set to inf.
Note: Host PC should have "computer vision toolbox" to have the video viewer block.
The SSID and the Password for accessing the target camera are as follows.
SSID: ESP32_CAM
Password: 00000000
1.1 x ESP32 module with camera
2.Host PC with Matlab simulink & WiFi
Demo file : esp32_camera_control_demo.slx
This demo shows one use case scenario for the "Stream to target (RGB888 output)" of the camera block. In this mode the video feed can be processed within the target ESP32 board itself. Also user is given the option to stream the processed image to Matlab Simulink. This demo shows how to process the video feed and transmit it. Again here we used computer vision toolbox to do the image processing.
To connect the WiFi with the target board use following IP, SSID and the Password
SSID: ESP32_CAM
Password: 00000000
Video result can be viewed as same as the previous example(web browser/host_pc_camera_receive.slx).
1.1 x ESP32 module with camera
2.Host PC with Matlab simulink & WiFi
Once the demo is set up on the ESP32 camera module, connect to it with the given SSID and the Password using the client device via WiFi. Then live feed can be viewed using above mentioned methods. Here is an example of using host_pc_camera_receive.slx.