mirror of
https://github.com/jomjol/AI-on-the-edge-device-docs.git
synced 2025-12-06 19:46:56 +03:00
.
This commit is contained in:
@@ -31,7 +31,7 @@ To test it locally:
|
||||
1. Install the required tools (See also [.github/workflows/build-docs.yaml](.github/workflows/build-docs.yaml)):
|
||||
```
|
||||
pip install --upgrade pip
|
||||
pip install mkdocs mkdocs-gen-files mkdocs-awesome-pages-plugin mkdocs-material
|
||||
pip install mkdocs mkdocs-gen-files mkdocs-awesome-pages-plugin mkdocs-material pymdown-extensions
|
||||
```
|
||||
1. In the main folder of the repo, call `mkdocs serve` (and keep it running).
|
||||
This will locally generate the documentation.
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
The following links point to additional information in other repos:
|
||||
|
||||
# Digits
|
||||
* [Overview](https://github.com/jomjol/neural-network-digital-counter-readout)
|
||||
* [Background](https://github.com/jomjol/neural-network-digital-counter-readout/blob/master/Train_Network.md)
|
||||
|
||||
# Analog
|
||||
* [Overview](https://github.com/jomjol/neural-network-analog-needle-readout)
|
||||
* [Background](https://github.com/jomjol/neural-network-analog-needle-readout/blob/master/Train_Network.md)
|
||||
9
docs/Additional-Information.md
Normal file
9
docs/Additional-Information.md
Normal file
@@ -0,0 +1,9 @@
|
||||
The following links point to additional information in other repos:
|
||||
|
||||
# Digits
|
||||
* [Training and using a neural network to readout the value of a digital counter](https://github.com/jomjol/neural-network-digital-counter-readout)
|
||||
* [Training the CNN neural network](https://github.com/jomjol/neural-network-digital-counter-readout/blob/master/Train_Network.md)
|
||||
|
||||
# Analog
|
||||
* [Training and using a neural network to read out the value of an analog display](https://github.com/jomjol/neural-network-analog-needle-readout)
|
||||
* [Training the CNN neural network](https://github.com/jomjol/neural-network-analog-needle-readout/blob/master/Train_Network.md)
|
||||
@@ -1,2 +1,2 @@
|
||||
# Build the project yourself
|
||||
# Build the Project
|
||||
See [README.md](https://github.com/jomjol/AI-on-the-edge-device/blob/master/code/README.md)
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
# Model Selection
|
||||
|
||||
!!! Warning
|
||||
This page overlaps [Neural Network Types](../Neural-Network-Types). They should be merged to one page!
|
||||
|
||||
In the [Graphical Configuration Page](Graphical-configuration), you can choose different models depending on your needs.
|
||||
|
||||
This wiki page tries to help you on which model to select.
|
||||
|
||||
@@ -173,7 +173,7 @@ LogfileRetentionInDays = 2
|
||||
```
|
||||
|
||||
This paragraph is used to switch on an extended logging. It is optional and by default only a minimum logging is enabled.
|
||||
**Attention:** in case of extended logging the size of the log file (`/log.txt`, `/alignment.txt`) might increase rapidly, therefore manually deletion from time to time is recommended
|
||||
**:bangbang: Attention:** in case of extended logging the size of the log file (`/log.txt`, `/alignment.txt`) might increase rapidly, therefore manually deletion from time to time is recommended
|
||||
|
||||
|
||||
|
||||
@@ -193,7 +193,7 @@ SetupMode = false
|
||||
```
|
||||
|
||||
This paragraph is used to switch on an extended logging. It is optional and by default only a minimum logging is enabled.
|
||||
**Attention:** in case of extended logging the size of the log file (`/log.txt`, `/alignment.txt`) might increase rapidly, therefore manually deletion from time to time is recommended
|
||||
**:bangbang: Attention:** in case of extended logging the size of the log file (`/log.txt`, `/alignment.txt`) might increase rapidly, therefore manually deletion from time to time is recommended
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
# Configuration
|
||||
|
||||
!!! Warning
|
||||
This page overlaps [Graphical-Configuration](../Graphical-Configuration). They should be merged to one page!
|
||||
|
||||
|
||||
Most of the settings can be modified with the help of a web based [graphical user interface](Graphical-configuration). This is hosted through the web server on the ESP32.
|
||||
|
||||
More configuration parameters can be edited by hand in the `config.ini` and corresponding files in the `/config` directory on the SD-card.
|
||||
|
||||
@@ -28,11 +28,10 @@ demo/
|
||||
- The jpg files can have any name
|
||||
- The jpg files must be smaller than 30'000 bytes
|
||||
- The `files.txt` must contains a list of those files, eg:
|
||||
```
|
||||
520.8983.jpg
|
||||
520.9086.jpg
|
||||
520.9351.jpg
|
||||
```
|
||||
|
||||
520.8983.jpg
|
||||
520.9086.jpg
|
||||
520.9351.jpg
|
||||
|
||||
## Recoding
|
||||
To record real images of a meter, you have to periodically fetch `http://<IP>/img_tmp/raw.jpg`.
|
||||
|
||||
@@ -8,7 +8,8 @@ Most likely they are caused by a hardware issue!
|
||||
|
||||
## `0x00000001` PSRAM bad
|
||||
Your device most likely has no PSRAM at all or it is too small (needs to have at least 4 MBytes)!
|
||||
See https://github.com/jomjol/AI-on-the-edge-device/wiki/Hardware-Compatibility
|
||||
See [Hardware Compatibility](../Hardware-Compatibility).
|
||||
|
||||
Usually the log shows something like this:
|
||||
```
|
||||
psram: PSRAM ID read error: 0xffffffff
|
||||
@@ -21,7 +22,7 @@ The firmware failed to allocate enough memory. This most likely is a consequenti
|
||||
## `0x00000004` Cam bad
|
||||
The attached camera can not be initialized.
|
||||
This usually is because on of the following reasons:
|
||||
- The camera is not supported, see https://github.com/jomjol/AI-on-the-edge-device/wiki/Hardware-Compatibility
|
||||
- The camera is not supported, see [Hardware Compatibility](../Hardware-Compatibility)
|
||||
- The camera is not attached properly -> Try to remove and attach it again. Make sure you move the black part enough into the socket!
|
||||
- The camera or the camera cable is damaged
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Frequent reboots
|
||||
# Frequent Reboots
|
||||
|
||||
|
||||
|
||||
@@ -41,6 +41,7 @@ If your system is sometimes running smoothly over several runs and sometimes reb
|
||||
|
||||
You can check this in the standard log file on the SD card:
|
||||
|
||||
|
||||
```
|
||||
2021-12-26T06:34:09: task_autodoFlow - round done
|
||||
2021-12-26T06:34:09: CPU Temperature: 56.1
|
||||
@@ -79,7 +80,8 @@ Easy to detect: fast blinking red LED directly after startup, no reaction of the
|
||||
|
||||
Error message of no detectable SC card in the log file. **Normal looking** log for a 16GB SD card is like this:
|
||||
|
||||
```09:38:25.037 -> [0;32mI (4789) main: Using SDMMC peripheral[0m
|
||||
```
|
||||
09:38:25.037 -> [0;32mI (4789) main: Using SDMMC peripheral[0m
|
||||
09:38:25.037 -> [0;32mI (4789) main: Using SDMMC peripheral[0m
|
||||
09:38:25.138 -> Name: SC16G
|
||||
09:38:25.138 -> Type: SDHC/SDXC
|
||||
@@ -102,6 +104,7 @@ Sometimes, there is hardware, where only 2 MB of PSRAM is present - **even if yo
|
||||
|
||||
You can identify the amount of PSRAM in the serial log file:
|
||||
|
||||
|
||||
```
|
||||
09:38:21.224 -> [0;32mI (881) psram: This chip is ESP32-D0WD[0m
|
||||
09:38:21.224 -> [0;32mI (885) spiram: Found 64MBit SPI RAM device[0m
|
||||
@@ -1,14 +1,13 @@
|
||||
# Graphical configuration
|
||||
# Graphical Configuration
|
||||
|
||||
!!! Warning
|
||||
This page overlaps [Configuration](../Configuration). They should be merged to one page!
|
||||
|
||||
### **General remark:**
|
||||
|
||||
- to activate the changes, currently the device needs a restart after saving the changes.
|
||||
|
||||
- partially the commands needs processing on the ESP32 device. This is not very fast - so please be patient.
|
||||
|
||||
- too frequent http-request could result in a reboot of the ESP32 - normally this is not a problem as the server react about 30s later normally.
|
||||
|
||||
|
||||
|
||||
## Access to the graphical user interface
|
||||
|
||||
@@ -18,9 +17,6 @@ The graphical configuration mode can be reached via the "Edit Configuration" but
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## Overview function
|
||||
|
||||
* <img src="https://raw.githubusercontent.com/jomjol/ai-on-the-edge-device/master/images/config_menue_overview.jpg" width="600" align="middle">
|
||||
@@ -41,13 +37,15 @@ This is a text editor for the config.ini. Changes commited with the button on th
|
||||
|
||||
* <img src="https://raw.githubusercontent.com/jomjol/ai-on-the-edge-device/master/images/config_s2_edit_config.jpg" width="600" align="middle">
|
||||
|
||||
Details see [Configuration-Parameter-Details](../Configuration-Parameter-Details).
|
||||
|
||||
|
||||
|
||||
### 2a. Create Reference Image
|
||||
|
||||
The reference image is the basis for the coordination of the ROIs. Therefore it is very important, to have a well aligned image, that is not rotated.
|
||||
|
||||
**Attention:** Updating the reference image, also means, that all alignment images and ROIs needs to be teached again. Therefore do this step only with caution.
|
||||
**:bangbang: Attention:** Updating the reference image, also means, that all alignment images and ROIs needs to be teached again. Therefore do this step only with caution.
|
||||
|
||||
* <img src="https://raw.githubusercontent.com/jomjol/ai-on-the-edge-device/master/images/config_s3_reference.jpg" width="400" align="middle">
|
||||
|
||||
@@ -100,15 +98,9 @@ In order to have a good recognition, the active ROI has two rectangles for align
|
||||
* The line in the middle should go through the middle of the number (in case it is not moving in or out)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
To save the result push "Save all to config.ini" (4).
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
**Attention:** Currently you have to reboot the ESP32 to take the changes in the `config.ini` to take place.
|
||||
**:bangbang: Attention:** Currently you have to reboot the ESP32 to take the changes in the `config.ini` to take place.
|
||||
|
||||
This steps are running on the ESP32 directly. So be patient with the results.
|
||||
4
docs/Influx-DB.md
Normal file
4
docs/Influx-DB.md
Normal file
@@ -0,0 +1,4 @@
|
||||
# Influx DB
|
||||
The device also supports direct sending of data to an Influ DB.
|
||||
|
||||
:bangbang: Only Influx DB 1 is supported!
|
||||
@@ -1,21 +0,0 @@
|
||||
# :bangbang: Living on the edge :bangbang:
|
||||
:bangbang: The branch [rolling](https://github.com/jomjol/AI-on-the-edge-device/tree/rolling) contains the latest version of the Firmware and the Web Interface. It is work in progress, don't expect it to work stable or be an improvement for your AI-on-the-edge-device! Also it might break the OTA Update and then require manual flashing over USB! :bangbang:
|
||||
|
||||
# Still here?
|
||||
|
||||
Grab the latest build from https://github.com/jomjol/AI-on-the-edge-device/actions and proceed as following:
|
||||
1. Pick the most top successful (green) build.
|
||||
2. Download the `firmware__extract_before_upload__only_needed_for_migration_from_11.2.0` and extract it (its a zip file).
|
||||
3. Flash that binary as new firmware.
|
||||
4. Download the `html__only_needed_for_migration_from_11.2.0__2022-09-15_19-13-37__rolling_(042ff18)`. It is also a zip file but you should **not** extract it!
|
||||
5. Flash the zip file als html part.
|
||||
|
||||
The filenames have changed, e.g. right now it is:
|
||||
* AI-on-the-edge-device__manual-setup__rolling_(4b23e0c)
|
||||
* AI-on-the-edge-device__remote-setup__rolling_(4b23e0c)
|
||||
* AI-on-the-edge-device__update__rolling_(4b23e0c)
|
||||
|
||||
Github bot-reply Rolling Build has the following info at the moment:
|
||||
|
||||
You can use the latest [Automatic Build](https://github.com/jomjol/AI-on-the-edge-device/actions/workflows/build.yaml?query=branch%3Arolling) of the the rolling branch. It might already contain a fix for your issue.
|
||||
Pick the most top passing entry (it has a green circle with a tick in it), then scroll down to the Artifacts and download the file named update_*. So I do not know what the manual-setup and remote-setup are used for.
|
||||
@@ -1,5 +1,6 @@
|
||||
# Integration into Home Assistant
|
||||
There are 3 ways to get the data into your Home Assistant:
|
||||
|
||||
1. Using MQTT (Automatically Setup Entities using Homeassistant MQTT Discovery)
|
||||
1. Using MQTT (Manually Setup Entities)
|
||||
2. Using REST calls
|
||||
@@ -11,6 +12,7 @@ The first one is the easier way if you already have MQTT in use.
|
||||
:bangbang: This feature will be available with the next release!
|
||||
|
||||
Starting with Version `>12.0.1`, AI-on-the-edge-devices support Homeassistant Discovery.
|
||||
|
||||
1. Check [here](https://www.home-assistant.io/docs/mqtt/discovery/) to learn more about it and how to enable it in Homeassistant.
|
||||
1. You also have to enable it in the MQTT settings of your device:
|
||||
|
||||
@@ -127,10 +129,13 @@ Note that you also can add it using the UI.
|
||||
Creating Statistics Graphs (eg. usage per day) is easy using the [Energy Dashboard](https://www.home-assistant.io/home-energy-management/):
|
||||

|
||||
|
||||
Note that there seems to be a bug in the graph, see https://github.com/home-assistant/frontend/issues/13995!
|
||||
Note that there seems to be a bug in the graph, see [https://github.com/home-assistant/frontend/issues/13995](https://github.com/home-assistant/frontend/issues/13995)!
|
||||
|
||||
|
||||
### InfluxDb Graphs
|
||||
|
||||
See also [Influx-DB](../Influx-DB).
|
||||
|
||||
If you have setup InfluxDB already, it is also possible to fetch statistics from there, eg. daily usage:
|
||||
```
|
||||
from(bucket: "HomeAssistant")
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
# Learn a model with your own images
|
||||
If your device has new, different digits and the existing models don't recognize them well, you can collect your own images and train the model.
|
||||
|
||||
But before you do this, please check if your type really is not contained yet in the training data, see [digits](https://jomjol.github.io/neural-network-digital-counter-readout) resp. [pointers](https://jomjol.github.io/neural-network-analog-needle-readout/) for an overview of images used for the training
|
||||
|
||||
@@ -1,17 +1,12 @@
|
||||
# Neural Network Types
|
||||
|
||||
!!! Warning
|
||||
This page overlaps [Choosing the Model](../Choosing-the-Model). They should be merged to one page!
|
||||
|
||||
This section is describing the different types of neural networks, that are used with the AI-on-the-edge approach and gives an introduction on how and where to use them.
|
||||
|
||||
|
||||
|
||||
### Content
|
||||
|
||||
1) Overview neural network type
|
||||
2) Naming convention
|
||||
3) Overview of trained types and details
|
||||
|
||||
_______________________________
|
||||
|
||||
|
||||
### 1. Overview neural network type
|
||||
## Overview neural network type
|
||||
|
||||
There are two **types of input**:
|
||||
|
||||
@@ -28,7 +23,7 @@ There are two **types of neural networks**:
|
||||
|
||||
No setting of the type in the firmware is necessary. The type can detect by the output structure automatically.
|
||||
|
||||
**Attention:**
|
||||
**:bangbang: Attention:**
|
||||
|
||||
* It is very important to choose the right network type (digits or analog pointers).
|
||||
Technically a wrong network will work and create output, but that would be totally arbitrary
|
||||
@@ -37,10 +32,8 @@ No setting of the type in the firmware is necessary. The type can detect by the
|
||||
* For the continious and 100 classes network especially for the digits, there are only a view types of digits trained up to now
|
||||
* Therefore sometimes for the digits it is more effective to choose the simpler 11 classes network type (= default).
|
||||
|
||||
_______________________________
|
||||
|
||||
|
||||
### 2. Naming convention
|
||||
## Naming convention
|
||||
|
||||
| | Classification<br />11 classes<br />0, 1, ... 9 + "N" | Classification<br />100 classes<br />0.0, 0.1, ... 9.9 | Continuous<br />Interval<br />[0, 10[ |
|
||||
| ---------------------------------------------------- | ----------------------------------------------------- | ------------------------------------------------------ | ------------------------------------- |
|
||||
@@ -66,37 +59,34 @@ Example: `dig-class11_1410_s2_q.tflite`
|
||||
|
||||
|
||||
|
||||
## Overview of trained types and details
|
||||
|
||||
_______________________________________________________
|
||||
|
||||
### 3. Overview of trained types and details
|
||||
|
||||
#### 3a. Analog Pointer ("ana-cont_XXX.tflite" & "ana-class100_XXX.tflite")
|
||||
### Analog Pointer ("ana-cont_XXX.tflite" & "ana-class100_XXX.tflite")
|
||||
|
||||
This is to transfer the direction of a pointer into a continuous number between 0 and 1, whereas 0 (=1) is the upwards position (12 o'clock), 0.25 corresponds to the 3 o'clock positions and so on. This network is a envolop for all different types of pointers. Currently there are no dedicated network trainings for specific types of pointers.
|
||||
|
||||
There are two types of network structure, currently both are supported. The "class100" is a pure classification network, that might need a bit more accuracy in the labeling. "cont" is a no classic approach with a continuous output off only 2 neurons (details see below).
|
||||
|
||||
##### Types of counters trained:
|
||||
#### Types of counters trained:
|
||||
|
||||
| | | | |
|
||||
| ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- |
|
||||
|  |  |  |  |
|
||||
|  |  |  | |
|
||||
|
||||
##### Training data needs
|
||||
#### Training data needs
|
||||
|
||||
* Quadratic images, minimum size: 32x32 pixel
|
||||
* Typically 100 - 200 images with a resultion of 1/100 of the full rotation (every 0.1 value or 3.6°)
|
||||
* Naming: x.y_ARBITRARY.jpg, where x.y = value 0.0 ... 9.9
|
||||
|
||||
##### CNN Technical details:
|
||||
#### CNN Technical details:
|
||||
|
||||
###### Input
|
||||
##### Input
|
||||
|
||||
* 32 x 32 RGB images
|
||||
|
||||
###### Output
|
||||
##### Output
|
||||
|
||||
* **ana-cont**_XXX.tflite:
|
||||
* 2 neurons with output in range [-1, 1] - representing a sinus / cosinus encoding of the angle
|
||||
@@ -108,12 +98,12 @@ There are two types of network structure, currently both are supported. The "cla
|
||||
|
||||
|
||||
|
||||
#### 3b. Digits with 11 classes ("dig-class11_XXX.tflite")
|
||||
### Digits with 11 classes ("dig-class11_XXX.tflite")
|
||||
|
||||
The digit type is a classical classification network, with 11 classes representing the numbers 0, 1, ... 9 and the special class "N". It is trained for the rolling ring of gas and electric meters. As there is sometime a status between two images, the special class "N" is representing Not-A-Number for the case, that the image cannot be unique classified to one number e.g. because it is between two digits. For this type the lowest amount of training data per type is needed, resulting in a large variety of type being already part of the training set.
|
||||
|
||||
|
||||
##### Types of counters trained:
|
||||
#### Types of counters trained:
|
||||
|
||||
| | | | | | | |
|
||||
| -------------------------- | -------------------------- | -------------------------- | -------------------------- | -------------------------- | -------------------------- | -------------------------- |
|
||||
@@ -122,20 +112,20 @@ The digit type is a classical classification network, with 11 classes representi
|
||||
| | | | | | | |
|
||||
|
||||
|
||||
##### Training data needs
|
||||
#### Training data needs
|
||||
|
||||
* RGB images, with minimum size: 20x32 pixel
|
||||
* Typically 10 - 20 images (1-2 for each digit and an arbitrary number for the "N" class
|
||||
|
||||
* Naming: x_ARBITRARY.jpg, where x = value 0 ... 9 + N
|
||||
|
||||
##### CNN Technical details:
|
||||
#### CNN Technical details:
|
||||
|
||||
###### Input
|
||||
##### Input
|
||||
|
||||
* 20 x 32 RGB images
|
||||
|
||||
###### Output
|
||||
##### Output
|
||||
|
||||
* 11 neurons for image classification (last layer normalized to 1)
|
||||
* Neuron 0 to 9 represent the corresponding numbers "0" to "9"
|
||||
@@ -143,12 +133,12 @@ The digit type is a classical classification network, with 11 classes representi
|
||||
|
||||
|
||||
|
||||
#### 3c. Digits with rolling results ("dig-class100_XXX.tflite" & "dig-cont_XXX.tflite")
|
||||
### Digits with rolling results ("dig-class100_XXX.tflite" & "dig-cont_XXX.tflite")
|
||||
|
||||
This type of network tries to overcome the problem, that there are intermediate values, when a rolling digit is between two numbers. Previous this was the "N" class. In this network type, there are also subdigit values trained, so that the intermediate state can be used as additional information for the algorithms.
|
||||
|
||||
|
||||
##### Types of counters trained:
|
||||
#### Types of counters trained:
|
||||
|
||||
| | | | |
|
||||
| ---------------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | ---- |
|
||||
@@ -157,20 +147,20 @@ This type of network tries to overcome the problem, that there are intermediate
|
||||
|
||||
|
||||
|
||||
##### Training data needs
|
||||
#### Training data needs
|
||||
|
||||
* RGB images, with minimum size: 20x32 pixel
|
||||
* Typically 100 - 200 images (1-2 for each possible position)
|
||||
|
||||
* Naming: x.y_ARBITRARY.jpg, where x.y = 0.0, 0.1, ... 9.9 representing the intermediate state
|
||||
|
||||
##### CNN Technical details:
|
||||
#### CNN Technical details:
|
||||
|
||||
###### Input
|
||||
##### Input
|
||||
|
||||
* 20 x 32 RGB images
|
||||
|
||||
###### Output
|
||||
##### Output
|
||||
|
||||
* **dig-cont**_XXX.tflite:
|
||||
* 10 neurons representing the digits 0, 1, ... 9. The intermediate values are represented by weighted normalized values of two neighboring output neurons
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# ROI (Region of Interest) Configuration
|
||||
# ROI (Region of Interest)
|
||||
|
||||
General remark:
|
||||
> You are using a neural network approach which is trained to fit as many different type of meters as possible. The accuracy will never be 100%. It is normal to see a missing reading once in a while. There there are several precautions to detect this. For details see the section `PostProcessing` on the configuration page.
|
||||
@@ -12,27 +12,27 @@ The most critical settings for accurate detection are:
|
||||
|
||||
_____
|
||||
|
||||
## 1. Correct Setup of ROI
|
||||
## Correct Setup of ROI
|
||||
Please proceed in the following order!
|
||||
|
||||
Don't forget to save after each step!
|
||||
|
||||
### 1. Image Sharpness
|
||||
### Image Sharpness
|
||||
Ensure a sharp image of the camera by adjusting the focal length of the ESP OV2640 camera.
|
||||
**Adjust the focus for the clearest possible image** See [these instructions](https://github.com/jomjol/water-meter-picture-provider/blob/master/ESP32-CAM_Lens_Modification.md) for help.
|
||||
|
||||
### 2. Horizontal Alignment
|
||||
### Horizontal Alignment
|
||||
Ensure an **exact horizontal alignment** of the number via the alignment / reference setup:
|
||||
|
||||
| :heavy_check_mark: Okay | :x: Not Okay |
|
||||
| ------------------------------ | ---------------------------------- |
|
||||
|  |  |
|
||||
|
||||
### 3. Correct Size for ROI
|
||||
### Correct Size for ROI
|
||||
Choose the right size of the ROI:
|
||||
> The configuration of ROIs differs a bit on the model you choose. Below you find the differences between the different AI models. Pick the one you think fits best your purpose. If you don't get to good result, try another model.
|
||||
|
||||
### 4. Model Selection
|
||||
### Model Selection
|
||||
#### dig-class11 Configuration
|
||||
dig-class11 - Models recognize the **complete digit only**. Here it is not relevant if the ROI fits the Border of the digit window.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
## Preparing for release
|
||||
# Preparing for Release
|
||||
|
||||
1. [Changelog](https://github.com/jomjol/AI-on-the-edge-device/blob/rolling/Changelog.md) is merged back from `master` branch to `rolling` branch (should be the last step of the previous release creation)
|
||||
1. All changes are documented in the [Changelog](https://github.com/jomjol/AI-on-the-edge-device/blob/rolling/Changelog.md) in `rolling` branch
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Understanding the problem
|
||||
# Analog/Digital Transition on Watermeters
|
||||
|
||||
At first, for the most watermeters the default configuration should be work. But the digit, especially the last digit differs in some devices.
|
||||
|
||||
|
||||
58
docs/nav.yml
58
docs/nav.yml
@@ -10,27 +10,53 @@ nav:
|
||||
- Best-Practice.md
|
||||
- FAQs.md
|
||||
|
||||
- Configuration:
|
||||
- Choosing-the-Model.md
|
||||
|
||||
- Advanced:
|
||||
- Build-Instructions.md
|
||||
- Upload-files-by-script.md
|
||||
|
||||
- API's:
|
||||
- REST-API.md
|
||||
- MQTT-API.md
|
||||
# - Influx DB
|
||||
# - ...
|
||||
|
||||
|
||||
- Links:
|
||||
- External Links:
|
||||
- Releases: https://github.com/jomjol/AI-on-the-edge-device/releases
|
||||
- Web Installer/Console: https://jomjol.github.io/AI-on-the-edge-device/index.html
|
||||
- Place an Issues: https://github.com/jomjol/AI-on-the-edge-device/issues
|
||||
- Join a Discussions: https://github.com/jomjol/AI-on-the-edge-device/discussions
|
||||
|
||||
#- Old Documentation:
|
||||
- Configuration:
|
||||
- ROI-Configuration.md
|
||||
- Graphical-Configuration.md
|
||||
- Choosing-the-Model.md
|
||||
- Neural-Network-Types.md
|
||||
- ota.md
|
||||
|
||||
- Advanced:
|
||||
- Integration-Home-Assistant.md
|
||||
- External-LED.md
|
||||
- rolling-installation.md
|
||||
- Configuration-Parameter-Details.md
|
||||
- Configuration.md
|
||||
- Watermeter-specific-analog---digital-transition.md
|
||||
- Learn-models-with-your-own-images.md
|
||||
- Correction Algorithm.md
|
||||
- Additional-Information.md
|
||||
|
||||
- Troubleshooting:
|
||||
- Error-Codes.md
|
||||
- Error-Debugging.md
|
||||
- Frequent-Reboots.md
|
||||
|
||||
- API's:
|
||||
- REST-API.md
|
||||
- MQTT-API.md
|
||||
- Influx-DB.md
|
||||
# - ...
|
||||
|
||||
- Development:
|
||||
- Build-Instructions.md
|
||||
- Demo-Mode.md
|
||||
- Upload-files-by-script.md
|
||||
- Testing.md
|
||||
- Release-creation.md
|
||||
|
||||
|
||||
- Old Pages (no longer maintained):
|
||||
- outdated--Integrated-Functions.md
|
||||
- outdated--Gasmeter-Log-Downloader.md
|
||||
- outdated--Migrate-Old-Config-To-New-Config.md
|
||||
|
||||
- Asorted Pages:
|
||||
# List all pages which are not covered by above list
|
||||
|
||||
@@ -4,7 +4,7 @@ You can do an OTA (over-the-air) update via the graphical user interface.
|
||||
Grab the firmware from the
|
||||
|
||||
* [Releases page](https://github.com/jomjol/AI-on-the-edge-device/releases) (Stable, tested versions), or the
|
||||
* [Automatically build development branch](https://github.com/jomjol/AI-on-the-edge-device/actions?query=branch%3Arolling) (experimental, untested versions). Please have a look on https://github.com/jomjol/AI-on-the-edge-device/wiki/Install-a-rolling-%28unstable%29-release first!
|
||||
* [Automatically build development branch](https://github.com/jomjol/AI-on-the-edge-device/actions?query=branch%3Arolling) (experimental, untested versions). Please have a look on [](https://github.com/jomjol/AI-on-the-edge-device/wiki/Install-a-rolling-%28unstable%29-release) first!
|
||||
|
||||
You need:
|
||||
* firmware.bin
|
||||
@@ -1,4 +1,7 @@
|
||||
## **Gasmeter Log-Downloader**
|
||||
# Gasmeter Log-Downloader
|
||||
|
||||
!!! Warning
|
||||
This page no longer is maintained!
|
||||
|
||||
This small tool downloads the logfiles from your ESP32 and stores the last value of the day in an *.csv file.
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
# Integrated Functions
|
||||
|
||||
!!! Warning
|
||||
This page no longer is maintained!
|
||||
|
||||
## wasserzaehler
|
||||
|
||||
```http://IP-ESP32/wasserzaehler.html```
|
||||
@@ -1,6 +1,7 @@
|
||||
# Migration from water-meter „old“ to water-meter “AI-on-the-edge-device”
|
||||
|
||||
|
||||
!!! Warning
|
||||
This page no longer is maintained!
|
||||
|
||||
There are only some few steps necessary to migrate your old system to the new one.
|
||||
|
||||
10
docs/rolling-installation.md
Normal file
10
docs/rolling-installation.md
Normal file
@@ -0,0 +1,10 @@
|
||||
# Living on the edge
|
||||
The branch [rolling](https://github.com/jomjol/AI-on-the-edge-device/tree/rolling) contains the latest version of the Firmware and the Web Interface. It might already contain a fix for your issue. But it is work in progress, don't expect it to work stable or be an improvement for your AI-on-the-edge-device! Also it might break the [OTA Update](../ota) and thus require manual flashing over USB!
|
||||
|
||||
## You still want to try it?
|
||||
|
||||
Grab the latest `rolling` build from [Github Actions](https://github.com/jomjol/AI-on-the-edge-device/actions/workflows/build.yaml?query=branch%3Arolling) Page and proceed as following:
|
||||
|
||||
1. Pick the most top successful (green) build.
|
||||
2. Download the `AI-on-the-edge-device__update__rolling_*.zip`
|
||||
5. Flash the zip file using the [OTA Update](../ota) page of your device.
|
||||
@@ -8,6 +8,7 @@ theme:
|
||||
name: readthedocs
|
||||
custom_dir: readthedocs-mod/
|
||||
|
||||
|
||||
plugins:
|
||||
- search
|
||||
- awesome-pages:
|
||||
@@ -19,3 +20,4 @@ markdown_extensions:
|
||||
- attr_list # Needed to scale images
|
||||
- pymdownx.emoji: # Emoji support
|
||||
emoji_generator: !!python/name:pymdownx.emoji.to_alt
|
||||
- markdown.extensions.admonition
|
||||
Reference in New Issue
Block a user