diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index a6de09b3d..7b3c93e5c 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -53,6 +53,7 @@ jobs: ./code/.pio/build/esp32cam/partitions.bin ./code/.pio/build/esp32cam/bootloader.bin ./html/* + ./demo/* key: generated-files-${{ github.run_id }} restore-keys: generated-files # This matches above key as it is only used as a prefix. it the restores the nearest cache, see https://github.com/restore-keys:/blob/main/tips-and-workarounds.md#update-a-cache @@ -87,6 +88,11 @@ jobs: echo "Replacing variables..." cd html; find . -type f -exec sed -i 's/$COMMIT_HASH/${{ steps.vars.outputs.sha_short }}/g' {} \; + - name: Prepare Demo mode files + run: | + rm -rf ./demo + mkdir demo + cp -r ./sd-card/demo/* ./demo/ ######################################################################################### ## Pack for Update @@ -97,6 +103,7 @@ jobs: # - /firmware.bin # - (optional) /html/* (inkl. subfolders) # - (optional) /config/*.tfl + # - (optional) /demo/* runs-on: ubuntu-latest needs: build @@ -111,6 +118,7 @@ jobs: ./code/.pio/build/esp32cam/partitions.bin ./code/.pio/build/esp32cam/bootloader.bin ./html/* + ./demo/* key: generated-files-${{ github.run_id }} restore-keys: generated-files # This matches above key as it is only used as a prefix. it the restores the nearest cache, see https://github.com/restore-keys:/blob/main/tips-and-workarounds.md#update-a-cache @@ -135,6 +143,9 @@ jobs: - name: Add Web UI to update run: cp -r ./html ./update/ + + - name: Add Demo mode files to update + run: cp -r ./demo ./update/ - name: Add CNN to update run: | @@ -158,6 +169,7 @@ jobs: # remote_setup__version.zip file with following content: # - /firmware.bin # - /html/* (inkl. subfolders) + # - /demo/* # - /config/* runs-on: ubuntu-latest needs: build @@ -173,6 +185,7 @@ jobs: ./code/.pio/build/esp32cam/partitions.bin ./code/.pio/build/esp32cam/bootloader.bin ./html/* + ./demo/* key: generated-files-${{ github.run_id }} restore-keys: generated-files # This matches above key as it is only used as a prefix. it the restores the nearest cache, see https://github.com/restore-keys:/blob/main/tips-and-workarounds.md#update-a-cache @@ -197,6 +210,9 @@ jobs: - name: Add Web UI to remote_setup run: cp -r ./html ./remote_setup/ + - name: Add Demo mode files to update + run: cp -r ./demo ./update/ + - name: Add whole config folder to remote_setup run: | rm -rf ./remote_setup/config/ @@ -229,6 +245,7 @@ jobs: ./code/.pio/build/esp32cam/partitions.bin ./code/.pio/build/esp32cam/bootloader.bin ./html/* + ./demo/* key: generated-files-${{ github.run_id }} restore-keys: generated-files # This matches above key as it is only used as a prefix. it the restores the nearest cache, see https://github.com/restore-keys:/blob/main/tips-and-workarounds.md#update-a-cache @@ -257,7 +274,9 @@ jobs: cp -f "./code/.pio/build/esp32cam/bootloader.bin" "manual_setup/bootloader.bin" cp -f "./code/.pio/build/esp32cam/partitions.bin" "manual_setup/partitions.bin" rm -rf ./sd-card/html + rm -rf ./sd-card/demo cp -r ./html ./sd-card/ # Overwrite the Web UI with the preprocessed files + cp -r ./demo ./sd-card/ cd sd-card; zip -r ../manual_setup/sd-card.zip *; cd .. cd ./manual_setup diff --git a/Changelog.md b/Changelog.md index 7cf431e12..fde4ec306 100644 --- a/Changelog.md +++ b/Changelog.md @@ -1,3 +1,20 @@ +## [16.0.0-RC3] - 2024-10-05 + +For a full list of changes see [Full list of changes](https://github.com/jomjol/AI-on-the-edge-device/compare/v15.7.0...v16.0.0-RC1) + +#### Known issues +Please check the [issues](https://github.com/jomjol/AI-on-the-edge-device/issues) and +[discussions](https://github.com/jomjol/AI-on-the-edge-device/discussions) before reporting a new issue. + +#### Core Changes +Only changes since RC2 are listed: +- Renamed MQTT topic from `rate_per_digitalization_round` to `rate_per_digitization_round` (change happened already in RC1) + +#### Bug Fixes +Only changes since RC2 are listed: +- Re-did revertion of TFlite submodule update as certain modules crash with it (#3269) (change was lost) + + ## [16.0.0-RC2] - 2024-10-04 For a full list of changes see [Full list of changes](https://github.com/jomjol/AI-on-the-edge-device/compare/v15.7.0...v16.0.0-RC1) diff --git a/sd-card/demo/530.07077.jpg b/sd-card/demo/530.07077.jpg new file mode 100644 index 000000000..f224fab8a Binary files /dev/null and b/sd-card/demo/530.07077.jpg differ diff --git a/sd-card/demo/530.07325.jpg b/sd-card/demo/530.07325.jpg new file mode 100644 index 000000000..5ebc7635f Binary files /dev/null and b/sd-card/demo/530.07325.jpg differ diff --git a/sd-card/demo/530.12067.jpg b/sd-card/demo/530.12067.jpg new file mode 100644 index 000000000..10b399d53 Binary files /dev/null and b/sd-card/demo/530.12067.jpg differ diff --git a/sd-card/demo/530.21419.jpg b/sd-card/demo/530.21419.jpg new file mode 100644 index 000000000..11e0ba7c2 Binary files /dev/null and b/sd-card/demo/530.21419.jpg differ diff --git a/sd-card/demo/530.48435.jpg b/sd-card/demo/530.48435.jpg new file mode 100644 index 000000000..4537295ff Binary files /dev/null and b/sd-card/demo/530.48435.jpg differ diff --git a/sd-card/demo/530.70265.jpg b/sd-card/demo/530.70265.jpg new file mode 100644 index 000000000..050c0ce69 Binary files /dev/null and b/sd-card/demo/530.70265.jpg differ diff --git a/sd-card/demo/530.95675.jpg b/sd-card/demo/530.95675.jpg new file mode 100644 index 000000000..6bc3e1def Binary files /dev/null and b/sd-card/demo/530.95675.jpg differ diff --git a/sd-card/demo/531.10877.jpg b/sd-card/demo/531.10877.jpg new file mode 100644 index 000000000..6a892c589 Binary files /dev/null and b/sd-card/demo/531.10877.jpg differ diff --git a/sd-card/demo/531.24108.jpg b/sd-card/demo/531.24108.jpg new file mode 100644 index 000000000..f6461adbf Binary files /dev/null and b/sd-card/demo/531.24108.jpg differ diff --git a/sd-card/demo/531.38301.jpg b/sd-card/demo/531.38301.jpg new file mode 100644 index 000000000..cdfa7fb42 Binary files /dev/null and b/sd-card/demo/531.38301.jpg differ diff --git a/sd-card/demo/531.63071.jpg b/sd-card/demo/531.63071.jpg new file mode 100644 index 000000000..76f62529c Binary files /dev/null and b/sd-card/demo/531.63071.jpg differ diff --git a/sd-card/demo/531.82235.jpg b/sd-card/demo/531.82235.jpg new file mode 100644 index 000000000..63b165dd0 Binary files /dev/null and b/sd-card/demo/531.82235.jpg differ diff --git a/sd-card/demo/config.ini b/sd-card/demo/config.ini new file mode 100644 index 000000000..0973caa04 --- /dev/null +++ b/sd-card/demo/config.ini @@ -0,0 +1,137 @@ +[TakeImage] +;RawImagesLocation = /log/source +;RawImagesRetention = 15 +WaitBeforeTakingPicture = 2 +CamGainceiling = x8 +CamQuality = 10 +CamBrightness = 0 +CamContrast = 0 +CamSaturation = 0 +CamSharpness = 0 +CamAutoSharpness = false +CamSpecialEffect = no_effect +CamWbMode = auto +CamAwb = true +CamAwbGain = true +CamAec = true +CamAec2 = true +CamAeLevel = 2 +CamAecValue = 600 +CamAgc = true +CamAgcGain = 8 +CamBpc = true +CamWpc = true +CamRawGma = true +CamLenc = true +CamHmirror = false +CamVflip = false +CamDcw = true +CamDenoise = 0 +CamZoom = false +CamZoomOffsetX = 0 +CamZoomOffsetY = 0 +CamZoomSize = 0 +LEDIntensity = 0 +Demo = true + +[Alignment] +InitialRotate = -34.6 +SearchFieldX = 20 +SearchFieldY = 20 +AlignmentAlgo = default +/config/ref0.jpg 30 189 +/config/ref1.jpg 536 113 + +[Digits] +Model = /config/dig-cont_0710_s3_q.tflite +CNNGoodThreshold = 0.5 +;ROIImagesLocation = /log/digit +;ROIImagesRetention = 3 +main.dig1 438 62 49 71 false + +[Analog] +Model = /config/ana-cont_1300_s2.tflite +;ROIImagesLocation = /log/analog +;ROIImagesRetention = 3 +main.ana1 452 199 120 120 false + +[PostProcessing] +main.DecimalShift = 0 +;main.AnalogToDigitTransitionStart = +main.ChangeRateThreshold = 2 +PreValueUse = true +PreValueAgeStartup = 720 +main.AllowNegativeRates = true +;main.MaxRateValue = 0 +;main.MaxRateType = AbsoluteChange +main.ExtendedResolution = true +main.IgnoreLeadingNaN = false +ErrorMessage = true +CheckDigitIncreaseConsistency = false + +;[MQTT] +;Uri = mqtt://IP-ADRESS:1883 +;MainTopic = watermeter +;ClientID = watermeter +;user = USERNAME +;password = PASSWORD +RetainMessages = false +HomeassistantDiscovery = false +;MeterType = other +;CACert = /config/certs/RootCA.pem +;ClientCert = /config/certs/client.pem.crt +;ClientKey = /config/certs/client.pem.key + +;[InfluxDB] +;Uri = undefined +;Database = undefined +;user = undefined +;password = undefined +;main.Measurement = undefined +;main.Field = + +;[InfluxDBv2] +;Uri = undefined +;Bucket = undefined +;Org = undefined +;Token = undefined +;main.Measurement = undefined +;main.Field = undefined + +;[Webhook] +;Uri = undefined +;ApiKey = undefined +;UploadImg = 0 + +;[GPIO] +;IO0 = input disabled 10 false false +;IO1 = input disabled 10 false false +;IO3 = input disabled 10 false false +;IO4 = built-in-led disabled 10 false false +;IO12 = input-pullup disabled 10 false false +;IO13 = input-pullup disabled 10 false false +LEDType = WS2812 +LEDNumbers = 2 +LEDColor = 150 150 150 + +[AutoTimer] +AutoStart = true +Interval = 1 + +[DataLogging] +DataLogActive = false +DataFilesRetention = 3 + +[Debug] +LogLevel = 3 +LogfilesRetention = 3 + +[System] +Tooltip = true +TimeZone = CET-1CEST,M3.5.0,M10.5.0/3 +;TimeServer = pool.ntp.org +;Hostname = undefined +RSSIThreshold = -75 +CPUFrequency = 160 +SetupMode = false + diff --git a/sd-card/demo/files.txt b/sd-card/demo/files.txt new file mode 100644 index 000000000..fdd3f5c73 --- /dev/null +++ b/sd-card/demo/files.txt @@ -0,0 +1,12 @@ +530.07077.jpg +530.07325.jpg +530.12067.jpg +530.21419.jpg +530.48435.jpg +530.70265.jpg +530.95675.jpg +531.10877.jpg +531.24108.jpg +531.38301.jpg +531.63071.jpg +531.82235.jpg diff --git a/sd-card/demo/leer.txt b/sd-card/demo/leer.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/sd-card/demo/prevalue.ini b/sd-card/demo/prevalue.ini new file mode 100644 index 000000000..d26b4ddae --- /dev/null +++ b/sd-card/demo/prevalue.ini @@ -0,0 +1 @@ +main 2024-10-06T23:02:42+0200 0.05 diff --git a/sd-card/demo/readme.txt b/sd-card/demo/readme.txt new file mode 100644 index 000000000..6a726b451 --- /dev/null +++ b/sd-card/demo/readme.txt @@ -0,0 +1,12 @@ +This folder contains a prepared demo setup. + +All you need to do is: +1. Copy the following files to the config folder of your SD-Card: + - config.ini + - ref0.jpg + - ref1.jpg + - reference.jpg + - prevalue.ini +1. Restart the device + +More details at https://jomjol.github.io/AI-on-the-edge-device-docs/Demo-Mode diff --git a/sd-card/demo/ref0.jpg b/sd-card/demo/ref0.jpg new file mode 100644 index 000000000..73e11569b Binary files /dev/null and b/sd-card/demo/ref0.jpg differ diff --git a/sd-card/demo/ref1.jpg b/sd-card/demo/ref1.jpg new file mode 100644 index 000000000..826e3759e Binary files /dev/null and b/sd-card/demo/ref1.jpg differ diff --git a/sd-card/demo/reference.jpg b/sd-card/demo/reference.jpg new file mode 100644 index 000000000..7d0bffaa0 Binary files /dev/null and b/sd-card/demo/reference.jpg differ