diff --git a/.travis.yml b/.travis.yml
index 693813a..08e1b19 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -7,18 +7,23 @@ os:
dist: focal
+branches:
+ only:
+ - master
+
+
before_script:
- "export DISPLAY=:99.0"
- sleep 3 # give xvfb some time to start
- - wget http://downloads.arduino.cc/arduino-1.8.13-linux64.tar.xz
- - tar xf arduino-1.8.13-linux64.tar.xz
- - mv arduino-1.8.13 $HOME/arduino_ide
+ - wget http://downloads.arduino.cc/arduino-1.8.15-linux64.tar.xz
+ - tar xf arduino-1.8.15-linux64.tar.xz
+ - mv arduino-1.8.15 $HOME/arduino_ide
- cd $HOME/arduino_ide/hardware
- mkdir esp32
- cd esp32
- - wget https://github.com/espressif/arduino-esp32/archive/refs/tags/1.0.6.tar.gz
- - tar -xzf 1.0.6.tar.gz
- - mv arduino-esp32-1.0.6/ esp32
+ - wget https://github.com/espressif/arduino-esp32/archive/refs/tags/2.0.0.tar.gz
+ - tar -xzf 2.0.0.tar.gz
+ - mv arduino-esp32-2.0.0/ esp32
- cd esp32/tools
- python --version
- python get.py
@@ -28,7 +33,7 @@ before_script:
script:
- cd $TRAVIS_BUILD_DIR
- export PATH="$HOME/arduino_ide:$PATH"
- - arduino --board esp32:esp32:esp32:PartitionScheme=default,FlashFreq=80 --pref compiler.warning_level=all --save-prefs
+ - arduino --board esp32:esp32:esp32:PSRAM=enabled,PartitionScheme=min_spiffs,CPUFreq=240,FlashMode=qio,FlashFreq=80,DebugLevel=none --pref compiler.warning_level=all --save-prefs
- arduino --verbose --verify esp32-cam-webserver.ino
- cp --preserve --verbose myconfig.sample.h myconfig.h
- arduino --verbose --verify esp32-cam-webserver.ino
diff --git a/README.md b/README.md
index 933ee92..64ae52d 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-# ESP32-CAM example revisited. [](https://travis-ci.org/github/easytarget/esp32-cam-webserver) 
+# ESP32-CAM example revisited. [](https://travis-ci.com/github/easytarget/esp32-cam-webserver) 
## Taken from the ESP examples, and expanded
This sketch is a extension/expansion/rework of the 'official' ESP32 Camera example sketch from Espressif:
@@ -46,13 +46,17 @@ https://randomnerdtutorials.com/esp32-cam-troubleshooting-guide/
The ESP itself is susceptable to the usual list of WiFi problems, not helped by having small antennas, older designs, congested airwaves and demanding users. The majority of disconnects, stutters and other comms problems are simply due to 'WiFi issues'. The AI-THINKER camera module & esp32 combination is quite susceptable to power supply problems affecting both WiFi conctivity and Video quality; short cabling and decent power supplies are your friend here; also well cooled cases and, if you have the time, decoupling capacitors on the power lines.
A basic limitation of the sketch is that it can can only support one stream at a time. If you try to connect to a cam that is already streaming (or attempting to stream) you will get no response and, eventually, a timeout. The stream itself is a [MJPEG stream](https://en.wikipedia.org/wiki/Motion_JPEG), which relies on the client (the web browser) to hold the connection open and request each new frame in turn via javascript. This can cause errors when browsers run into Javascript or caching problem, fail to request new frames or refuse to close the connection.
+* You can check the `/dump` page of the cam to see if it currently reports the camera as streaming or not.
-The existing [issues list](https://github.com/easytarget/esp32-cam-webserver/issues?q=is%3Aissue) on Github is a good place to start if you have a specific issue not covered above
+The existing [issues list](https://github.com/easytarget/esp32-cam-webserver/issues?q=is%3Aissue) on Github is a good place to start if you have a specific issue not covered above.
+
+Note that I do not respond to any Private Messages (via github, hackaday, or wherever) for support.
## Setup:
* For programming you will need a suitable development environment, I use the Arduino IDE, but this code should work in the Espressif development environment too.
-* Make sure you are using the [latest version](https://www.arduino.cc/en/main/software#download) of the IDE and then follow [This Guide](https://github.com/espressif/arduino-esp32/blob/master/docs/arduino-ide/boards_manager.md) to set up the Espressif Arduino core for the IDE.
+* Make sure you are using the [latest version](https://www.arduino.cc/en/main/software#download) of the IDE and then follow [This Guide](https://docs.espressif.com/projects/arduino-esp32/en/latest/installing.html) to set up the Espressif Arduino core for the IDE.
+* _I do not recommend or support running with development builds of either the IDE or the ESP arduino core._
* If you have a development board (anything that can be programmed via a standard USB cable/jack on the board itself) you are in luck. Just plug it in and skip ahead to the [config](#config) section. Remember to set your board model.
* The AI-THINKER board requires use of an external **3.3v** serial adapter to program; I use a `FTDI Friend` adapter, for more about this read AdaFruits excellent [FTDI Friend guide](https://learn.adafruit.com/ftdi-friend).
* Be careful not to use a 5v serial adapter since this will damage the ESP32.
@@ -115,7 +119,11 @@ I would also like to shoutout to @jmfloyd; who suggested rotating the image in t

*Standalone StreamViewer; No decoration or controls, the image is resizable, and you can doubleclick it for fullscreen*
-
*Boring Details*
+
*Boring Details, useful when debugging or if you want to check stats*
+
+### API
+The communications between the web browser and the camera module can also be used to send commands directly to the camera (eg to automate it, etc) and form, in effect, an API for the camera.
+* I have [documented this here](https://github.com/easytarget/esp32-cam-webserver/blob/master/API.md).
## Notes: