mirror of
https://github.com/jomjol/AI-on-the-edge-device-docs.git
synced 2025-12-08 04:27:02 +03:00
updated links to remove warnings
This commit is contained in:
@@ -11,7 +11,7 @@ with the target to be in exactly the same position as the reference image.
|
|||||||
|
|
||||||
|
|
||||||
## Precondition
|
## Precondition
|
||||||
Please make sure to have setup your camera properly and taken a good [Reference Image](../Reference-Image).
|
Please make sure to have setup your camera properly and taken a good [Reference Image](Reference-Image.md).
|
||||||
|
|
||||||
## Define two Reference Images
|
## Define two Reference Images
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
# Model Selection
|
# Model Selection
|
||||||
|
|
||||||
!!! Notes
|
!!! Notes
|
||||||
See [Neural Network Types](../Neural-Network-Types) for additional details.
|
See [Neural Network Types](Neural-Network-Types.md) for additional details.
|
||||||
|
|
||||||
In the [Graphical Configuration Page](../Graphical-configuration), you can choose different models depending on your needs.
|
In the [Graphical Configuration Page](Configuration.md), you can choose different models depending on your needs.
|
||||||
|
|
||||||
This page tries to help you on which model to select.
|
This page tries to help you on which model to select.
|
||||||
For more technical/deeper explanations have a look on [Neural-Network-Types](../Neural-Network-Types).
|
For more technical/deeper explanations have a look on [Neural-Network-Types](Neural-Network-Types.md).
|
||||||
|
|
||||||
## Digit Models
|
## Digit Models
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ It can be reached via the menu `Settings > Configuration`.
|
|||||||
- To activate the changes, the device needs to be restarted after saving the changes.
|
- To activate the changes, the device needs to be restarted after saving the changes.
|
||||||
- Most of the commands need processing on the ESP32 device. This is not very fast - so please be patient.
|
- Most of the commands need processing on the ESP32 device. This is not very fast - so please be patient.
|
||||||
|
|
||||||
All parameters are documented on the [Parameters](../Parameters) page and as tooltips on the config page.
|
All parameters are documented on the [Parameters](Parameters.md) page and as tooltips on the config page.
|
||||||
|
|
||||||
## Expert Parameters
|
## Expert Parameters
|
||||||
Some parameters are treated as **Expert Parameters** and are hidden by default.
|
Some parameters are treated as **Expert Parameters** and are hidden by default.
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ Most likely they are caused by a hardware issue!
|
|||||||
|
|
||||||
### `0x00000001` PSRAM bad
|
### `0x00000001` PSRAM bad
|
||||||
Your device most likely has no PSRAM at all or it is too small (needs to have at least 4 MBytes)!
|
Your device most likely has no PSRAM at all or it is too small (needs to have at least 4 MBytes)!
|
||||||
See [Hardware Compatibility](../Hardware-Compatibility).
|
See [Hardware Compatibility](Hardware-Compatibility.md).
|
||||||
|
|
||||||
Usually the log shows something like this:
|
Usually the log shows something like this:
|
||||||
```
|
```
|
||||||
@@ -27,7 +27,7 @@ The firmware failed to allocate enough memory. This most likely is a consequenti
|
|||||||
The attached camera can not be initialized.
|
The attached camera can not be initialized.
|
||||||
This usually is because on of the following reasons:
|
This usually is because on of the following reasons:
|
||||||
|
|
||||||
* The camera is not supported, see [Hardware Compatibility](../Hardware-Compatibility)
|
* The camera is not supported, see [Hardware Compatibility](Hardware-Compatibility.md)
|
||||||
* 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 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
|
* The camera or the camera cable is damaged
|
||||||
|
|
||||||
|
|||||||
@@ -6,9 +6,9 @@ There are several reasons for frequent reboots:
|
|||||||
|
|
||||||
* Frequent HTML requests
|
* Frequent HTML requests
|
||||||
* Wrong configuration, missing configuration files
|
* Wrong configuration, missing configuration files
|
||||||
* Unstable hardware - see [Hardware Compatibility](../Hardware-Compatibility).
|
* Unstable hardware - see [Hardware Compatibility](Hardware-Compatibility.md).
|
||||||
|
|
||||||
There is a dedicated page about this: [Frequent Reboots](../Frequent-Reboots/).
|
There is a dedicated page about this: [Frequent Reboots](Frequent-Reboots.md).
|
||||||
|
|
||||||
|
|
||||||
## Bad WebUI responsiveness. What can I do?
|
## Bad WebUI responsiveness. What can I do?
|
||||||
@@ -49,7 +49,7 @@ See the FAQs below for more details and configuration hints.
|
|||||||
|
|
||||||
## My numbers are not correctly detected. What can I do?
|
## My numbers are not correctly detected. What can I do?
|
||||||
|
|
||||||
* There is a dedicated page about the correct setting [ROI Configuration](../ROI-Configuration/).
|
* There is a dedicated page about the correct setting [ROI Configuration](ROI-Configuration.md).
|
||||||
* This page also includes the instructions for gathering new images for the training.
|
* This page also includes the instructions for gathering new images for the training.
|
||||||
|
|
||||||
## How can I ensure invalid numbers are never reported?
|
## How can I ensure invalid numbers are never reported?
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# Influx DB
|
# Influx DB
|
||||||
The device also supports direct sending of data to an Influx DB.
|
The device also supports direct sending of data to an Influx DB.
|
||||||
|
|
||||||
See also [Influx Graph in Home Assistant](../Integration-Home-Assistant#influxdb-graphs).
|
See also [Influx Graph in Home Assistant](Integration-Home-Assistant.md#influxdb-graphs).
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ For point 2 and 3 we provide multiple ways to do it. Pick the one that looks the
|
|||||||
* 4 or 8 MB PSRAM.
|
* 4 or 8 MB PSRAM.
|
||||||
|
|
||||||
It can be easily found on the typical internet stores, searching for ESP32-CAM for less than 10 EUR.
|
It can be easily found on the typical internet stores, searching for ESP32-CAM for less than 10 EUR.
|
||||||
How ever since the hardware is cheap and coming from China, you unluckily could pick a malfunctioning device. See [Hardware Compatibility](../Hardware-Compatibility) for further advice!
|
How ever since the hardware is cheap and coming from China, you unluckily could pick a malfunctioning device. See [Hardware Compatibility](Hardware-Compatibility.md) for further advice!
|
||||||
|
|
||||||
### USB->UART interface
|
### USB->UART interface
|
||||||
For first time flashing the firmware a USB -> UART connector is needed. Later firmware upgrades than can be flashed via OTA.
|
For first time flashing the firmware a USB -> UART connector is needed. Later firmware upgrades than can be flashed via OTA.
|
||||||
@@ -46,7 +46,7 @@ A example for wiring can be found here:
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
It is also possible to use external LEDs for the illumination instead of the internal flash LED. This is described [here](../External-LED)
|
It is also possible to use external LEDs for the illumination instead of the internal flash LED. This is described [here](External-LED.md)
|
||||||
|
|
||||||
## 2. Firmware
|
## 2. Firmware
|
||||||
### Web Installer
|
### Web Installer
|
||||||
@@ -63,7 +63,7 @@ You can access it with the following link: [Web Installer](https://jomjol.github
|
|||||||
Grab the firmware from the
|
Grab the firmware from the
|
||||||
|
|
||||||
- [Releases page](https://github.com/jomjol/AI-on-the-edge-device/releases) (Stable, tested versions), or 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 [Living on the Edge](../rolling-installation) 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 [Living on the Edge](rolling-installation.md) first!
|
||||||
|
|
||||||
You need:
|
You need:
|
||||||
|
|
||||||
|
|||||||
@@ -131,7 +131,7 @@ Note that there seems to be a bug in the graph, see [https://github.com/home-ass
|
|||||||
|
|
||||||
### InfluxDb Graphs
|
### InfluxDb Graphs
|
||||||
|
|
||||||
See also [Influx-DB](../Influx-DB).
|
See also [Influx-DB](Influx-DB.md).
|
||||||
|
|
||||||
If you have setup InfluxDB already, it is also possible to fetch statistics from there, e.g. daily usage:
|
If you have setup InfluxDB already, it is also possible to fetch statistics from there, e.g. daily usage:
|
||||||
```
|
```
|
||||||
@@ -150,7 +150,7 @@ from(bucket: "HomeAssistant")
|
|||||||
## Using REST
|
## Using REST
|
||||||
When using REST, Home Assistant has to periodically call an URL on the ESP32 which in return provides the requested data.
|
When using REST, Home Assistant has to periodically call an URL on the ESP32 which in return provides the requested data.
|
||||||
|
|
||||||
See [REST API](../REST-API) for a list of available URLs.
|
See [REST API](REST-API.md) for a list of available URLs.
|
||||||
|
|
||||||
The most practical one is the `json` entrypoint which provides the most relevant data JSON formatted:
|
The most practical one is the `json` entrypoint which provides the most relevant data JSON formatted:
|
||||||
`http://<IP>/json`
|
`http://<IP>/json`
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# Neural Network Types
|
# Neural Network Types
|
||||||
|
|
||||||
!!! Note
|
!!! Note
|
||||||
For an overview, see [Choosing the Model](../Choosing-the-Model).
|
For an overview, see [Choosing the Model](Choosing-the-Model.md).
|
||||||
|
|
||||||
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.
|
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.
|
||||||
|
|
||||||
|
|||||||
@@ -145,4 +145,4 @@ Note: For more detailed information to the REST handler, have a look to the code
|
|||||||
|
|
||||||
## Prometheus/OpenMetrics
|
## Prometheus/OpenMetrics
|
||||||
### metrics
|
### metrics
|
||||||
Provides a set of metrics that can be scraped by prometheus. See [Prometheus/OpenMetrics](../prometheus-openmetrics) for details.
|
Provides a set of metrics that can be scraped by prometheus. See [Prometheus/OpenMetrics](prometheus-openmetrics.md) for details.
|
||||||
|
|||||||
@@ -13,14 +13,14 @@ The most critical components for an accurate detection are:
|
|||||||
|
|
||||||
2. Using a well trained Model.
|
2. Using a well trained Model.
|
||||||
|
|
||||||
Have a look on the [Digital Counters](https://jomjol.github.io/neural-network-digital-counter-readout/) resp. [Analog Needles](https://jomjol.github.io/neural-network-analog-needle-readout) to check if your types are contained. If your number types are **not** contained, you should take the effort to record them so we can add them to the training data. See [Collect images to improve the models](../Learn-models-with-your-own-images) on how to collect new training data.
|
Have a look on the [Digital Counters](https://jomjol.github.io/neural-network-digital-counter-readout/) resp. [Analog Needles](https://jomjol.github.io/neural-network-analog-needle-readout) to check if your types are contained. If your number types are **not** contained, you should take the effort to record them so we can add them to the training data. See [Collect images to improve the models](Learn-models-with-your-own-images.md) on how to collect new training data.
|
||||||
|
|
||||||
|
|
||||||
## Precondition
|
## Precondition
|
||||||
Please make sure to have:
|
Please make sure to have:
|
||||||
|
|
||||||
1. Setup your camera properly and taken a good [Reference Image](../Reference-Image).
|
1. Setup your camera properly and taken a good [Reference Image](Reference-Image.md).
|
||||||
1. Selected good [Alignment References](../Alignment).
|
1. Selected good [Alignment References](Alignment.md).
|
||||||
|
|
||||||
|
|
||||||
## Define the ROIs
|
## Define the ROIs
|
||||||
@@ -34,7 +34,7 @@ Depending if you have only one of those types, you can enable/disable `(1)` it o
|
|||||||
|
|
||||||
You can switch between the individual ROIs with the Drop down box `(2)`.
|
You can switch between the individual ROIs with the Drop down box `(2)`.
|
||||||
If you need additional ROIs or delete them you can do this with the control at `(3)`.
|
If you need additional ROIs or delete them you can do this with the control at `(3)`.
|
||||||
Like for the [Alignment References](../Alignment), you can change the position, size and name of a ROI in the text fields or define them via drag and drop through the mouse button.
|
Like for the [Alignment References](Alignment.md), you can change the position, size and name of a ROI in the text fields or define them via drag and drop through the mouse button.
|
||||||
Make sure the ROIs are in the right order, matching the significance of a digit/analog counter!
|
Make sure the ROIs are in the right order, matching the significance of a digit/analog counter!
|
||||||
|
|
||||||
!!! Warning
|
!!! Warning
|
||||||
@@ -71,7 +71,7 @@ The configuration of ROIs differs a bit on the selected model (see below).
|
|||||||
|
|
||||||
If you are in the initial setup, the model will be selectable in the next step. By default it is a `dig-cont` resp. `ana-cont` model.
|
If you are in the initial setup, the model will be selectable in the next step. By default it is a `dig-cont` resp. `ana-cont` model.
|
||||||
|
|
||||||
In [Model Selection](../Choosing-the-Model) you find the differences between the different available models. Pick the one you think fits best your purpose. If you don't get to good result, try another model.
|
In [Model Selection](Choosing-the-Model.md) you find the differences between the different available models. Pick the one you think fits best your purpose. If you don't get to good result, try another model.
|
||||||
|
|
||||||
Here we only show the different configuration of the ROIs.
|
Here we only show the different configuration of the ROIs.
|
||||||
|
|
||||||
@@ -123,7 +123,7 @@ For this model, there should be a border of `20%` of the image size around the n
|
|||||||
| :x: **Not** Okay |  |  |
|
| :x: **Not** Okay |  |  |
|
||||||
|
|
||||||
|
|
||||||
If you have perfect alignment and still are not getting satisfying results, most probably your numbers are not part of the training data yet. See [Collect images to improve the models](../Learn-models-with-your-own-images) on how to collect new training data.
|
If you have perfect alignment and still are not getting satisfying results, most probably your numbers are not part of the training data yet. See [Collect images to improve the models](Learn-models-with-your-own-images.md) on how to collect new training data.
|
||||||
|
|
||||||
|
|
||||||
##### Setup using `dig-class100` or `dig-cont` Models
|
##### Setup using `dig-class100` or `dig-cont` Models
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Data Logging
|
# Data Logging
|
||||||
|
|
||||||
When Data Logging is enabled (See parameter [`DataLogActive`](../Parameters/#parameter-datalogactive)),
|
When Data Logging is enabled (See parameter [`DataLogActive`](Parameters.md/#parameter-datalogactive)),
|
||||||
the results of every round gets written to the SD-Card.
|
the results of every round gets written to the SD-Card.
|
||||||
|
|
||||||
The data files are stored in `/log/data` on the SD-Card.
|
The data files are stored in `/log/data` on the SD-Card.
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ You can do an OTA (over-the-air) update via the Web Interface.
|
|||||||
Grab the firmware from the
|
Grab the firmware from the
|
||||||
|
|
||||||
* [Releases page](https://github.com/jomjol/AI-on-the-edge-device/releases) (Stable, tested versions), or 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 inform yourself on [Living on the Edge](../rolling-installation) first!
|
* [Automatically build development branch](https://github.com/jomjol/AI-on-the-edge-device/actions?query=branch%3Arolling) (experimental, untested versions). Please inform yourself on [Living on the Edge](rolling-installation.md) first!
|
||||||
|
|
||||||
## Update Procedure
|
## Update Procedure
|
||||||
1. Create a backup of your configuration. Either use the Backup/Restore function of your device for this (menu `System > Backup/Restore`) or back the files manually up using the File Server (menu `File Server`, folder `config`). It is recommended to at least save the config file `config.ini`!
|
1. Create a backup of your configuration. Either use the Backup/Restore function of your device for this (menu `System > Backup/Restore`) or back the files manually up using the File Server (menu `File Server`, folder `config`). It is recommended to at least save the config file `config.ini`!
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
The [Github repository](https://github.com/jomjol/AI-on-the-edge-device) contains multiple branches:
|
The [Github repository](https://github.com/jomjol/AI-on-the-edge-device) contains multiple branches:
|
||||||
|
|
||||||
- The [master](https://github.com/jomjol/AI-on-the-edge-device/tree/master) branch contains the same firmware version as provided on the [release page](https://github.com/jomjol/AI-on-the-edge-device/releases).
|
- The [master](https://github.com/jomjol/AI-on-the-edge-device/tree/master) branch contains the same firmware version as provided on the [release page](https://github.com/jomjol/AI-on-the-edge-device/releases).
|
||||||
- The [rolling](https://github.com/jomjol/AI-on-the-edge-device/tree/rolling) branch 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!
|
- The [rolling](https://github.com/jomjol/AI-on-the-edge-device/tree/rolling) branch 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.md) and thus require manual flashing over USB!
|
||||||
- Any other branch is used to develop a feature or fix, only use them when you know what it is about!
|
- Any other branch is used to develop a feature or fix, only use them when you know what it is about!
|
||||||
|
|
||||||
## I still want to try it
|
## I still want to try it
|
||||||
@@ -14,4 +14,4 @@ Ok, then grab the latest `rolling` build from [Github Actions](https://github.co
|
|||||||

|

|
||||||
2. Scroll down and download the `AI-on-the-edge-device__update__*.zip`:
|
2. Scroll down and download the `AI-on-the-edge-device__update__*.zip`:
|
||||||

|

|
||||||
5. Flash the zip file using the [OTA Update](../ota) page of your device.
|
5. Flash the zip file using the [OTA Update](ota.md) page of your device.
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# Parameters
|
# Parameters
|
||||||
This page lists all available [Configuration](../Configuration) Parameters.
|
This page lists all available [Configuration](Configuration.md) Parameters.
|
||||||
If a **parameter** or **section** has a tick box on its left side, you can disable it.
|
If a **parameter** or **section** has a tick box on its left side, you can disable it.
|
||||||
In such case the functionality gets disabled respectively the default values will be used.
|
In such case the functionality gets disabled respectively the default values will be used.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user