forked from external-repos/esp32cam-rtsp
Corrected HTML for ipv4
fixed Sewrial issue esp32s2
This commit is contained in:
@@ -107,7 +107,7 @@ To select the right board use the table below and use the configuration that is
|
|||||||
| LilyGo Simcam | |  | | | OV2640 | |
|
| LilyGo Simcam | |  | | | OV2640 | |
|
||||||
| LilyGo TTGO-T Camera | |  | | | OV2640 | |
|
| LilyGo TTGO-T Camera | |  | | | OV2640 | |
|
||||||
| M5 Stack Camera | |  | | | OV2640 | |
|
| M5 Stack Camera | |  | | | OV2640 | |
|
||||||
| Seeed studio Xiao ESPS3 Sense | seeed_xiao_esp32s3_sense |  | ESP32-S3 | 520KB SRAM 4MB PSRAM | OV2640 | |
|
| Seeed studio Xiao ESPS3 Sense | seeed_xiao_esp32s3_sense |  | ESP32-S3 | 520KB SRAM 4MB PSRAM | OV5640 | |
|
||||||
|
|
||||||
## Installing and running PlatformIO
|
## Installing and running PlatformIO
|
||||||
|
|
||||||
|
|||||||
BIN
assets/boards/schematics/XIAO_ESP32S3_ExpBoard_v1.0_SCH.pdf
Normal file
BIN
assets/boards/schematics/XIAO_ESP32S3_ExpBoard_v1.0_SCH.pdf
Normal file
Binary file not shown.
@@ -9,7 +9,8 @@
|
|||||||
"'-D ESP32CAM_AI_THINKER'",
|
"'-D ESP32CAM_AI_THINKER'",
|
||||||
"'-D BOARD_HAS_PSRAM'",
|
"'-D BOARD_HAS_PSRAM'",
|
||||||
"'-mfix-esp32-psram-cache-issue'",
|
"'-mfix-esp32-psram-cache-issue'",
|
||||||
"'-D LED_GPIO=33'",
|
"'-D USER_LED_GPIO=33'",
|
||||||
|
"'-D USER_LED_ON_LEVEL=HIGH'",
|
||||||
"'-D CAMERA_CONFIG_PIN_PWDN=32'",
|
"'-D CAMERA_CONFIG_PIN_PWDN=32'",
|
||||||
"'-D CAMERA_CONFIG_PIN_RESET=GPIO_NUM_NC'",
|
"'-D CAMERA_CONFIG_PIN_RESET=GPIO_NUM_NC'",
|
||||||
"'-D CAMERA_CONFIG_PIN_XCLK=0'",
|
"'-D CAMERA_CONFIG_PIN_XCLK=0'",
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
"extra_flags": [
|
"extra_flags": [
|
||||||
"'-D ESP32CAM_ESPRESSIF_ESP32S2_CAM_BOARD'",
|
"'-D ESP32CAM_ESPRESSIF_ESP32S2_CAM_BOARD'",
|
||||||
"'-D BOARD_HAS_PSRAM'",
|
"'-D BOARD_HAS_PSRAM'",
|
||||||
"'-D ARDUINO_USB_MODE=1'",
|
"'-D ARDUINO_USB_MODE=0'",
|
||||||
"'-D ARDUINO_USB_CDC_ON_BOOT=1'",
|
"'-D ARDUINO_USB_CDC_ON_BOOT=1'",
|
||||||
"'-D ARDUINO_RUNNING_CORE=1'",
|
"'-D ARDUINO_RUNNING_CORE=1'",
|
||||||
"'-D ARDUINO_EVENT_RUNNING_CORE=1'",
|
"'-D ARDUINO_EVENT_RUNNING_CORE=1'",
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
"extra_flags": [
|
"extra_flags": [
|
||||||
"'-D ESP32CAM_ESPRESSIF_ESP32S2_CAM_BOARD'",
|
"'-D ESP32CAM_ESPRESSIF_ESP32S2_CAM_BOARD'",
|
||||||
"'-D BOARD_HAS_PSRAM'",
|
"'-D BOARD_HAS_PSRAM'",
|
||||||
"'-D ARDUINO_USB_MODE=1'",
|
"'-D ARDUINO_USB_MODE=0'",
|
||||||
"'-D ARDUINO_USB_CDC_ON_BOOT=1'",
|
"'-D ARDUINO_USB_CDC_ON_BOOT=1'",
|
||||||
"'-D ARDUINO_RUNNING_CORE=1'",
|
"'-D ARDUINO_RUNNING_CORE=1'",
|
||||||
"'-D ARDUINO_EVENT_RUNNING_CORE=1'",
|
"'-D ARDUINO_EVENT_RUNNING_CORE=1'",
|
||||||
|
|||||||
@@ -9,7 +9,8 @@
|
|||||||
"'-D ESP32CAM_ESPRESSIF_ESP_EYE'",
|
"'-D ESP32CAM_ESPRESSIF_ESP_EYE'",
|
||||||
"'-D BOARD_HAS_PSRAM'",
|
"'-D BOARD_HAS_PSRAM'",
|
||||||
"'-mfix-esp32-psram-cache-issue'",
|
"'-mfix-esp32-psram-cache-issue'",
|
||||||
"'-D LED_GPIO=14'",
|
"'-D USER_LED_GPIO=14'",
|
||||||
|
"'-D USER_LED_ON_LEVEL=HIGH'",
|
||||||
"'-D CAMERA_CONFIG_PIN_PWDN=GPIO_NUM_NC'",
|
"'-D CAMERA_CONFIG_PIN_PWDN=GPIO_NUM_NC'",
|
||||||
"'-D CAMERA_CONFIG_PIN_RESET=GPIO_NUM_NC'",
|
"'-D CAMERA_CONFIG_PIN_RESET=GPIO_NUM_NC'",
|
||||||
"'-D CAMERA_CONFIG_PIN_XCLK=11'",
|
"'-D CAMERA_CONFIG_PIN_XCLK=11'",
|
||||||
|
|||||||
@@ -9,7 +9,8 @@
|
|||||||
"'-D ESP32CAM_WROVER_KIT'",
|
"'-D ESP32CAM_WROVER_KIT'",
|
||||||
"'-D BOARD_HAS_PSRAM'",
|
"'-D BOARD_HAS_PSRAM'",
|
||||||
"'-mfix-esp32-psram-cache-issue'",
|
"'-mfix-esp32-psram-cache-issue'",
|
||||||
"'-D LED_GPIO=2'",
|
"'-D USER_LED_GPIO=2'",
|
||||||
|
"'-D USER_LED_ON_LEVEL=HIGH'",
|
||||||
"'-D CAMERA_CONFIG_PIN_PWDN=GPIO_NUM_NC'",
|
"'-D CAMERA_CONFIG_PIN_PWDN=GPIO_NUM_NC'",
|
||||||
"'-D CAMERA_CONFIG_PIN_RESET=GPIO_NUM_NC'",
|
"'-D CAMERA_CONFIG_PIN_RESET=GPIO_NUM_NC'",
|
||||||
"'-D CAMERA_CONFIG_PIN_XCLK=21'",
|
"'-D CAMERA_CONFIG_PIN_XCLK=21'",
|
||||||
|
|||||||
@@ -13,7 +13,8 @@
|
|||||||
"'-D ARDUINO_USB_CDC_ON_BOOT=1'",
|
"'-D ARDUINO_USB_CDC_ON_BOOT=1'",
|
||||||
"'-D ARDUINO_RUNNING_CORE=1'",
|
"'-D ARDUINO_RUNNING_CORE=1'",
|
||||||
"'-D ARDUINO_EVENT_RUNNING_CORE=1'",
|
"'-D ARDUINO_EVENT_RUNNING_CORE=1'",
|
||||||
"'-D LED_GPIO=14'",
|
"'-D USER_LED_GPIO=14'",
|
||||||
|
"'-D USER_LED_ON_LEVEL=HIGH'",
|
||||||
"'-D CAMERA_CONFIG_PIN_PWDN=GPIO_NUM_NC'",
|
"'-D CAMERA_CONFIG_PIN_PWDN=GPIO_NUM_NC'",
|
||||||
"'-D CAMERA_CONFIG_PIN_RESET=21'",
|
"'-D CAMERA_CONFIG_PIN_RESET=21'",
|
||||||
"'-D CAMERA_CONFIG_PIN_XCLK=11'",
|
"'-D CAMERA_CONFIG_PIN_XCLK=11'",
|
||||||
|
|||||||
@@ -13,6 +13,8 @@
|
|||||||
"'-D ARDUINO_USB_CDC_ON_BOOT=1'",
|
"'-D ARDUINO_USB_CDC_ON_BOOT=1'",
|
||||||
"'-D ARDUINO_RUNNING_CORE=1'",
|
"'-D ARDUINO_RUNNING_CORE=1'",
|
||||||
"'-D ARDUINO_EVENT_RUNNING_CORE=1'",
|
"'-D ARDUINO_EVENT_RUNNING_CORE=1'",
|
||||||
|
"'-D USER_LED_GPIO=21'",
|
||||||
|
"'-D USER_LED_ON_LEVEL=LOW'",
|
||||||
"'-D CAMERA_CONFIG_PIN_PWDN=GPIO_NUM_NC'",
|
"'-D CAMERA_CONFIG_PIN_PWDN=GPIO_NUM_NC'",
|
||||||
"'-D CAMERA_CONFIG_PIN_RESET=GPIO_NUM_NC'",
|
"'-D CAMERA_CONFIG_PIN_RESET=GPIO_NUM_NC'",
|
||||||
"'-D CAMERA_CONFIG_PIN_XCLK=10'",
|
"'-D CAMERA_CONFIG_PIN_XCLK=10'",
|
||||||
@@ -32,7 +34,7 @@
|
|||||||
"'-D CAMERA_CONFIG_CLK_FREQ_HZ=20000000'",
|
"'-D CAMERA_CONFIG_CLK_FREQ_HZ=20000000'",
|
||||||
"'-D CAMERA_CONFIG_LEDC_TIMER=LEDC_TIMER_0'",
|
"'-D CAMERA_CONFIG_LEDC_TIMER=LEDC_TIMER_0'",
|
||||||
"'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'",
|
"'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'",
|
||||||
"'-D CAMERA_CONFIG_FB_COUNT=2'",
|
"'-D CAMERA_CONFIG_FB_COUNT=1'",
|
||||||
"'-D CAMERA_CONFIG_FB_LOCATION=CAMERA_FB_IN_PSRAM'"
|
"'-D CAMERA_CONFIG_FB_LOCATION=CAMERA_FB_IN_PSRAM'"
|
||||||
],
|
],
|
||||||
"f_cpu": "240000000L",
|
"f_cpu": "240000000L",
|
||||||
|
|||||||
@@ -240,11 +240,11 @@
|
|||||||
<h2 class="text-center">Special URLs / API</h2>
|
<h2 class="text-center">Special URLs / API</h2>
|
||||||
<div class="flex-table">
|
<div class="flex-table">
|
||||||
<div class="row">RTSP camera stream:</div>
|
<div class="row">RTSP camera stream:</div>
|
||||||
<div><a href="rtsp://{{IpV4}}:{{RtspPort}}/mjpeg/1">rtsp://{{IpV4}}:{{RtspPort}}/mjpeg/1</a></div>
|
<div><a href="rtsp://{{IPv4}}:{{RtspPort}}/mjpeg/1">rtsp://{{IPv4}}:{{RtspPort}}/mjpeg/1</a></div>
|
||||||
<div class="row">JPEG Motion stream:</div>
|
<div class="row">JPEG Motion stream:</div>
|
||||||
<div><a href="http://{{IpV4}}/stream" target="_blank" rel="noopener">http://{{IpV4}}/stream</a></div>
|
<div><a href="http://{{IPv4}}/stream" target="_blank" rel="noopener">http://{{IPv4}}/stream</a></div>
|
||||||
<div class="row">Snapshot of the camera:</div>
|
<div class="row">Snapshot of the camera:</div>
|
||||||
<div><a href="http://{{IpV4}}/snapshot " target="_blank" rel="noopener">http://{{IpV4}}/snapshot</a> </div>
|
<div><a href="http://{{IPv4}}/snapshot " target="_blank" rel="noopener">http://{{IPv4}}/snapshot</a> </div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -67,17 +67,11 @@ board = esp32cam_espressif_esp_eye
|
|||||||
# Use board connection
|
# Use board connection
|
||||||
# The 18 pin header on the board has Y5 and Y3 swapped
|
# The 18 pin header on the board has Y5 and Y3 swapped
|
||||||
board = esp32cam_espressif_esp32s2_cam_board
|
board = esp32cam_espressif_esp32s2_cam_board
|
||||||
build_flags =
|
|
||||||
${env.build_flags}
|
|
||||||
-D IOTWEBCONF_DEBUG_DISABLED
|
|
||||||
|
|
||||||
[env:esp32cam_espressif_esp32s2_cam_header]
|
[env:esp32cam_espressif_esp32s2_cam_header]
|
||||||
# Use header connection
|
# Use header connection
|
||||||
# The 18 pin header on the board has Y5 and Y3 swapped
|
# The 18 pin header on the board has Y5 and Y3 swapped
|
||||||
board = esp32cam_espressif_esp32s2_cam_header
|
board = esp32cam_espressif_esp32s2_cam_header
|
||||||
build_flags =
|
|
||||||
${env.build_flags}
|
|
||||||
-D IOTWEBCONF_DEBUG_DISABLED
|
|
||||||
|
|
||||||
[env:esp32cam_espressif_esp32s3_cam_lcd]
|
[env:esp32cam_espressif_esp32s3_cam_lcd]
|
||||||
board = esp32cam_espressif_esp32s3_cam_lcd
|
board = esp32cam_espressif_esp32s3_cam_lcd
|
||||||
|
|||||||
18
src/main.cpp
18
src/main.cpp
@@ -295,7 +295,7 @@ void start_rtsp_server()
|
|||||||
camera_server = std::unique_ptr<rtsp_server>(new rtsp_server(cam, param_frame_duration.value(), RTSP_PORT));
|
camera_server = std::unique_ptr<rtsp_server>(new rtsp_server(cam, param_frame_duration.value(), RTSP_PORT));
|
||||||
// Add RTSP service to mDNS
|
// Add RTSP service to mDNS
|
||||||
// HTTP is already set by iotWebConf
|
// HTTP is already set by iotWebConf
|
||||||
MDNS.addService("rtsp", "tcp", 554);
|
MDNS.addService("rtsp", "tcp", RTSP_PORT);
|
||||||
}
|
}
|
||||||
|
|
||||||
void on_connected()
|
void on_connected()
|
||||||
@@ -318,18 +318,16 @@ void setup()
|
|||||||
{
|
{
|
||||||
// Disable brownout
|
// Disable brownout
|
||||||
WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 0);
|
WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 0);
|
||||||
// LED_GPIO (GPIO33) has inverted logic false => LED on
|
|
||||||
#ifdef LED_GPIO
|
#ifdef USER_LED_GPIO
|
||||||
pinMode(LED_GPIO, OUTPUT);
|
pinMode(USER_LED_GPIO, OUTPUT);
|
||||||
digitalWrite(LED_GPIO, false);
|
digitalWrite(USER_LED_GPIO, !USER_LED_ON_LEVEL);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// ESP32S2 has no serial port
|
|
||||||
#ifndef ARDUINO_USB_CDC_ON_BOOT
|
|
||||||
Serial.begin(115200);
|
Serial.begin(115200);
|
||||||
Serial.setDebugOutput(true);
|
Serial.setDebugOutput(true);
|
||||||
#endif
|
|
||||||
|
|
||||||
|
log_i("Core debug level: %d", CORE_DEBUG_LEVEL);
|
||||||
log_i("CPU Freq: %d Mhz, %d core(s)", getCpuFrequencyMhz(), ESP.getChipCores());
|
log_i("CPU Freq: %d Mhz, %d core(s)", getCpuFrequencyMhz(), ESP.getChipCores());
|
||||||
log_i("Free heap: %d bytes", ESP.getFreeHeap());
|
log_i("Free heap: %d bytes", ESP.getFreeHeap());
|
||||||
log_i("SDK version: %s", ESP.getSdkVersion());
|
log_i("SDK version: %s", ESP.getSdkVersion());
|
||||||
@@ -372,8 +370,8 @@ void setup()
|
|||||||
iotWebConf.getApTimeoutParameter()->visible = true;
|
iotWebConf.getApTimeoutParameter()->visible = true;
|
||||||
iotWebConf.setConfigSavedCallback(on_config_saved);
|
iotWebConf.setConfigSavedCallback(on_config_saved);
|
||||||
iotWebConf.setWifiConnectionCallback(on_connected);
|
iotWebConf.setWifiConnectionCallback(on_connected);
|
||||||
#ifdef LED_GPIO
|
#ifdef USER_LED_GPIO
|
||||||
iotWebConf.setStatusPin(LED_GPIO, LOW);
|
iotWebConf.setStatusPin(USER_LED_GPIO, USER_LED_ON_LEVEL);
|
||||||
#endif
|
#endif
|
||||||
iotWebConf.init();
|
iotWebConf.init();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user