diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 9b38fc0..e57ea71 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -6,11 +6,18 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- - name: Set up python
- uses: actions/setup-python@v3
with:
- python-version: '3.x'
- architecture: 'x64'
+ submodules: 'true'
+ - uses: actions/cache@v3
+ with:
+ path: |
+ ~/.cache/pip
+ ~/.platformio/.cache
+ key: ${{ runner.os }}-pio
+ - name: Set up Python
+ uses: actions/setup-python@v4
+ with:
+ python-version: '3.9'
- name: Install PlatformIO
run: python -m pip install platformio
- name: Build firmware
@@ -18,5 +25,5 @@ jobs:
- name: Archive
uses: actions/upload-artifact@v3
with:
- name: firmware.bin
+ name: firmwares.zip
path: .pio/build/*/firmware.bin
diff --git a/README.md b/README.md
index 353358f..c5986c8 100644
--- a/README.md
+++ b/README.md
@@ -14,17 +14,17 @@ Flashing this software on a ESP32CAM module will make it a **RTSP streaming came
Supported protocols
-- :white_check_mark: RTSP
+- RTSP
The RTSP protocol is an industry standard and allows many CCTV systems and applications (like for example [VLC](https://www.videolan.org/vlc/)) to connect directly to the ESP32CAM camera stream.
It is also possible to stream directly to a server using [ffmpeg](https://ffmpeg.org).
This makes the module a camera server allowing recording and the stream can be stored on a disk and replayed later.
The URL is rtsp://<ip address>:554/mjpeg/1
-- :white_check_mark: HTTP Motion JPEG
+- HTTP Motion JPEG
The HTTP JPEG streamer makes it possible to watch the camera stream directly in your browser.
The URL is http://<ip address>/stream
-- :white_check_mark: HTTP image
+- HTTP image
The HTTP Image returns an HTTP JPEG image of the camera.
The URL is http://<ip address>/snapshot
@@ -36,15 +36,12 @@ This software supports the following ESP32-CAM (and alike) modules:
- WROVER-KIT
- M5STACK
-
-
The software provides a **configuration web server**, that can be used to:
- Provide information about the state of the device, wifi connection and camera,
- Set the WiFi parameters,
- Set the timeout for connecting to the access point,
- Set an access password,
-- Select the board type,
- Select the image size,
- Select the frame rate,
- Select the JPEG quality
@@ -83,25 +80,30 @@ It advertises HTTP (port 80) and RTSP (port 554)
- USB to Serial (TTL level) converter, piggyback board ESP32-CAM-MB or other way to connect to the device,
- [**PlatformIO**](https://platformio.org/) software (free download)
+## Boards
+
+There are a lot of boards available that are all called ESP32-CAM.
+However, there are differences in CPU (type/speed/cores), how the camera is connected, presence of PSRAM or not...
+To select the right board use the table below and use the configuration that is listed below for your board:
+
+| Board | Configuration | Image | CPU | RAM | Camera | Site |
+|--- |--- |--- |--- |--- |--- |--- |
+| Espressif ESP32-Wropver CAM | | | ESP32 | 520KB SRAM 4MB PSRAM | OV2640 | |
+| AI-Thinker ESP32-CAM | ai_thinker_esp32cam | | ESP32-S / 160Mhz | 520KB SRAM 4MB PSRAM | OV2640 | https://docs.ai-thinker.com/en/esp32-cam |
+| Espressif ESP-EYE | | | ESP32 | 520KB SRAM 4MB PSRAM | OV2640 | |
+| Espressif ESP-S3-EYE| | | ESP32-S3 | 520KB SRAM 4MB PSRAM | OV2640 | https://www.espressif.com/en/products/devkits/esp-eye/overview |
+| LilyGo camera module| | | ESP32 Wrover | 520KB SRAM 4MB PSRAM | OV2640 / OV5640
+| LilyGo Simcam| | | | | OV2640 | |
+| LilyGo TTGO-T Camera| | || | OV2640 | |
+| M5 Stack Camera| | ||| OV2640 | |
+| Seeed studio Xiao ESPS3 Sense| seeed_xiao_esp32s3_sense | | ESP32-S3 | 520KB SRAM 4MB PSRAM | OV2640 | |
+
## Installing and running PlatformIO
PlatformIO is available for all major operating systems: Windows, Linux and MacOS. It is also provided as a plugin to [Visual Studio Code](https://visualstudio.microsoft.com).
More information can be found at: [https://docs.platformio.org/en/latest/installation.html](https://docs.platformio.org/en/latest/installation.html) below the basics.
-### Debian based systems command-line install
-
-Install platformIO
-
-```sh
- sudo apt-get install python-pip
- sudo pip install platformio
- pio upgrade
-```
-
-### Windows, Linux and MacOS
-
-Install [**Visual Studio code**](https://code.visualstudio.com) and install the PlatformIO plugin.
-For command line usage Python and PlatformIO-Core is sufficient.
+Install [**Visual Studio Code**](https://code.visualstudio.com) and install the PlatformIO plugin.
## Putting the ESP32-CAM in download mode
@@ -290,7 +292,7 @@ Not all the boards are equipped with PSRAM:
| ESP32CAM (USB-C) | No |
| AI THINKER | Yes |
| TTGO T-CAM | No |
-| M5 STACK| | No |
+| M5 STACK | No |
| WROVER KIT | Yes |
Depending on the image resolution, framerate and quality, the PSRAM must be enabled and/or the number of frame buffers increased to keep up with the data generated by the sensor.
@@ -323,6 +325,10 @@ esp32cam-rtsp depends on PlatformIO, Bootstrap 5 and Micro-RTSP by Kevin Hester.
## Change history
+- Oktober 2023
+ - Added support for Seeed Xiao esp32s3
+ - New build system
+ - Updated documentation
- March 2023
- Added options to set PSRAM / Frame buffers
- Added JPEG Motion streaming
diff --git a/assets/ESP32-CAM-MB.jpg b/assets/ESP32-CAM-MB.jpg
deleted file mode 100644
index 13226eb..0000000
Binary files a/assets/ESP32-CAM-MB.jpg and /dev/null differ
diff --git a/assets/ESP32-CAM.jpg b/assets/ESP32-CAM.jpg
deleted file mode 100644
index e69fe5f..0000000
Binary files a/assets/ESP32-CAM.jpg and /dev/null differ
diff --git a/assets/boards/ai-thinker-esp32-cam-ipex.jpg b/assets/boards/ai-thinker-esp32-cam-ipex.jpg
new file mode 100644
index 0000000..a819215
Binary files /dev/null and b/assets/boards/ai-thinker-esp32-cam-ipex.jpg differ
diff --git a/assets/boards/ai-thinker-esp32-cam-mb.jpg b/assets/boards/ai-thinker-esp32-cam-mb.jpg
new file mode 100644
index 0000000..027ad46
Binary files /dev/null and b/assets/boards/ai-thinker-esp32-cam-mb.jpg differ
diff --git a/assets/boards/ai-thinker-esp32-cam.jpg b/assets/boards/ai-thinker-esp32-cam.jpg
new file mode 100644
index 0000000..5cca775
Binary files /dev/null and b/assets/boards/ai-thinker-esp32-cam.jpg differ
diff --git a/assets/boards/esp32-wrover-cam.jpg b/assets/boards/esp32-wrover-cam.jpg
new file mode 100644
index 0000000..f58b5bb
Binary files /dev/null and b/assets/boards/esp32-wrover-cam.jpg differ
diff --git a/assets/boards/espressif-esp-eye.jpg b/assets/boards/espressif-esp-eye.jpg
new file mode 100644
index 0000000..8276dd8
Binary files /dev/null and b/assets/boards/espressif-esp-eye.jpg differ
diff --git a/assets/boards/espressif-esps3-eye.jpg b/assets/boards/espressif-esps3-eye.jpg
new file mode 100644
index 0000000..79a072e
Binary files /dev/null and b/assets/boards/espressif-esps3-eye.jpg differ
diff --git a/assets/boards/lilygo-camera-module.jpg b/assets/boards/lilygo-camera-module.jpg
new file mode 100644
index 0000000..63312e8
Binary files /dev/null and b/assets/boards/lilygo-camera-module.jpg differ
diff --git a/assets/boards/lilygo-simcam.jpg b/assets/boards/lilygo-simcam.jpg
new file mode 100644
index 0000000..357f56b
Binary files /dev/null and b/assets/boards/lilygo-simcam.jpg differ
diff --git a/assets/boards/lilygo-ttgo-t-camera.jpg b/assets/boards/lilygo-ttgo-t-camera.jpg
new file mode 100644
index 0000000..4415c24
Binary files /dev/null and b/assets/boards/lilygo-ttgo-t-camera.jpg differ
diff --git a/assets/boards/m5stack-esp32-camera.jpg b/assets/boards/m5stack-esp32-camera.jpg
new file mode 100644
index 0000000..a240056
Binary files /dev/null and b/assets/boards/m5stack-esp32-camera.jpg differ
diff --git a/assets/boards/seeed-studio-xiao-esp32s3-sense.jpg b/assets/boards/seeed-studio-xiao-esp32s3-sense.jpg
new file mode 100644
index 0000000..c70122a
Binary files /dev/null and b/assets/boards/seeed-studio-xiao-esp32s3-sense.jpg differ
diff --git a/generate_html.ps1 b/generate_html.ps1
index 9474aa3..41885f2 100644
--- a/generate_html.ps1
+++ b/generate_html.ps1
@@ -1,5 +1,4 @@
. python3 -m pip install --upgrade pip setuptools wheel
. python3 -m pip install minify-html
-. python3 ./minify.py ./html/index.html ./html/index.min.html
-. python3 ./minify.py ./html/restart.html ./html/restart.min.html
\ No newline at end of file
+. python3 ./minify.py ./html/index.html ./html/index.min.html
\ No newline at end of file
diff --git a/generate_html.sh b/generate_html.sh
index 7920450..c313849 100755
--- a/generate_html.sh
+++ b/generate_html.sh
@@ -3,5 +3,4 @@
python3 -m pip install --upgrade pip setuptools wheel
python3 -m pip install minify-html
-python3 ./minify.py ./html/index.html ./html/index.min.html
-python3 ./minify.py ./html/restart.html ./html/restart.min.html
\ No newline at end of file
+python3 ./minify.py ./html/index.html ./html/index.min.html
\ No newline at end of file
diff --git a/html/index.html b/html/index.html
index dfbb06f..4f70823 100644
--- a/html/index.html
+++ b/html/index.html
@@ -104,17 +104,11 @@
- {{#ConfigChanged}}
-
-
- The configuration has been changed.
- It is recommended to restart the device.
Failed to initialize the camera! Result: {{CameraInitResult}} ({{CameraInitResultText}}) Please check hardware or correct the camera settings and restart.
Failed to initialize the camera! Result: {{CameraInitResult}} ({{CameraInitResultText}}) Please check hardware or correct the camera settings and restart.