Update Demo-Mode.md

This commit is contained in:
CaCO3
2025-03-15 22:04:27 +01:00
committed by GitHub
parent df7263377e
commit 30a7f82fc3

View File

@@ -1,5 +1,5 @@
# Demo Mode # Demo Mode
For Demo and Testing Purpose, the device can use pre-recorded images. For Demo and Testing Purpose, the device can use pre-recorded raw images.
You need to enable it in the configuration (`TakeImage > Demo`) and also provide the needed files on the SD card. You need to enable it in the configuration (`TakeImage > Demo`) and also provide the needed files on the SD card.
@@ -27,47 +27,47 @@ demo/
520.9086.jpg 520.9086.jpg
520.9351.jpg 520.9351.jpg
## Recording ## Collecting images of your device
To record real images of a meter, you have to periodically fetch `http://<IP>/img_tmp/raw.jpg`. There are several ways to collect images from your device:
1. Use the `RawImagesLocation` parameter to store them directly onto your SD card, see [Parameter `RawImagesLocation`](Parameters/#parameter-rawimageslocation)
1. Use the Webhook to send the raw image on each round to a dedicated server, see [Webhook](Webhook) resp. [Parameter `UploadImg`](Parameters/#parameter-uploadimg).
1. Another option is to pull the images periodically from `http://<IP>/img_tmp/raw.jpg`. Eg. with an external service. Below is a (Linux)-Bash script to do it:
To automate this, you can use the following shell script (Linux only): ```bash
```bash #!/bin/bash
#!/bin/bash
while [[ true ]]; do while [[ true ]]; do
echo "fetching value..." echo "fetching value..."
wget -q http://192.168.1.151/value -O value.txt wget -q http://192.168.1.151/value -O value.txt
value=`cat value.txt` value=`cat value.txt`
echo "Value: $value" echo "Value: $value"
diff=`diff value.txt value_previous.txt` diff=`diff value.txt value_previous.txt`
changed=$? changed=$?
#echo "Diff: $diff" #echo "Diff: $diff"
if [[ $changed -ne 0 ]]; then if [[ $changed -ne 0 ]]; then
echo "Value changed:" echo "Value changed:"
echo $diff echo $diff
echo "fetching image..." echo "fetching image..."
wget -q http://192.168.1.151/img_tmp/raw.jpg -O $value.jpg wget -q http://192.168.1.151/img_tmp/raw.jpg -O $value.jpg
else else
echo "Value did not change, skipping image fetching!" echo "Value did not change, skipping image fetching!"
fi fi
cp value.txt value_previous.txt cp value.txt value_previous.txt
echo "waiting 60s..." echo "waiting 60s..."
sleep 60 sleep 60
done done
``` ```
## Use prepared images
## Installation See the selection below with prepared images.
Just install the zip file using the OTA Update functionality.
## How does it work ## How does it work
The Demo Mode tries to interfere as less as possible with the normal behavior. Whenever a Cam framebuffer gets taken (`esp_camera_fb_get()`), it replaces the framebuffer with the image from the SD card. The Demo Mode tries to interfere as less as possible with the normal behavior. Whenever a Cam framebuffer gets taken (`esp_camera_fb_get()`), it replaces the framebuffer with the image from the SD card.
## Example Data of a Water Meter ## Example Data of a Water Meter
You can use the following demo images if you want: You can use the following demo images if you want: