mirror of
https://github.com/jomjol/AI-on-the-edge-device-docs.git
synced 2025-12-07 12:07:01 +03:00
Deployed 7c38213 with MkDocs version: 1.4.2
This commit is contained in:
6
404.html
6
404.html
@@ -82,7 +82,7 @@
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="/AI-on-the-edge-device-docs/Configuration/">Configuration</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="/AI-on-the-edge-device-docs/Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Watermeters</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="/AI-on-the-edge-device-docs/Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Water Meters</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="/AI-on-the-edge-device-docs/collect-new-images/">Collect images to improve the models</a>
|
||||
</li>
|
||||
@@ -130,12 +130,12 @@
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="/AI-on-the-edge-device-docs/outdated--Integrated-Functions/">Integrated Functions</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="/AI-on-the-edge-device-docs/outdated--Gasmeter-Log-Downloader/">Gasmeter Log-Downloader</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="/AI-on-the-edge-device-docs/outdated--Gasmeter-Log-Downloader/">Gas Meter Log Downloader</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="/AI-on-the-edge-device-docs/outdated--Migrate-Old-Config-To-New-Config/">Migration from water-meter „old“ to water-meter “AI-on-the-edge-device”</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Asorted Pages</span></p>
|
||||
<p class="caption"><span class="caption-text">Assorted Pages</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="/AI-on-the-edge-device-docs/Graphical-Configuration/">Graphical Configuration</a>
|
||||
</li>
|
||||
|
||||
@@ -90,7 +90,7 @@
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Configuration/">Configuration</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Watermeters</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Water Meters</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../collect-new-images/">Collect images to improve the models</a>
|
||||
</li>
|
||||
@@ -140,12 +140,12 @@
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Integrated-Functions/">Integrated Functions</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gasmeter Log-Downloader</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gas Meter Log Downloader</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Migrate-Old-Config-To-New-Config/">Migration from water-meter „old“ to water-meter “AI-on-the-edge-device”</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Asorted Pages</span></p>
|
||||
<p class="caption"><span class="caption-text">Assorted Pages</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Graphical-Configuration/">Graphical Configuration</a>
|
||||
</li>
|
||||
|
||||
@@ -98,7 +98,7 @@
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Configuration/">Configuration</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Watermeters</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Water Meters</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../collect-new-images/">Collect images to improve the models</a>
|
||||
</li>
|
||||
@@ -146,12 +146,12 @@
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Integrated-Functions/">Integrated Functions</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gasmeter Log-Downloader</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gas Meter Log Downloader</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Migrate-Old-Config-To-New-Config/">Migration from water-meter „old“ to water-meter “AI-on-the-edge-device”</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Asorted Pages</span></p>
|
||||
<p class="caption"><span class="caption-text">Assorted Pages</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Graphical-Configuration/">Graphical Configuration</a>
|
||||
</li>
|
||||
@@ -185,14 +185,14 @@
|
||||
<p>This page shows some best practices:</p>
|
||||
<h2 id="camera-placement">Camera Placement</h2>
|
||||
<ul>
|
||||
<li>Move the Camera as close as possible(~4cm), this will help get rid of reflections.
|
||||
<li>Move the Camera as close as possible (~4cm), this will help get rid of reflections.
|
||||
-> focus can be adjusted by turning the outer black ring of the camera.</li>
|
||||
<li>If the LED reflections are too strong, put tape over the LED to defuse the light</li>
|
||||
<li>If the LED reflections are too strong, put tape over the LED to diffuse the light</li>
|
||||
<li>Change the ImageSize to QVGA under "Expert mode" configuration when close enough, this will be faster and is often good enough for digital recognition.</li>
|
||||
</ul>
|
||||
<h2 id="reflections">Reflections</h2>
|
||||
<ul>
|
||||
<li>Try to get ride of the reflections by rotating the camera, so that the reflections are at positions, where no number is.</li>
|
||||
<li>Try to get rid of the reflections by rotating the camera, so that the reflections are at positions, where no number is.</li>
|
||||
<li>By using the external LED option, you can place WS2812 LEDs freely away from the main axis.</li>
|
||||
<li>Users report, that a handy cover foil could also help</li>
|
||||
</ul>
|
||||
|
||||
@@ -90,7 +90,7 @@
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Configuration/">Configuration</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Watermeters</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Water Meters</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../collect-new-images/">Collect images to improve the models</a>
|
||||
</li>
|
||||
@@ -140,12 +140,12 @@
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Integrated-Functions/">Integrated Functions</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gasmeter Log-Downloader</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gas Meter Log Downloader</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Migrate-Old-Config-To-New-Config/">Migration from water-meter „old“ to water-meter “AI-on-the-edge-device”</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Asorted Pages</span></p>
|
||||
<p class="caption"><span class="caption-text">Assorted Pages</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Graphical-Configuration/">Graphical Configuration</a>
|
||||
</li>
|
||||
|
||||
@@ -122,7 +122,7 @@
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Configuration/">Configuration</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Watermeters</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Water Meters</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../collect-new-images/">Collect images to improve the models</a>
|
||||
</li>
|
||||
@@ -170,12 +170,12 @@
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Integrated-Functions/">Integrated Functions</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gasmeter Log-Downloader</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gas Meter Log Downloader</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Migrate-Old-Config-To-New-Config/">Migration from water-meter „old“ to water-meter “AI-on-the-edge-device”</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Asorted Pages</span></p>
|
||||
<p class="caption"><span class="caption-text">Assorted Pages</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Graphical-Configuration/">Graphical Configuration</a>
|
||||
</li>
|
||||
|
||||
@@ -114,7 +114,7 @@
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Configuration/">Configuration</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Watermeters</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Water Meters</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../collect-new-images/">Collect images to improve the models</a>
|
||||
</li>
|
||||
@@ -162,12 +162,12 @@
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Integrated-Functions/">Integrated Functions</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gasmeter Log-Downloader</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gas Meter Log Downloader</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Migrate-Old-Config-To-New-Config/">Migration from water-meter „old“ to water-meter “AI-on-the-edge-device”</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Asorted Pages</span></p>
|
||||
<p class="caption"><span class="caption-text">Assorted Pages</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Graphical-Configuration/">Graphical Configuration</a>
|
||||
</li>
|
||||
@@ -304,7 +304,7 @@ FlipImageSize = false
|
||||
<tr>
|
||||
<td>/config/refx.jpg 98, 257</td>
|
||||
<td>Link to reference image and corresponding target coordinates</td>
|
||||
<td>file link is relative to sd-card root</td>
|
||||
<td>file link is relative to SD card root</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>SearchFieldX/Y</td>
|
||||
@@ -435,7 +435,7 @@ CheckDigitIncreaseConsistency = false
|
||||
</tr>
|
||||
<tr>
|
||||
<td>CheckDigitIncreaseConsistency</td>
|
||||
<td>This parameter controls, if the digits are checked for a consistent change in comparison to the previous value. This only makes sense, if the last digit is changing very slowly and every single digit is visible (e.g. 4.7 --> 4.8 --> 4.9 --> 5.0 --> 5.1). If single digits are skipped, for example because the digits changes to fast, this should be disabled (e.g. 4.7 --> 5.0 --> 5.1).</td>
|
||||
<td>This parameter controls, if the digits are checked for a consistent change in comparison to the previous value. This only makes sense, if the last digit is changing very slowly and every single digit is visible (e.g. 4.7 --> 4.8 --> 4.9 --> 5.0 --> 5.1). If single digits are skipped, for example because the digits changes too quickly, this should be disabled (e.g. 4.7 --> 5.0 --> 5.1).</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
@@ -517,7 +517,7 @@ Intervall = 4.85
|
||||
DataLogActive = true
|
||||
DataLogRetentionInDays = 3
|
||||
</code></pre>
|
||||
<p>This paragraph is used to control the logging of the result data to a spectific folder of SD-Card -> \log\data\data_YYYY-MM-DD.csv</p>
|
||||
<p>This paragraph is used to control the logging of the result data to a specific folder of SD card -> \log\data\data_YYYY-MM-DD.csv</p>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
@@ -529,7 +529,7 @@ DataLogRetentionInDays = 3
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>DataLogActive</td>
|
||||
<td>Activate data logging to SD-Card</td>
|
||||
<td>Activate data logging to SD card</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -588,7 +588,7 @@ SetupMode = false
|
||||
<tr>
|
||||
<td>TimeZone</td>
|
||||
<td>TimeZone of the system can be specified</td>
|
||||
<td>Central european, with summertime adjustement: <code>CET-1CEST,M3.5.0,M10.5.0/3</code></td>
|
||||
<td>Central european, with summertime adjustment: <code>CET-1CEST,M3.5.0,M10.5.0/3</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>TimeServer</td>
|
||||
|
||||
@@ -126,7 +126,7 @@
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Watermeters</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Water Meters</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../collect-new-images/">Collect images to improve the models</a>
|
||||
</li>
|
||||
@@ -174,12 +174,12 @@
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Integrated-Functions/">Integrated Functions</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gasmeter Log-Downloader</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gas Meter Log Downloader</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Migrate-Old-Config-To-New-Config/">Migration from water-meter „old“ to water-meter “AI-on-the-edge-device”</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Asorted Pages</span></p>
|
||||
<p class="caption"><span class="caption-text">Assorted Pages</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Graphical-Configuration/">Graphical Configuration</a>
|
||||
</li>
|
||||
@@ -216,7 +216,7 @@
|
||||
</div>
|
||||
<p>Most of the settings can be modified with the help of a web based <a href="Graphical-configuration">graphical user interface</a>. This is hosted through the web server on the ESP32.</p>
|
||||
<p>More configuration parameters can be edited by hand in the <code>config.ini</code> and corresponding files in the <code>/config</code> directory on the SD-card. </p>
|
||||
<p>If you where using the Version 1 of the watermeter you can easily transfer the configuration to the new system by following the steps in this <a href="../outdated--Migrate-Old-Config-To-New-Config/">migration description</a></p>
|
||||
<p>If you where using the Version 1 of the water meter you can easily transfer the configuration to the new system by following the steps in this <a href="../outdated--Migrate-Old-Config-To-New-Config/">migration description</a></p>
|
||||
<h2 id="processing-configini-principle">Processing / Config.ini principle</h2>
|
||||
<p>The principle is very simple and can most easily be described as a flow of processing steps. Each step has a dedicated parameter description in the <code>config.ini</code>, which is indicated by brackets <code>[name_of_step]</code>. The steps are processed in the order written in the config file. That means, that you first have to describe the image taking, then the aligning and cutting and only after that you can start to config a neural network. The last step is the post processing.</p>
|
||||
<h3 id="processing-steps-overview">Processing steps - Overview</h3>
|
||||
@@ -270,7 +270,7 @@
|
||||
</div><footer>
|
||||
<div class="rst-footer-buttons" role="navigation" aria-label="Footer Navigation">
|
||||
<a href="../Configuration-Parameter-Details/" class="btn btn-neutral float-left" title="Configuration Parameter Details"><span class="icon icon-circle-arrow-left"></span> Previous</a>
|
||||
<a href="../Watermeter-specific-analog---digital-transition/" class="btn btn-neutral float-right" title="Analog/Digital Transition on Watermeters">Next <span class="icon icon-circle-arrow-right"></span></a>
|
||||
<a href="../Watermeter-specific-analog---digital-transition/" class="btn btn-neutral float-right" title="Analog/Digital Transition on Water Meters">Next <span class="icon icon-circle-arrow-right"></span></a>
|
||||
</div>
|
||||
|
||||
<hr/>
|
||||
|
||||
@@ -90,7 +90,7 @@
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Configuration/">Configuration</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Watermeters</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Water Meters</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../collect-new-images/">Collect images to improve the models</a>
|
||||
</li>
|
||||
@@ -160,12 +160,12 @@
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Integrated-Functions/">Integrated Functions</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gasmeter Log-Downloader</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gas Meter Log Downloader</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Migrate-Old-Config-To-New-Config/">Migration from water-meter „old“ to water-meter “AI-on-the-edge-device”</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Asorted Pages</span></p>
|
||||
<p class="caption"><span class="caption-text">Assorted Pages</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Graphical-Configuration/">Graphical Configuration</a>
|
||||
</li>
|
||||
@@ -216,9 +216,9 @@
|
||||
<h5 id="analogs">Analogs</h5>
|
||||
<p>This are value derived from a pointer like meter. This never has the state "N".</p>
|
||||
<h5 id="checkdigitincreaseconsistency">CheckDigitIncreaseConsistency</h5>
|
||||
<p>If this is enabled an "inteligent" algorithm is used to derive from zero-crossing of discrete digit positions, if the number should have been increased. This is relevant because in some of the digit meters, the increase of a digit to the next number can be seen, before the subdigit has gone through zero.</p>
|
||||
<p>If this is enabled an "intelligent" algorithm is used to derive from zero-crossing of discrete digit positions, if the number should have been increased. This is relevant because in some of the digit meters, the increase of a digit to the next number can be seen, before the sub-digit has gone through zero.</p>
|
||||
<p>For example: 16.6 --> 16.7 --> 1N.8 --> <strong>17.9</strong> corrected to 16.9 --> 17.0 --> 17.1 </p>
|
||||
<p>As you can see, the 17.9 is a false reading as the 7 is assumed to be already readable, although the subdigit has not crossed the zero. In this case the CheckDigitIncreaseConsistency algorithm will correct this to 16.9</p>
|
||||
<p>As you can see, the 17.9 is a false reading as the 7 is assumed to be already readable, although the sub-digit has not crossed the zero. In this case the CheckDigitIncreaseConsistency algorithm will correct this to 16.9</p>
|
||||
<p>A detailed description of the algorithm can be found below (not yet ready!)</p>
|
||||
<h5 id="negative-rate-allowed">Negative Rate allowed</h5>
|
||||
<p>Most of the meters only have increasing numbers and do not count backwards. Therefore a negative rate (= negative change compared to the PreValue) is surely a false value. This can be checked an flagged as false reading</p>
|
||||
|
||||
@@ -90,7 +90,7 @@
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Configuration/">Configuration</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Watermeters</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Water Meters</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../collect-new-images/">Collect images to improve the models</a>
|
||||
</li>
|
||||
@@ -113,7 +113,7 @@
|
||||
</li>
|
||||
<li class="toctree-l1 current"><a class="reference internal current" href="./">Demo Mode</a>
|
||||
<ul class="current">
|
||||
<li class="toctree-l2"><a class="reference internal" href="#sd-card-structure">SD-Card Structure</a>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#sd-card-structure">SD Card Structure</a>
|
||||
</li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#recording">Recording</a>
|
||||
</li>
|
||||
@@ -121,7 +121,7 @@
|
||||
</li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#how-does-it-work">How does it work</a>
|
||||
</li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#example-data-of-a-watermeter">Example Data of a Watermeter</a>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#example-data-of-a-water-meter">Example Data of a Water Meter</a>
|
||||
<ul>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#animation">Animation</a>
|
||||
</li>
|
||||
@@ -160,12 +160,12 @@
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Integrated-Functions/">Integrated Functions</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gasmeter Log-Downloader</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gas Meter Log Downloader</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Migrate-Old-Config-To-New-Config/">Migration from water-meter „old“ to water-meter “AI-on-the-edge-device”</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Asorted Pages</span></p>
|
||||
<p class="caption"><span class="caption-text">Assorted Pages</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Graphical-Configuration/">Graphical Configuration</a>
|
||||
</li>
|
||||
@@ -197,11 +197,11 @@
|
||||
|
||||
<h1 id="demo-mode">Demo Mode</h1>
|
||||
<p>For Demo and Testing Purpose, the device can use pre-recorded images.</p>
|
||||
<p>You need to enable it in the configuration (<code>TakeImage > Demo</code>) and also provide the needed files on the SD-Card.</p>
|
||||
<p>You need to enable it in the configuration (<code>TakeImage > Demo</code>) and also provide the needed files on the SD card.</p>
|
||||
<p>For each round one image gets used, starting with the first image for the first round.</p>
|
||||
<p>For the reference image and the alignment also the first image gets used.</p>
|
||||
<p>Once the last image got reached, it starts again with the first one.</p>
|
||||
<h2 id="sd-card-structure">SD-Card Structure</h2>
|
||||
<h2 id="sd-card-structure">SD Card Structure</h2>
|
||||
<pre><code>demo/
|
||||
├── 520.8983.jpg
|
||||
├── 520.9086.jpg
|
||||
@@ -252,8 +252,8 @@ done
|
||||
<h2 id="installation">Installation</h2>
|
||||
<p>Just install the zip file using the OTA Update functionality.</p>
|
||||
<h2 id="how-does-it-work">How does it work</h2>
|
||||
<p>The Demo Mode tries to interfere as less as possible with the normal behavior. Whenever a Cam Framebuffer gets taken (<code>esp_camera_fb_get()</code>), it replaces the framebuffer with the image from the SD-Card.</p>
|
||||
<h2 id="example-data-of-a-watermeter">Example Data of a Watermeter</h2>
|
||||
<p>The Demo Mode tries to interfere as less as possible with the normal behavior. Whenever a Cam framebuffer gets taken (<code>esp_camera_fb_get()</code>), it replaces the framebuffer with the image from the SD card.</p>
|
||||
<h2 id="example-data-of-a-water-meter">Example Data of a Water Meter</h2>
|
||||
<p>You can use the following demo images if you want:</p>
|
||||
<p><img alt="530 00688" src="https://user-images.githubusercontent.com/1783586/211902363-1b8e4115-5f08-4e25-ace6-bb52e43b3741.jpg" style="width:200px" /></p>
|
||||
<p>It covers a meter range from <code>530.00688</code> to <code>531.85882</code>.</p>
|
||||
|
||||
@@ -90,7 +90,7 @@
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Configuration/">Configuration</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Watermeters</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Water Meters</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../collect-new-images/">Collect images to improve the models</a>
|
||||
</li>
|
||||
@@ -146,12 +146,12 @@
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Integrated-Functions/">Integrated Functions</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gasmeter Log-Downloader</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gas Meter Log Downloader</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Migrate-Old-Config-To-New-Config/">Migration from water-meter „old“ to water-meter “AI-on-the-edge-device”</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Asorted Pages</span></p>
|
||||
<p class="caption"><span class="caption-text">Assorted Pages</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Graphical-Configuration/">Graphical Configuration</a>
|
||||
</li>
|
||||
|
||||
@@ -90,7 +90,7 @@
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Configuration/">Configuration</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Watermeters</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Water Meters</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../collect-new-images/">Collect images to improve the models</a>
|
||||
</li>
|
||||
@@ -160,12 +160,12 @@
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Integrated-Functions/">Integrated Functions</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gasmeter Log-Downloader</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gas Meter Log Downloader</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Migrate-Old-Config-To-New-Config/">Migration from water-meter „old“ to water-meter “AI-on-the-edge-device”</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Asorted Pages</span></p>
|
||||
<p class="caption"><span class="caption-text">Assorted Pages</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Graphical-Configuration/">Graphical Configuration</a>
|
||||
</li>
|
||||
@@ -226,9 +226,9 @@
|
||||
</ul>
|
||||
<h3 id="roi-misaligned">ROI misaligned</h3>
|
||||
<p><img src="https://user-images.githubusercontent.com/108122193/188264361-0f5038ce-d827-4096-93fb-5907d3b072b4.png" width=30% height=30%></p>
|
||||
<p>This typically happens if you have suboptimal "Alignement Marks". A very simple and working solution is to put put higly contrasted stickers on your meter and put "Alignement Marks" on it (see picture below)</p>
|
||||
<p>This typically happens if you have suboptimal "Alignment Marks". A very simple and working solution is to put put higly contrasted stickers on your meter and put "Alignment Marks" on it (see picture below)</p>
|
||||
<p><img src="https://user-images.githubusercontent.com/108122193/188264752-c0f2a2be-0c22-40de-afaf-fd55b2eb4182.png" width=30% height=30%></p>
|
||||
<p>If after those adjustement you still have some issues, you can try to adjust your aligmenet settings in expert mode:
|
||||
<p>If after those adjustment you still have some issues, you can try to adjust your alignment settings in expert mode:
|
||||
<img src="https://user-images.githubusercontent.com/108122193/188382213-68c4a015-6582-4911-81bc-cdce8ef60ed2.png" width=75% height=75%></p>
|
||||
<h3 id="my-analog-meter-are-recognized-as-digital-counter-or-vice-versa">My Analog Meter are recognized as Digital Counter or vice versa</h3>
|
||||
<p><img src="https://user-images.githubusercontent.com/108122193/188265470-001a392f-d1f4-46a3-b1e8-f29ec41c8621.png" width=40% height=40%></p>
|
||||
|
||||
@@ -96,7 +96,7 @@
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Configuration/">Configuration</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Watermeters</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Water Meters</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../collect-new-images/">Collect images to improve the models</a>
|
||||
</li>
|
||||
@@ -144,12 +144,12 @@
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Integrated-Functions/">Integrated Functions</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gasmeter Log-Downloader</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gas Meter Log Downloader</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Migrate-Old-Config-To-New-Config/">Migration from water-meter „old“ to water-meter “AI-on-the-edge-device”</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Asorted Pages</span></p>
|
||||
<p class="caption"><span class="caption-text">Assorted Pages</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Graphical-Configuration/">Graphical Configuration</a>
|
||||
</li>
|
||||
@@ -181,7 +181,7 @@
|
||||
|
||||
<h2 id="external-led">External LED</h2>
|
||||
<p>The internal flash LED is very close to the camera axis. This results in reflection, especially in case of flat glass surfaces such as for power meters.
|
||||
To circumvent this problem, it is now possible to control external LEDs, which than can be places somewhere else in the setup. As not simples LEDs are used, but RGB leds with a digital interface like WS2812 not only the position, but also the color and intensity of the illumination can now be adjusted. The following image shows a direct comparision of the "old" internal flash LED and two off axis LEDs.</p>
|
||||
To circumvent this problem, it is now possible to control external LEDs, which than can be places somewhere else in the setup. As not simples LEDs are used, but RGB LEDs with a digital interface like WS2812 not only the position, but also the color and intensity of the illumination can now be adjusted. The following image shows a direct comparison of the "old" internal flash LED and two off axis LEDs.</p>
|
||||
<p><img src="https://raw.githubusercontent.com/jomjol/ai-on-the-edge-device/master/images/intern_vs_external.jpg" width="700"></p>
|
||||
<p>There is also a new <a href="https://www.thingiverse.com/thing:5028229">meter adapter</a> available. This has two features: designed for <strong>small clearings</strong> in front of the meter and prepared for <strong>WS2812 LEDs</strong>.</p>
|
||||
<p><img src="https://raw.githubusercontent.com/jomjol/ai-on-the-edge-device/master/images/Power_Meter_Mounted.jpg" width="500"></p>
|
||||
|
||||
@@ -104,7 +104,7 @@
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Configuration/">Configuration</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Watermeters</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Water Meters</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../collect-new-images/">Collect images to improve the models</a>
|
||||
</li>
|
||||
@@ -152,12 +152,12 @@
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Integrated-Functions/">Integrated Functions</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gasmeter Log-Downloader</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gas Meter Log Downloader</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Migrate-Old-Config-To-New-Config/">Migration from water-meter „old“ to water-meter “AI-on-the-edge-device”</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Asorted Pages</span></p>
|
||||
<p class="caption"><span class="caption-text">Assorted Pages</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Graphical-Configuration/">Graphical Configuration</a>
|
||||
</li>
|
||||
@@ -193,7 +193,7 @@
|
||||
<ul>
|
||||
<li>Frequent HTML requests</li>
|
||||
<li>Wrong configuration, missing configuration files</li>
|
||||
<li>Unstable hardware - see [[Hardware Compatibility]]</li>
|
||||
<li>Unstable hardware - see <a href="../Hardware-Compatibility">Hardware Compatibility</a>.</li>
|
||||
</ul>
|
||||
<p>There is a dedicated page about this: <a href="../Frequent-Reboots/">Frequent Reboots</a>.</p>
|
||||
<h3 id="how-accurate-are-the-detections">How accurate are the detections?</h3>
|
||||
@@ -215,10 +215,12 @@
|
||||
<h2 id="how-can-i-ensure-invalid-numbers-are-never-reported">How can I ensure invalid numbers are never reported?</h2>
|
||||
<p>As mentioned above, the AI algorithm is not perfect. Sometimes it may read an incorrect value.</p>
|
||||
<p>We can tune the software to <em>almost</em> never report an incorrect value. There is a tradeoff though: the software may report <em>stale</em> values - i.e. it will drop incorrect values for a potentially long period of time, resulting in the meter reading being outdated by hours. If never receiving an incorrect value is important to you, consider tolerating this tradeoff.</p>
|
||||
<p>You can change the following settings to reduce incorrect readings (but potentially increase staleness of data):
|
||||
* Set a prevalue via the UI, then change <code>PostProcessing</code> configuration option <code>PreValueAgeStartup</code> to a much larger number (e.g. <code>43200</code> = 30 days).
|
||||
* Change <code>PostProcessing</code> configuration option <code>MaxRateType</code> to be time based instead of absolute. Set <code>MaxRateValue</code> to something realistic (e.g. <code>5</code> gal/min). You can often find the max flow rate your meter supports directly on the cover.
|
||||
* Reduce <code>AutoTimer</code> configuration option <code>Intervall</code> to the lowest it can be (e.g. <code>3</code> min). The more often you take readings, the less likely for data staleness to occur.</p>
|
||||
<p>You can change the following settings to reduce incorrect readings (but potentially increase staleness of data):</p>
|
||||
<ul>
|
||||
<li>Set a prevalue via the UI, then change <code>PostProcessing</code> configuration option <code>PreValueAgeStartup</code> to a much larger number (e.g. <code>43200</code> = 30 days).</li>
|
||||
<li>Change <code>PostProcessing</code> configuration option <code>MaxRateType</code> to be time based instead of absolute. Set <code>MaxRateValue</code> to something realistic (e.g. <code>5</code> gal/min). You can often find the max flow rate your meter supports directly on the cover.</li>
|
||||
<li>Reduce <code>AutoTimer</code> configuration option <code>Interval</code> to the lowest it can be (e.g. <code>3</code> min). The more often you take readings, the less likely for data staleness to occur.</li>
|
||||
</ul>
|
||||
<h2 id="even-after-i-have-setup-everything-perfect-there-is-a-false-reading-especially-around-the-zero-crossing-roll-over-to-next-number">Even after I have setup everything perfect there is a false reading - especially around the zero crossing (roll over to next number)</h2>
|
||||
<ul>
|
||||
<li>The roll over behavior is different for the different meters. E.g.:</li>
|
||||
@@ -230,7 +232,7 @@
|
||||
<p>The "PostProcessingAlgo" is trying to judge out of the individual readings, what number it should be. </p>
|
||||
</li>
|
||||
<li>
|
||||
<p>For example if the previous number is a "1", but the next number seems to be a "8.9", mos probably there was a "zero crossing" and the number is a "9" and not still an "8"</p>
|
||||
<p>For example if the previous number is a "1", but the next number seems to be a "8.9", most probably there was a "zero crossing" and the number is a "9" and not still an "8"</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Currently the setting of the algorithm is set to fit most of the meters and cases. But the parameters do not fit perfectly for all situations. Therefore there might be intermediate states, where the reading is false.
|
||||
|
||||
@@ -90,7 +90,7 @@
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Configuration/">Configuration</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Watermeters</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Water Meters</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../collect-new-images/">Collect images to improve the models</a>
|
||||
</li>
|
||||
@@ -166,12 +166,12 @@
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Integrated-Functions/">Integrated Functions</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gasmeter Log-Downloader</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gas Meter Log Downloader</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Migrate-Old-Config-To-New-Config/">Migration from water-meter „old“ to water-meter “AI-on-the-edge-device”</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Asorted Pages</span></p>
|
||||
<p class="caption"><span class="caption-text">Assorted Pages</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Graphical-Configuration/">Graphical Configuration</a>
|
||||
</li>
|
||||
@@ -264,7 +264,7 @@ There is noting you can do about it, beside testing different hardware.</p>
|
||||
<h6 id="sd-card-recognized-but-not-supported">SD card recognized but not supported</h6>
|
||||
<p>This is the most annoying error. The SD card is detected, but the files cannot be read. Most probably this results in a problem with the WLAN connection, as the first file needed is the <code>wlan.ini</code> in the root directory.</p>
|
||||
<h5 id="psram-too-low">PSRAM too low</h5>
|
||||
<p>In order to work, there are 4 MB of PSRAM necessary. Normaly the ESP32CAM is equiped with 8 MB, whereof only 4 MB can be used effectively.
|
||||
<p>In order to work, there are 4 MB of PSRAM necessary. Normally the ESP32CAM is equipped with 8 MB, whereof only 4 MB can be used effectively.
|
||||
Sometimes, there is hardware, where only 2 MB of PSRAM is present - <strong>even if you have bought a 8 MB module</strong></p>
|
||||
<p>You can identify the amount of PSRAM in the serial log file:</p>
|
||||
<pre><code>09:38:21.224 -> [0;32mI (881) psram: This chip is ESP32-D0WD[0m
|
||||
|
||||
@@ -90,7 +90,7 @@
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Configuration/">Configuration</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Watermeters</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Water Meters</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../collect-new-images/">Collect images to improve the models</a>
|
||||
</li>
|
||||
@@ -138,12 +138,12 @@
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Integrated-Functions/">Integrated Functions</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gasmeter Log-Downloader</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gas Meter Log Downloader</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Migrate-Old-Config-To-New-Config/">Migration from water-meter „old“ to water-meter “AI-on-the-edge-device”</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Asorted Pages</span></p>
|
||||
<p class="caption"><span class="caption-text">Assorted Pages</span></p>
|
||||
<ul class="current">
|
||||
<li class="toctree-l1 current"><a class="reference internal current" href="./">Graphical Configuration</a>
|
||||
<ul class="current">
|
||||
@@ -180,7 +180,7 @@
|
||||
<div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
|
||||
<ul class="wy-breadcrumbs">
|
||||
<li><a href=".." class="icon icon-home" alt="Docs"></a> »</li>
|
||||
<li>Asorted Pages »</li>
|
||||
<li>Assorted Pages »</li>
|
||||
<li>Graphical Configuration</li>
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
<a href="https://github.com/jomjol/AI-on-the-edge-device-docs/edit/main/docs/Graphical-Configuration.md" class="icon icon-github"> Edit on GitHub</a>
|
||||
@@ -202,7 +202,7 @@
|
||||
<li>partially the commands needs processing on the ESP32 device. This is not very fast - so please be patient.</li>
|
||||
</ul>
|
||||
<h2 id="access-to-the-graphical-user-interface">Access to the graphical user interface</h2>
|
||||
<p>The graphical configuration mode can be reached via the "Edit Configuration" button in the main menue (<code>/index.html</code>):</p>
|
||||
<p>The graphical configuration mode can be reached via the "Edit Configuration" button in the main menu (<code>/index.html</code>):</p>
|
||||
<ul>
|
||||
<li><img src="img/config_s1_access.jpg" width="600" align="middle"></li>
|
||||
</ul>
|
||||
@@ -219,24 +219,24 @@
|
||||
b. Define alignment structures</li>
|
||||
<li>Definition of ROIs for digits and analog pointers</li>
|
||||
<li>Test the settings</li>
|
||||
<li>Back to main menue ("index.html")</li>
|
||||
<li>Back to main menu ("index.html")</li>
|
||||
</ul>
|
||||
<h3 id="1-edit-configini">1. Edit Config.ini</h3>
|
||||
<p>This is a text editor for the config.ini. Changes commited with the button on the lower left.</p>
|
||||
<p>This is a text editor for the config.ini. Changes committed with the button on the lower left.</p>
|
||||
<ul>
|
||||
<li><img src="https://raw.githubusercontent.com/jomjol/ai-on-the-edge-device/master/images/config_s2_edit_config.jpg" width="600" align="middle"></li>
|
||||
</ul>
|
||||
<p>Details see <a href="../Configuration-Parameter-Details">Configuration-Parameter-Details</a>.</p>
|
||||
<h3 id="2a-create-reference-image">2a. Create Reference Image</h3>
|
||||
<p>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. </p>
|
||||
<p><strong>‼️ Attention:</strong> Updating the reference image, also means, that all alignment images and ROIs needs to be teached again. Therefore do this step only with caution.</p>
|
||||
<p><strong>‼️ Attention:</strong> Updating the reference image, also means, that all alignment images and ROIs needs to be taught again. Therefore do this step only with caution.</p>
|
||||
<ul>
|
||||
<li><img src="https://raw.githubusercontent.com/jomjol/ai-on-the-edge-device/master/images/config_s3_reference.jpg" width="400" align="middle"></li>
|
||||
</ul>
|
||||
<p>At first the current image is shown and no adjustment is possible. To reload the actual image push the button "Show actual Reference" (1). To define a new reference image push the button "Create new Reference" (2).
|
||||
Then the last taken raw image from the camera is loaded. If you want to update this, you can push the button "Make new raw image (raw.jpg)". If you need to mirror your image (e.g. mirror before camera) you can do this by selecting "mirror image". After loading the mirroring (in case checked) and the prerotation angle from the <code>config.ini</code> are applied. Then use the rough and fine adjustment to get the image straight aligned (3).
|
||||
Then the last taken raw image from the camera is loaded. If you want to update this, you can push the button "Make new raw image (raw.jpg)". If you need to mirror your image (e.g. mirror before camera) you can do this by selecting "mirror image". After loading the mirroring (in case checked) and the pre-rotation angle from the <code>config.ini</code> are applied. Then use the rough and fine adjustment to get the image straight aligned (3).
|
||||
If everything is done, you can save the result with "Update Reference Image" (4).</p>
|
||||
<p>If you have problems with reflections, you can turn the camera in a positions, where the reflection is at a position, where no important information is. To reduce the intensity of the reflection you can also a peace of felt ("Filz") as diffusior at the LED. </p>
|
||||
<p>If you have problems with reflections, you can turn the camera in a positions, where the reflection is at a position, where no important information is. To reduce the intensity of the reflection you can also a peace of felt ("Filz") as diffusor at the LED. </p>
|
||||
<h3 id="2b-define-alignment-references">2b. Define Alignment References</h3>
|
||||
<p>The alignment references are used to realign every taken image to the reference coordinates. Therefore two alignment structures are identified and the image is shifted and rotated according to their position with the target to be in exactly the same position as the reference image. </p>
|
||||
<ul>
|
||||
@@ -259,7 +259,7 @@ The order of the ROIs correspond to the position of the digit / analog pointer i
|
||||
<p><img src="https://raw.githubusercontent.com/jomjol/ai-on-the-edge-device/master/images/config_s5_ROIs_details.jpg" align="middle"></p>
|
||||
<ul>
|
||||
<li>The outer rectangle is the final size of the ROI</li>
|
||||
<li>More important is the inner smaller rectangle. This should tightly fit around the number itself in x- and in y-dimension. Maybe you need to unlock the aspect ratio to change x- and y-size independendly</li>
|
||||
<li>More important is the inner smaller rectangle. This should tightly fit around the number itself in x- and in y-dimension. Maybe you need to unlock the aspect ratio to change x- and y-size independently</li>
|
||||
<li>The line in the middle should go through the middle of the number (in case it is not moving in or out)</li>
|
||||
</ul>
|
||||
<p>To save the result push "Save all to config.ini" (4).</p>
|
||||
|
||||
@@ -94,7 +94,7 @@
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Configuration/">Configuration</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Watermeters</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Water Meters</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../collect-new-images/">Collect images to improve the models</a>
|
||||
</li>
|
||||
@@ -142,12 +142,12 @@
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Integrated-Functions/">Integrated Functions</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gasmeter Log-Downloader</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gas Meter Log Downloader</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Migrate-Old-Config-To-New-Config/">Migration from water-meter „old“ to water-meter “AI-on-the-edge-device”</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Asorted Pages</span></p>
|
||||
<p class="caption"><span class="caption-text">Assorted Pages</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Graphical-Configuration/">Graphical Configuration</a>
|
||||
</li>
|
||||
@@ -179,7 +179,7 @@
|
||||
|
||||
<h1 id="hardware-compatibility">Hardware Compatibility</h1>
|
||||
<h3 id="general-remark">General Remark</h3>
|
||||
<p>Altrough a board looks similair, it can have major differences, eg.:</p>
|
||||
<p>Although a board looks similar, it can have major differences, e.g.:</p>
|
||||
<ul>
|
||||
<li>Processor</li>
|
||||
<li>Ram (Size! & Type) -> this Project needs at least 4MB RAM!</li>
|
||||
@@ -193,7 +193,7 @@
|
||||
<li>etc.</li>
|
||||
</ul>
|
||||
<p>This can cause different Power Consumption, Power Requirements, compatibility issues, etc.</p>
|
||||
<p>Most manufacturers and sellers buy what's cheap today on the Asian markets. In the end, it looks like it is sometimes a trial and error approach which ESP32-CAM Module works reliable.</p>
|
||||
<p>Most manufacturers and sellers buy what's cheap today on the Asian markets. In the end, it looks like it is sometimes a trial and error approach which ESP32-CAM Module works reliably.</p>
|
||||
<p>Below you find some remarks and experiences from the community:</p>
|
||||
<h1 id="esp32-core-itself">ESP32 core itself</h1>
|
||||
<table>
|
||||
@@ -214,8 +214,8 @@
|
||||
</table>
|
||||
<h1 id="psram">PSRAM</h1>
|
||||
<p>There seems to be a lot of "fake" chips, or maybe wrongly configured ESP32 Boards.</p>
|
||||
<p>For AP MEMORY, all "real" APS<strong>64</strong>04*3SQR Chips should work. </p>
|
||||
<p>For ESP PSRAM, all "real" PSRAM<strong>64</strong>* should work</p>
|
||||
<p>For AP MEMORY, all "real" APS<strong>64</strong>04*3SQR chips should work.</p>
|
||||
<p>For ESP PSRAM, all "real" PSRAM<strong>64</strong>* should work.</p>
|
||||
<p>64Mbit density = 8Mbyte PSRAM</p>
|
||||
<p>This Table is just a snapshot of chips which worked</p>
|
||||
<table>
|
||||
@@ -338,15 +338,15 @@
|
||||
<td>✔️<br />with >=4 MB PSRAM!</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ESP32-S3-EYE<br />No Flash LED, pins different used (e.g. LCD diskplay)</td>
|
||||
<td>ESP32-S3-EYE<br />No Flash LED, pins different used (e.g. LCD display)</td>
|
||||
<td></td>
|
||||
<td><strong>NOT OKAY</strong></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h1 id="sd-cards">SD-Cards</h1>
|
||||
<p>Due to the limited free available gpios (due to all the extensions needed like: camera, sd-card, LED-flash, ...) the sd card is connected in 1-wire mode. There are some cards, that are compatible with the esp32cam module for unknown reasons.
|
||||
It is observed, that smaller cards (up to 4 GB) tend to be more stable and larger cards have more problems. But quite some exceptions in the forums (4 GB cards not working, 16 G cards working like a charm).</p>
|
||||
<h1 id="sd-cards">SD Cards</h1>
|
||||
<p>Due to the limited free available GPIOs (due to all the extensions needed like: camera, SD card, LED-flash, ...) the SD card is connected in 1-wire mode. There are some cards, that are compatible with the esp32cam module for unknown reasons.
|
||||
It is observed, that smaller cards (up to 4 GB) tend to be more stable and larger cards have more problems. But quite some exceptions in the forums (4 GB cards not working, 16 GB cards working like a charm).</p>
|
||||
<h1 id="devices-known-to-work">Devices known to work</h1>
|
||||
<h3 id="modules-old-list-not-up-to-date-anymore">Modules (Old list, not up-to-date anymore):</h3>
|
||||
<p>See <a href="https://github.com/jomjol/AI-on-the-edge-device/discussions/1732">https://github.com/jomjol/AI-on-the-edge-device/discussions/1732</a> for a more recent list.</p>
|
||||
@@ -361,7 +361,7 @@ It is observed, that smaller cards (up to 4 GB) tend to be more stable and large
|
||||
<p><a href="https://www.reichelt.de/entwicklerboards-esp32-kamera-2mp-25--debo-cam-esp32-p266036.html?PROVID=2788&gclid=CjwKCAiAqaWdBhAvEiwAGAQlttJnV4azXWDYeaFUuNioMICh-jvxKp6Cifmcep9vvtoT2JRCDqBczRoC7Q0QAvD_BwE">https://www.reichelt.de/entwicklerboards-esp32-kamera-2mp-25--debo-cam-esp32-p266036.html?PROVID=2788&gclid=CjwKCAiAqaWdBhAvEiwAGAQlttJnV4azXWDYeaFUuNioMICh-jvxKp6Cifmcep9vvtoT2JRCDqBczRoC7Q0QAvD_BwE</a> (27.12.2022)</p>
|
||||
</li>
|
||||
</ul>
|
||||
<h3 id="sd-card">SD-Card</h3>
|
||||
<h3 id="sd-card">SD Card</h3>
|
||||
<ul>
|
||||
<li>Sandisk 2GB Micro SD Class 2 <a href="https://www.amazon.co.uk/gp/product/B000N3LL02/ref=ppx_yo_dt_b_asin_title_o01_s00?ie=UTF8&psc=1">Sandisk 2GB</a>
|
||||
AITRIP ESP32 and CAM <a href="https://www.amazon.co.uk/gp/product/B08X49P8P3/ref=ppx_yo_dt_b_asin_title_o03_s00?ie=UTF8&psc=1">ESP-32/CAM</a></li>
|
||||
|
||||
@@ -90,7 +90,7 @@
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Configuration/">Configuration</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Watermeters</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Water Meters</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../collect-new-images/">Collect images to improve the models</a>
|
||||
</li>
|
||||
@@ -140,12 +140,12 @@
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Integrated-Functions/">Integrated Functions</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gasmeter Log-Downloader</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gas Meter Log Downloader</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Migrate-Old-Config-To-New-Config/">Migration from water-meter „old“ to water-meter “AI-on-the-edge-device”</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Asorted Pages</span></p>
|
||||
<p class="caption"><span class="caption-text">Assorted Pages</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Graphical-Configuration/">Graphical Configuration</a>
|
||||
</li>
|
||||
@@ -176,7 +176,7 @@
|
||||
<div class="section" itemprop="articleBody">
|
||||
|
||||
<h1 id="influx-db">Influx DB</h1>
|
||||
<p>The device also supports direct sending of data to an Influ DB.</p>
|
||||
<p>The device also supports direct sending of data to an Influx DB.</p>
|
||||
<p>‼️ Only Influx DB 1 is supported!</p>
|
||||
|
||||
</div>
|
||||
|
||||
@@ -77,11 +77,11 @@
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#3-sd-card">3. SD-Card</a>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#3-sd-card">3. SD Card</a>
|
||||
<ul>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#notes">Notes</a>
|
||||
</li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#manual-setup-with-a-sd-card-reader-on-a-pc">Manual Setup with a SD-Card-Reader on a PC</a>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#manual-setup-with-an-sd-card-reader-on-a-pc">Manual Setup with an SD Card Reader on a PC</a>
|
||||
</li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#remote-setup-using-the-built-in-access-point">Remote Setup using the built-in Access Point</a>
|
||||
</li>
|
||||
@@ -134,7 +134,7 @@
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Configuration/">Configuration</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Watermeters</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Water Meters</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../collect-new-images/">Collect images to improve the models</a>
|
||||
</li>
|
||||
@@ -182,12 +182,12 @@
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Integrated-Functions/">Integrated Functions</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gasmeter Log-Downloader</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gas Meter Log Downloader</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Migrate-Old-Config-To-New-Config/">Migration from water-meter „old“ to water-meter “AI-on-the-edge-device”</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Asorted Pages</span></p>
|
||||
<p class="caption"><span class="caption-text">Assorted Pages</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Graphical-Configuration/">Graphical Configuration</a>
|
||||
</li>
|
||||
@@ -222,7 +222,7 @@
|
||||
<ol>
|
||||
<li>Get the right hardware and wire it up</li>
|
||||
<li>Flash the firmware onto the ESP32</li>
|
||||
<li>Write the data to the SD-Card</li>
|
||||
<li>Write the data to the SD card</li>
|
||||
<li>Start it</li>
|
||||
</ol>
|
||||
<p>For point 2 and 3 we provide multiple ways to do it. Pick the one that looks the easiest for you!</p>
|
||||
@@ -230,15 +230,15 @@
|
||||
<h3 id="esp32-cam">ESP32-CAM</h3>
|
||||
<ul>
|
||||
<li>OV2640 camera module</li>
|
||||
<li>Micro SD-Card slot </li>
|
||||
<li>Micro SD card slot </li>
|
||||
<li>4 or 8 MB PSRAM. </li>
|
||||
</ul>
|
||||
<p>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 malfunction device. See <a href="../Hardware-Compatibility">Hardware Compatibility</a> for further advice! </p>
|
||||
How ever since the hardware is cheap and coming from China, you unluckily could pick a malfunctioning device. See <a href="../Hardware-Compatibility">Hardware Compatibility</a> for further advice! </p>
|
||||
<h3 id="usb-uart-interface">USB->UART interface</h3>
|
||||
<p>For first time flashing the firmware a USB -> UART connector is needed. Later firmware upgrades than can be flashed via OTA.</p>
|
||||
<h3 id="power-supply">Power supply</h3>
|
||||
<p>For power supply a 5V source is needed. Most easily this can be done via an USB power supply. The power supply should support minimum 500mA. For buffering current peaks some users reported to use a large elco condensator like a 2200uF between ground and VCC.</p>
|
||||
<p>For power supply a 5V source is needed. Most easily this can be done via a USB power supply. The power supply should support minimum 500mA. For buffering current peaks some users reported to use a large electrolytic capacitor like a 2200uF between ground and VCC.</p>
|
||||
<p><strong>‼️ Attention:</strong> in several internet forums there are problems reported, in case the ESP32-CAM is only supplied with 3.3V.</p>
|
||||
<h3 id="housing">Housing</h3>
|
||||
<p>A small 3D-printable example for a very small case can be found in Thingiverse here: <a href="https://www.thingiverse.com/thing:4571627">https://www.thingiverse.com/thing:4571627</a></p>
|
||||
@@ -251,7 +251,7 @@ How ever since the hardware is cheap and coming from China, you unluckily could
|
||||
<p>A example for wiring can be found here:</p>
|
||||
<p><img alt="" src="../img/wiring.png" /></p>
|
||||
<p><img alt="" src="../img/progammer_manual.jpg" /></p>
|
||||
<p>It is also possible to use external LEDs for the illumination instead of the internal flash LED. This is described here: [[External-LED]]</p>
|
||||
<p>It is also possible to use external LEDs for the illumination instead of the internal flash LED. This is described <a href="../External-LED">here</a></p>
|
||||
<h2 id="2-firmware">2. Firmware</h2>
|
||||
<h3 id="web-installer">Web Installer</h3>
|
||||
<p>There is a Web Installer available which will work right out of the web browser Edge and Chrome.
|
||||
@@ -263,7 +263,7 @@ You can access it with the following link: <a href="https://jomjol.github.io/AI-
|
||||
<p>Grab the firmware from the</p>
|
||||
<ul>
|
||||
<li><a href="https://github.com/jomjol/AI-on-the-edge-device/releases">Releases page</a> (Stable, tested versions), or the</li>
|
||||
<li><a href="https://github.com/jomjol/AI-on-the-edge-device/actions?query=branch%3Arolling">Automatically build development branch</a> (experimental, untested versions). Please have a look on <a href="../rolling-installation">Living on the Edge</a>] first!</li>
|
||||
<li><a href="https://github.com/jomjol/AI-on-the-edge-device/actions?query=branch%3Arolling">Automatically build development branch</a> (experimental, untested versions). Please have a look on <a href="../rolling-installation">Living on the Edge</a> first!</li>
|
||||
</ul>
|
||||
<p>You need:</p>
|
||||
<ul>
|
||||
@@ -274,7 +274,7 @@ You can access it with the following link: <a href="https://jomjol.github.io/AI-
|
||||
<h4 id="flashing-using-the-flash-tool-from-espressif-gui">Flashing using the Flash Tool from Espressif (GUI)</h4>
|
||||
<p>Get the <a href="https://www.espressif.com/en/support/download/other-tools">Flash Download Tool</a> from Espressif.</p>
|
||||
<p>Download and extract the Flash tool, after starting choose "Developer Mode", then "ESP32-DownloadTool" and you are in the setup of the flashing tool. Connect the ESP32-CAM with the USB-UART connection and identify the COM-Port. </p>
|
||||
<p>‼️ <strong>Attention</strong>: if you reflashing the code again, it is strongly recommended to erase the flash memory before flashing the firmware. Especially if you used OTA in between, which might cause remaining information on the flash, to still boot from an old image in the OTA-area, which is not erased by a normal flash.</p>
|
||||
<p>‼️ <strong>Attention</strong>: if you are re-flashing the code again, it is strongly recommended to erase the flash memory before flashing the firmware. Especially if you used OTA in between, which might cause remaining information on the flash, to still boot from an old image in the OTA-area, which is not erased by a normal flash.</p>
|
||||
<p>But your ESP32 in bootloader mode and push start, then it will identify the board and you can configure the bin-configuration according to the following table:</p>
|
||||
<table>
|
||||
<thead>
|
||||
@@ -304,45 +304,45 @@ You can access it with the following link: <a href="https://jomjol.github.io/AI-
|
||||
Here you need to install the esptool:</p>
|
||||
<pre><code>pip install esptool
|
||||
</code></pre>
|
||||
<p>Then connect the ESP32 with the USB-UART connector to the system, put it in bootmode and with the following command you can erase the flash and flash bootloader, partitions and firmware in two steps:</p>
|
||||
<p>Then connect the ESP32 with the USB-UART connector to the system, put it in boot mode and with the following command you can erase the flash and flash bootloader, partitions and firmware in two steps:</p>
|
||||
<pre><code>esptool erase_flash
|
||||
esptool write_flash 0x01000 bootloader.bin 0x08000 partitions.bin 0x10000 firmware.bin
|
||||
</code></pre>
|
||||
<ul>
|
||||
<li>Maybe you need to specify the COM-port if it is not detected by default.</li>
|
||||
<li>If the erase command throws the error <code>A fatal error occurred: ESP32 ROM does not support function erase_flash.</code>, your <code>esptool</code> might be too old, see https://techoverflow.net/2022/02/08/how-to-fix-esp32-a-fatal-error-occurred-esp32-rom-does-not-support-function-erase_flash/</li>
|
||||
<li>If the erase command throws the error <code>A fatal error occurred: ESP32 ROM does not support function erase_flash.</code>, your <code>esptool</code> might be too old, see <a href="https://techoverflow.net/2022/02/08/how-to-fix-esp32-a-fatal-error-occurred-esp32-rom-does-not-support-function-erase_flash/">https://techoverflow.net/2022/02/08/how-to-fix-esp32-a-fatal-error-occurred-esp32-rom-does-not-support-function-erase_flash/</a></li>
|
||||
</ul>
|
||||
<p>With some Python installations this may not work and you’ll receive an error, try <code>python -m pip install esptool</code> or <code>pip3 install esptool</code></p>
|
||||
<p>Further recommendations can be found on the <a href="https://docs.espressif.com/projects/esptool/en/latest/esp32/installation.html">espressif webpage</a></p>
|
||||
<h2 id="3-sd-card">3. SD-Card</h2>
|
||||
<p>The software expects a SD-Card prepared with certain directory and file structure in order to work properly.
|
||||
SD-Card most top directory should look like this:</p>
|
||||
<p>With some Python installations this may not work and you’ll receive an error, try <code>python -m pip install esptool</code> or <code>pip3 install esptool</code>.</p>
|
||||
<p>Further recommendations can be found on the <a href="https://docs.espressif.com/projects/esptool/en/latest/esp32/installation.html">espressif webpage</a>.</p>
|
||||
<h2 id="3-sd-card">3. SD Card</h2>
|
||||
<p>The software expects an SD card prepared with certain directory and file structure in order to work properly.
|
||||
SD card most top directory should look like this:</p>
|
||||
<p><img alt="" src="../sd-card-content.png" /> </p>
|
||||
<p>This initial setup needs only to be done <strong>once</strong> as further updates (Firmware as well as SD-Card content) are possible with the <a href="../ota/">Over-The-Air Update</a> mechanism.</p>
|
||||
<p>This initial setup needs only to be done <strong>once</strong> as further updates (Firmware as well as SD card content) are possible with the <a href="../ota/">Over-The-Air Update</a> mechanism.</p>
|
||||
<h4 id="notes">Notes</h4>
|
||||
<ul>
|
||||
<li>Due to the limited availability of GPIOs (OV2640, Flash-Light, PSRAM & SD-Card) the communication mode to the SD card is limited to 1-line SD-Mode. It showed up, that this results in problems with very large SD-Cards (64GB, sometimes 32 GB) and some no name low cost SD-cards.</li>
|
||||
<li>Due to the limited availability of GPIOs (OV2640, Flash-Light, PSRAM & SD card) the communication mode to the SD card is limited to 1-line SD-Mode. It showed up, that this results in problems with very large SD-Cards (64GB, sometimes 32 GB) and some no name low cost SD-cards.</li>
|
||||
<li>There must be no partition table on the SD-card (no GPT, but only MBR for the single partition)</li>
|
||||
<li>Following setting are necessary for formating the SD-card: <strong>SINGLE PARTITION, MBR, FAT32 - 32K. NOT exFAT</strong></li>
|
||||
<li>Following setting are necessary for formatting the SD-card: <strong>SINGLE PARTITION, MBR, FAT32 - 32K. NOT exFAT</strong></li>
|
||||
<li>Some ESP32 devices share their SD-card and/or camera GPIOs with the pins for TX and RX. If you see errors like “Failed to connect” then your chip is probably not entering the bootloader properly. Remove the respective modules temporarily to free the GPIOs for flashing. You may find more information about troubleshooting on the <a href="https://docs.espressif.com/projects/esptool/en/latest/esp8266/troubleshooting.html">homepage of Espressif</a>.</li>
|
||||
</ul>
|
||||
<p><strong>The ESP32 indicates problems with the SD card during startup with a fast, endless blinking.</strong>
|
||||
<strong>In this case, please try another SD card.</strong> </p>
|
||||
<h3 id="manual-setup-with-a-sd-card-reader-on-a-pc">Manual Setup with a SD-Card-Reader on a PC</h3>
|
||||
<h3 id="manual-setup-with-an-sd-card-reader-on-a-pc">Manual Setup with an SD Card Reader on a PC</h3>
|
||||
<ol>
|
||||
<li>Take the <code>AI-on-the-edge-device__manual-setup__*.zip</code> from the <a href="https://github.com/jomjol/AI-on-the-edge-device/releases">Release</a> page.</li>
|
||||
<li>Open it and extract the <code>sd-card.zip</code>.</li>
|
||||
<li>Open it and extract all files onto onto your SD-Card.</li>
|
||||
<li>On the SD-Card, open the <code>wlan.ini</code> file and configure it as needed:<ul>
|
||||
<li>Open it and extract all files onto onto your SD card.</li>
|
||||
<li>On the SD card, open the <code>wlan.ini</code> file and configure it as needed:<ul>
|
||||
<li>Set the corresponding SSID and password</li>
|
||||
<li>The other parameters are optional</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ol>
|
||||
<p><strong>Note:</strong> The device provides a File Server which can be used to show, edit or delete the files on the SD-Card. For security reasons, the <code>wlan.ini</code> file is excluded from this and is hidden from external access to protect the password.</p>
|
||||
<p>After this, you can insert the SD-Card into the ESP32 board and start it.</p>
|
||||
<p><strong>Note:</strong> The device provides a File Server which can be used to show, edit or delete the files on the SD card. For security reasons, the <code>wlan.ini</code> file is excluded from this and is hidden from external access to protect the password.</p>
|
||||
<p>After this, you can insert the SD card into the ESP32 board and start it.</p>
|
||||
<h3 id="remote-setup-using-the-built-in-access-point">Remote Setup using the built-in Access Point</h3>
|
||||
<p>On startup of the ESP32, it checks if the <code>wlan.ini</code> or the <code>config/config.ini</code> are available on the SD-Card.
|
||||
<p>On startup of the ESP32, it checks if the <code>wlan.ini</code> or the <code>config/config.ini</code> are available on the SD card.
|
||||
If not, the ESP32 switches to a special mode. In this mode, it provides a Wifi Access Point which can be used to add the missing <code>wlan.ini</code> or the <code>config/config.ini</code> file.</p>
|
||||
<ol>
|
||||
<li>Take the <code>AI-on-the-edge-device__remote-setup__*.zip</code> from the <a href="https://github.com/jomjol/AI-on-the-edge-device/releases">Release</a> page.</li>
|
||||
@@ -352,21 +352,21 @@ If not, the ESP32 switches to a special mode. In this mode, it provides a Wifi A
|
||||
<p>The device has the following fixed IP: <a href="http://192.168.4.1">http://192.168.4.1</a>.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Upload initial configuration to sd-card</p>
|
||||
<p>Upload initial configuration to SD card</p>
|
||||
<p><img alt="" src="../img/setup-config.png" /></p>
|
||||
<p>Use the <code>select file</code> and <code>upload</code> button to start the upload.
|
||||
A warning will show up if you have choosen a possible wrong file (without default configuration).</p>
|
||||
A warning will show up if you have chosen a possible wrong file (without default configuration).</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Store WLAN acces information.</p>
|
||||
<p>Store WLAN access information.</p>
|
||||
<p>After the upload, a new page will be shown:</p>
|
||||
<p><img alt="" src="../img/setup-wlan.png" /></p>
|
||||
<p>Enter your SSID and password.</p>
|
||||
<p><strong>Note:</strong> Only basic settings are supported. If you need advanced configuration (fixed ip, ...), you need to use the manual setup as documented above.</p>
|
||||
<p><strong>‼️ Attention:</strong></p>
|
||||
<ul>
|
||||
<li>Carefully check your wifi settings. To change them later on, you need to take out the sd-card and edit the <code>wlan.ini</code> manually (or delete it and start again).</li>
|
||||
<li>The informations are transfered without encryption!</li>
|
||||
<li>Carefully check your wifi settings. To change them later on, you need to take out the SD card and edit the <code>wlan.ini</code> manually (or delete it and start again).</li>
|
||||
<li>The information is transferred without encryption!</li>
|
||||
</ul>
|
||||
<p>Finish the step by pushing <code>Write wlan.ini</code></p>
|
||||
</li>
|
||||
@@ -379,7 +379,7 @@ It will take up to 3 minutes. Afterwards you can find your device in the local n
|
||||
</li>
|
||||
</ol>
|
||||
<h2 id="4-initial-startup">4. Initial Startup</h2>
|
||||
<p>After the firmware is flashed and the SD-Card is setup properly, you can start it.
|
||||
<p>After the firmware is flashed and the SD card is setup properly, you can start it.
|
||||
After power on the connection status is indicated by 3x blinking of the red on board LED.</p>
|
||||
<p>WLAN-Status indication:</p>
|
||||
<ul>
|
||||
|
||||
@@ -82,7 +82,7 @@
|
||||
<ul class="current">
|
||||
<li class="toctree-l1 current"><a class="reference internal current" href="./">Integration into Home Assistant</a>
|
||||
<ul class="current">
|
||||
<li class="toctree-l2"><a class="reference internal" href="#using-mqtt-automatically-setup-entities-using-homeassistant-mqtt-discovery">Using MQTT (Automatically Setup Entities using Homeassistant MQTT Discovery)</a>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#using-mqtt-automatically-setup-entities-using-home-assistant-mqtt-discovery">Using MQTT (Automatically Setup Entities using Home Assistant MQTT Discovery)</a>
|
||||
<ul>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#using-mqtt-manually-setup-entities">Using MQTT (Manually Setup Entities)</a>
|
||||
</li>
|
||||
@@ -110,7 +110,7 @@
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Configuration/">Configuration</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Watermeters</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Water Meters</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../collect-new-images/">Collect images to improve the models</a>
|
||||
</li>
|
||||
@@ -158,12 +158,12 @@
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Integrated-Functions/">Integrated Functions</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gasmeter Log-Downloader</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gas Meter Log Downloader</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Migrate-Old-Config-To-New-Config/">Migration from water-meter „old“ to water-meter “AI-on-the-edge-device”</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Asorted Pages</span></p>
|
||||
<p class="caption"><span class="caption-text">Assorted Pages</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Graphical-Configuration/">Graphical Configuration</a>
|
||||
</li>
|
||||
@@ -196,14 +196,14 @@
|
||||
<h1 id="integration-into-home-assistant">Integration into Home Assistant</h1>
|
||||
<p>There are 3 ways to get the data into your Home Assistant:</p>
|
||||
<ol>
|
||||
<li>Using MQTT (Automatically Setup Entities using Homeassistant MQTT Discovery)</li>
|
||||
<li>Using MQTT (Automatically Setup Entities using Home Assistant MQTT Discovery)</li>
|
||||
<li>Using MQTT (Manually Setup Entities)</li>
|
||||
<li>Using REST calls</li>
|
||||
</ol>
|
||||
<p>The first one is the easier way if you already have MQTT in use.</p>
|
||||
<h2 id="using-mqtt-automatically-setup-entities-using-homeassistant-mqtt-discovery">Using MQTT (Automatically Setup Entities using Homeassistant MQTT Discovery)</h2>
|
||||
<h2 id="using-mqtt-automatically-setup-entities-using-home-assistant-mqtt-discovery">Using MQTT (Automatically Setup Entities using Home Assistant MQTT Discovery)</h2>
|
||||
<p>‼️ This feature will be available with the next release!</p>
|
||||
<p>Starting with Version <code>>12.0.1</code>, AI-on-the-edge-devices support Homeassistant Discovery.</p>
|
||||
<p>Starting with Version <code>>12.0.1</code>, AI-on-the-edge-devices support Home Assistant Discovery.</p>
|
||||
<ol>
|
||||
<li>Check <a href="https://www.home-assistant.io/integrations/mqtt/#mqtt-discovery">here</a> to learn more about it and how to enable it in Homeassistant.</li>
|
||||
<li>
|
||||
@@ -212,7 +212,7 @@
|
||||
<p>Make sure to select the right Meter Type to get the right units!</p>
|
||||
</li>
|
||||
</ol>
|
||||
<p>On the next start of the device, it will send discovery topics and Homeassistant should pick them up and show them under <code>Settings > Integrations > MQTT</code>:</p>
|
||||
<p>On the next start of the device, it will send discovery topics and Home Assistant should pick them up and show them under <code>Settings > Integrations > MQTT</code>:</p>
|
||||
<p><img alt="grafik" src="https://user-images.githubusercontent.com/1783586/199352538-ddcc3484-39ef-44f4-a853-53286807d30b.png" />
|
||||
<img alt="grafik" src="https://user-images.githubusercontent.com/1783586/199352565-9b0ade28-cb43-47b4-821f-7909cad41a73.png" />
|
||||
<img alt="grafik" src="https://user-images.githubusercontent.com/1783586/199352619-217df627-4b87-4fa0-86a2-f5347c452fdb.png" /></p>
|
||||
@@ -226,7 +226,7 @@
|
||||
unique_id: watermeter_value
|
||||
unit_of_measurement: 'm³'
|
||||
state_class: total_increasing
|
||||
device_class: water # Needs Homeassistant 2022.11!
|
||||
device_class: water # Needs Home Assistant 2022.11!
|
||||
icon: 'mdi:water-pump'
|
||||
availability_topic: wasserzaehler/connection
|
||||
payload_available: connected
|
||||
@@ -237,7 +237,7 @@
|
||||
unique_id: watermeter_rate
|
||||
unit_of_measurement: 'm³/min'
|
||||
state_class: measurement
|
||||
device_class: water # Needs Homeassistant 2022.11!
|
||||
device_class: water # Needs Home Assistant 2022.11!
|
||||
icon: 'mdi:water-pump'
|
||||
availability_topic: wasserzaehler/connection
|
||||
payload_available: connected
|
||||
@@ -303,12 +303,12 @@ it is a helper and can be used to reset the total increasing values once a day</
|
||||
<p><img alt="grafik" src="https://user-images.githubusercontent.com/1783586/193472069-4135736e-e63a-4afb-8009-5b97aa5c9ac5.png" /></p>
|
||||
<p><img alt="grafik" src="https://user-images.githubusercontent.com/1783586/193472091-1484aac4-ddc2-48ba-896c-28370963fc2d.png" /></p>
|
||||
<h3 id="statistics-graph">Statistics Graph</h3>
|
||||
<p>Creating Statistics Graphs (eg. usage per day) is easy using the <a href="https://www.home-assistant.io/home-energy-management/">Energy Dashboard</a>:
|
||||
<p>Creating Statistics Graphs (e.g. usage per day) is easy using the <a href="https://www.home-assistant.io/home-energy-management/">Energy Dashboard</a>:
|
||||
<img alt="grafik" src="https://user-images.githubusercontent.com/1783586/193471893-d8ab8f5f-0906-4076-8926-8b5a69a24bce.png" /></p>
|
||||
<p>Note that there seems to be a bug in the graph, see <a href="https://github.com/home-assistant/frontend/issues/13995">https://github.com/home-assistant/frontend/issues/13995</a>!</p>
|
||||
<h3 id="influxdb-graphs">InfluxDb Graphs</h3>
|
||||
<p>See also <a href="../Influx-DB">Influx-DB</a>.</p>
|
||||
<p>If you have setup InfluxDB already, it is also possible to fetch statistics from there, eg. daily usage:</p>
|
||||
<p>If you have setup InfluxDB already, it is also possible to fetch statistics from there, e.g. daily usage:</p>
|
||||
<pre><code>from(bucket: "HomeAssistant")
|
||||
|> range(start: v.timeRangeStart, stop: v.timeRangeStop)
|
||||
|> filter(fn: (r) => r["entity_id"] == "wasserverbrauch_tag")
|
||||
@@ -321,7 +321,7 @@ it is a helper and can be used to reset the total increasing values once a day</
|
||||
<h2 id="using-rest">Using REST</h2>
|
||||
<p>When using REST, Home Assistant has to periodically call an URL on the ESP32 which in return provides the requested data.</p>
|
||||
<p>See <a href="../REST-API">REST API</a> for a list of available URLs.</p>
|
||||
<p>The most practical one is the <code>json</code> entrypoint which provides the most relevant data JSON formated:
|
||||
<p>The most practical one is the <code>json</code> entrypoint which provides the most relevant data JSON formatted:
|
||||
<code>http://<IP>/json</code>
|
||||
This would return:</p>
|
||||
<pre><code class="language-JSON">{
|
||||
|
||||
@@ -90,7 +90,7 @@
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Configuration/">Configuration</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Watermeters</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Water Meters</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../collect-new-images/">Collect images to improve the models</a>
|
||||
</li>
|
||||
@@ -148,12 +148,12 @@
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Integrated-Functions/">Integrated Functions</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gasmeter Log-Downloader</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gas Meter Log Downloader</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Migrate-Old-Config-To-New-Config/">Migration from water-meter „old“ to water-meter “AI-on-the-edge-device”</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Asorted Pages</span></p>
|
||||
<p class="caption"><span class="caption-text">Assorted Pages</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Graphical-Configuration/">Graphical Configuration</a>
|
||||
</li>
|
||||
|
||||
@@ -90,7 +90,7 @@
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Configuration/">Configuration</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Watermeters</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Water Meters</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../collect-new-images/">Collect images to improve the models</a>
|
||||
</li>
|
||||
@@ -208,12 +208,12 @@
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Integrated-Functions/">Integrated Functions</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gasmeter Log-Downloader</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gas Meter Log Downloader</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Migrate-Old-Config-To-New-Config/">Migration from water-meter „old“ to water-meter “AI-on-the-edge-device”</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Asorted Pages</span></p>
|
||||
<p class="caption"><span class="caption-text">Assorted Pages</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Graphical-Configuration/">Graphical Configuration</a>
|
||||
</li>
|
||||
@@ -306,7 +306,7 @@
|
||||
</li>
|
||||
<li>
|
||||
<h4 id="rate_per_time_unit">Rate_per_time_unit</h4>
|
||||
<p>The time Unit gets set with the Homeassistant Discovery, eg. <code>h</code> or <code>m</code> (minutes)</p>
|
||||
<p>The time Unit gets set with the Home Assistant Discovery, e.g. <code>h</code> or <code>m</code> (minutes)</p>
|
||||
</li>
|
||||
<li>
|
||||
<h4 id="rate_per_digitalization_round">Rate_per_digitalization_round</h4>
|
||||
|
||||
@@ -130,7 +130,7 @@
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Configuration/">Configuration</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Watermeters</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Water Meters</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../collect-new-images/">Collect images to improve the models</a>
|
||||
</li>
|
||||
@@ -178,12 +178,12 @@
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Integrated-Functions/">Integrated Functions</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gasmeter Log-Downloader</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gas Meter Log Downloader</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Migrate-Old-Config-To-New-Config/">Migration from water-meter „old“ to water-meter “AI-on-the-edge-device”</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Asorted Pages</span></p>
|
||||
<p class="caption"><span class="caption-text">Assorted Pages</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Graphical-Configuration/">Graphical Configuration</a>
|
||||
</li>
|
||||
@@ -243,7 +243,7 @@
|
||||
Technically a wrong network will work and create output, but that would be totally arbitrary</li>
|
||||
<li>Not all type of pointers are trained in all networks.</li>
|
||||
<li>For the 11 classes digits network there many different types of digits trained. The reason is, that you 1) only need 20-30 training images and 2) the data collection is ongoing much longer</li>
|
||||
<li>For the continious and 100 classes network especially for the digits, there are only a few types of digits trained up to now</li>
|
||||
<li>For the continuous and 100 classes network especially for the digits, there are only a few types of digits trained up to now</li>
|
||||
<li>Therefore sometimes for the digits it is more effective to choose the simpler 11 classes network type (= default). </li>
|
||||
</ul>
|
||||
<h2 id="naming-convention">Naming convention</h2>
|
||||
@@ -291,7 +291,7 @@
|
||||
</ul>
|
||||
<h2 id="overview-of-trained-types-and-details">Overview of trained types and details</h2>
|
||||
<h3 id="analog-pointer-ana-cont_xxxtflite-ana-class100_xxxtflite">Analog Pointer ("ana-cont_XXX.tflite" & "ana-class100_XXX.tflite")</h3>
|
||||
<p>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.</p>
|
||||
<p>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 envelop for all different types of pointers. Currently there are no dedicated network trainings for specific types of pointers.</p>
|
||||
<p>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).</p>
|
||||
<h4 id="types-of-counters-trained">Types of counters trained:</h4>
|
||||
<table>
|
||||
@@ -321,7 +321,7 @@
|
||||
<h4 id="training-data-needs">Training data needs</h4>
|
||||
<ul>
|
||||
<li>Quadratic images, minimum size: 32x32 pixel</li>
|
||||
<li>Typically 100 - 200 images with a resultion of 1/100 of the full rotation (every 0.1 value or 3.6°)</li>
|
||||
<li>Typically 100 - 200 images with a resolution of 1/100 of the full rotation (every 0.1 value or 3.6°)</li>
|
||||
<li>Naming: x.y_ARBITRARY.jpg, where x.y = value 0.0 ... 9.9</li>
|
||||
</ul>
|
||||
<h4 id="cnn-technical-details">CNN Technical details:</h4>
|
||||
@@ -332,9 +332,9 @@
|
||||
<h5 id="output">Output</h5>
|
||||
<ul>
|
||||
<li><strong>ana-cont</strong>_XXX.tflite:</li>
|
||||
<li>2 neurons with output in range [-1, 1] - representing a sinus / cosinus encoding of the angle</li>
|
||||
<li>2 neurons with output in range [-1, 1] - representing a sinus / cosine encoding of the angle</li>
|
||||
<li>
|
||||
<p>needs to be converted to angle with arctan-hyperbolicus function</p>
|
||||
<p>needs to be converted to angle with arctan-hyperbolic function</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><strong>ana-class100</strong>_XXX.tflite</p>
|
||||
@@ -405,10 +405,10 @@
|
||||
<ul>
|
||||
<li>11 neurons for image classification (last layer normalized to 1)</li>
|
||||
<li>Neuron 0 to 9 represent the corresponding numbers "0" to "9"</li>
|
||||
<li>Neron 10 represent the "Not-A-Number" class, telling, that the image is not uniquely classified</li>
|
||||
<li>Neuron 10 represents the "Not-A-Number" class, telling, that the image is not uniquely classified</li>
|
||||
</ul>
|
||||
<h3 id="digits-with-rolling-results-dig-class100_xxxtflite-dig-cont_xxxtflite">Digits with rolling results ("dig-class100_XXX.tflite" & "dig-cont_XXX.tflite")</h3>
|
||||
<p>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. </p>
|
||||
<p>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 sub-digit values trained, so that the intermediate state can be used as additional information for the algorithms. </p>
|
||||
<h4 id="types-of-counters-trained_2">Types of counters trained:</h4>
|
||||
<table>
|
||||
<thead>
|
||||
@@ -454,7 +454,7 @@
|
||||
<li><strong>dig-cont</strong>_XXX.tflite:</li>
|
||||
<li>10 neurons representing the digits 0, 1, ... 9. The intermediate values are represented by weighted normalized values of two neighboring output neurons</li>
|
||||
<li>
|
||||
<p>needs to be converted to angle with arctan-hyperbolicus function</p>
|
||||
<p>needs to be converted to angle with arctan-hyperbolic function</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><strong>dig-class100</strong>_XXX.tflite</p>
|
||||
|
||||
@@ -90,7 +90,7 @@
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Configuration/">Configuration</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Watermeters</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Water Meters</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../collect-new-images/">Collect images to improve the models</a>
|
||||
</li>
|
||||
@@ -144,12 +144,12 @@
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Integrated-Functions/">Integrated Functions</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gasmeter Log-Downloader</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gas Meter Log Downloader</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Migrate-Old-Config-To-New-Config/">Migration from water-meter „old“ to water-meter “AI-on-the-edge-device”</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Asorted Pages</span></p>
|
||||
<p class="caption"><span class="caption-text">Assorted Pages</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Graphical-Configuration/">Graphical Configuration</a>
|
||||
</li>
|
||||
@@ -195,7 +195,7 @@ There are several ways for it:</p>
|
||||
<p>See also <a href="https://docs.github.com/en/account-and-profile/managing-subscriptions-and-notifications-on-github/managing-subscriptions-for-activity-on-github/viewing-your-subscriptions">Github Documentation</a>.</p>
|
||||
<h2 id="codereleaseio">CodeRelease.io</h2>
|
||||
<p>Alternatively or if you do not want to create a Github account, <a href="https://coderelease.io">CodeRelease.io</a> can be an alternative.</p>
|
||||
<p>You also have to subscribe with an emailaddress but no account is required.</p>
|
||||
<p>You also have to subscribe with an email address but no account is required.</p>
|
||||
|
||||
</div>
|
||||
</div><footer>
|
||||
|
||||
@@ -90,7 +90,7 @@
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Configuration/">Configuration</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Watermeters</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Water Meters</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../collect-new-images/">Collect images to improve the models</a>
|
||||
</li>
|
||||
@@ -216,12 +216,12 @@
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Integrated-Functions/">Integrated Functions</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gasmeter Log-Downloader</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gas Meter Log Downloader</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Migrate-Old-Config-To-New-Config/">Migration from water-meter „old“ to water-meter “AI-on-the-edge-device”</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Asorted Pages</span></p>
|
||||
<p class="caption"><span class="caption-text">Assorted Pages</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Graphical-Configuration/">Graphical Configuration</a>
|
||||
</li>
|
||||
@@ -253,7 +253,7 @@
|
||||
|
||||
<h1 id="rest-api">REST API</h1>
|
||||
<p>Various information is directly accessible over specific REST calls.</p>
|
||||
<p>To use it, just append them to the IP, separated with a <code>/</code>, eg. <code>http://192.168.1.1/json</code></p>
|
||||
<p>To use it, just append them to the IP, separated with a <code>/</code>, e.g. <code>http://192.168.1.1/json</code></p>
|
||||
<p>Note: For more detailed information to the REST handler, have a look to the code in the repository: <a href="https://github.com/jomjol/AI-on-the-edge-device/search?q=camuri.uri">registered handlers</a></p>
|
||||
<h2 id="control">Control</h2>
|
||||
<ul>
|
||||
@@ -340,7 +340,7 @@
|
||||
</li>
|
||||
<li>
|
||||
<h3 id="img_tmpalg_roijpg">img_tmp/alg_roi.jpg</h3>
|
||||
<p>Show last aligned image incuding ROI overlay</p>
|
||||
<p>Show last aligned image including ROI overlay</p>
|
||||
</li>
|
||||
</ul>
|
||||
<h2 id="status">Status</h2>
|
||||
@@ -370,7 +370,7 @@
|
||||
<p>Show system infos in JSON syntax</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Example: [{"firmware": "","buildtime": "2023-01-25 12:41","gitbranch": "HEAD","gittag": "","gitrevision": "af13c68+","html": "Development-Branch: HEAD (Commit: af13c68+)","cputemp": "64","hostname": "WaterMeterTest","IPv4": "192.168.xxx.xxx","freeHeapMem": "2818330"}]</p>
|
||||
<p>Example: <code>[{"firmware": "","buildtime": "2023-01-25 12:41","gitbranch": "HEAD","gittag": "","gitrevision": "af13c68+","html": "Development-Branch: HEAD (Commit: af13c68+)","cputemp": "64","hostname": "WaterMeterTest","IPv4": "192.168.xxx.xxx","freeHeapMem": "2818330"}]</code></p>
|
||||
</li>
|
||||
<li>
|
||||
<h3 id="starttime">starttime</h3>
|
||||
|
||||
@@ -110,7 +110,7 @@
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Configuration/">Configuration</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Watermeters</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Water Meters</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../collect-new-images/">Collect images to improve the models</a>
|
||||
</li>
|
||||
@@ -158,12 +158,12 @@
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Integrated-Functions/">Integrated Functions</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gasmeter Log-Downloader</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gas Meter Log Downloader</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Migrate-Old-Config-To-New-Config/">Migration from water-meter „old“ to water-meter “AI-on-the-edge-device”</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Asorted Pages</span></p>
|
||||
<p class="caption"><span class="caption-text">Assorted Pages</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Graphical-Configuration/">Graphical Configuration</a>
|
||||
</li>
|
||||
@@ -217,7 +217,7 @@
|
||||
<p>Ensure a sharp image of the camera by adjusting the focal length of the ESP OV2640 camera. <strong>Adjust the focus for the clearest possible image!</strong></p>
|
||||
<p>In order to use it for reading a meter, the focal-length of the OV2640 camera has to be manipulated, as by default it only results in sharp image for distance bigger than ~40cm, causing the image of the water meter to be too small for automated readout processing.</p>
|
||||
<p><strong>ATTENTION:</strong> this modification will void any warranty, as the sealing of the lens objective is broken!</p>
|
||||
<p><strong>ATTENTION:</strong> This modification will render the camera unsuitable for general, web-cam type applications unless the focal length is changed back to the original setting.</p>
|
||||
<p><strong>ATTENTION:</strong> This modification will render the camera unsuitable for general, web-cam type applications unless the focal length is changed back to the original setting.</p>
|
||||
<p><img alt="" src="../img/focus_adjustment.jpg" /></p>
|
||||
<p>Remove the fixing glue of the OV2640 lens with a sharp knife. After this you can screw the lens in and out. Rotating it by about a quarter of a turn counterclockwise results in a focus plane of about 10cm. You need to figure out your best setting with a little bit of trial and error for your specific environment.</p>
|
||||
<h3 id="horizontal-alignment">Horizontal Alignment</h3>
|
||||
|
||||
@@ -90,7 +90,7 @@
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Configuration/">Configuration</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Watermeters</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Water Meters</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../collect-new-images/">Collect images to improve the models</a>
|
||||
</li>
|
||||
@@ -142,12 +142,12 @@
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Integrated-Functions/">Integrated Functions</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gasmeter Log-Downloader</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gas Meter Log Downloader</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Migrate-Old-Config-To-New-Config/">Migration from water-meter „old“ to water-meter “AI-on-the-edge-device”</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Asorted Pages</span></p>
|
||||
<p class="caption"><span class="caption-text">Assorted Pages</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Graphical-Configuration/">Graphical Configuration</a>
|
||||
</li>
|
||||
|
||||
@@ -90,7 +90,7 @@
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Configuration/">Configuration</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Watermeters</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Water Meters</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../collect-new-images/">Collect images to improve the models</a>
|
||||
</li>
|
||||
@@ -140,12 +140,12 @@
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Integrated-Functions/">Integrated Functions</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gasmeter Log-Downloader</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gas Meter Log Downloader</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Migrate-Old-Config-To-New-Config/">Migration from water-meter „old“ to water-meter “AI-on-the-edge-device”</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Asorted Pages</span></p>
|
||||
<p class="caption"><span class="caption-text">Assorted Pages</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Graphical-Configuration/">Graphical Configuration</a>
|
||||
</li>
|
||||
@@ -192,10 +192,10 @@
|
||||
<p><img width="300" alt="image" src="https://user-images.githubusercontent.com/412645/209813215-e0ea7405-6ff4-48d0-8dab-97bfab6962af.png"></p>
|
||||
<p>Now you can use Visual Studio Code or a standard console to upload the test code. In VS Code (tab platformio) open <em>Advanced</em> and select <em>Test</em>.</p>
|
||||
<p><img width="467" alt="image" src="https://user-images.githubusercontent.com/412645/209813917-ea7fca50-2553-4acf-a8af-ecdac84a01ea.png"></p>
|
||||
<p>Alternativ you can run it in console/terminal with <code>platformio test --environment esp32cam</code>.</p>
|
||||
<p>Alternatively you can run it in console/terminal with <code>platformio test --environment esp32cam</code>.</p>
|
||||
<p>In my environment the serial terminal not opens. I have to do it for myself. You will see much logging. If any test fails it logs it out. Else it logs all test passed in the end.</p>
|
||||
<h2 id="troubleshooting">Troubleshooting</h2>
|
||||
<p>If you test very much cases in one function, the device runs in stackoverflow and an endless boot. Reduce the count of test cases or split the test function in multiple functions.</p>
|
||||
<p>If you test very much cases in one function, the device runs in Stack Overflow and an endless boot. Reduce the count of test cases or split the test function in multiple functions.</p>
|
||||
|
||||
</div>
|
||||
</div><footer>
|
||||
|
||||
@@ -90,7 +90,7 @@
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Configuration/">Configuration</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Watermeters</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Water Meters</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../collect-new-images/">Collect images to improve the models</a>
|
||||
</li>
|
||||
@@ -140,12 +140,12 @@
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Integrated-Functions/">Integrated Functions</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gasmeter Log-Downloader</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gas Meter Log Downloader</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Migrate-Old-Config-To-New-Config/">Migration from water-meter „old“ to water-meter “AI-on-the-edge-device”</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Asorted Pages</span></p>
|
||||
<p class="caption"><span class="caption-text">Assorted Pages</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Graphical-Configuration/">Graphical Configuration</a>
|
||||
</li>
|
||||
@@ -176,7 +176,7 @@
|
||||
<div class="section" itemprop="articleBody">
|
||||
|
||||
<h1 id="scripted-file-upload">Scripted File Upload</h1>
|
||||
<p>To upload a file eg. using <code>curl</code>, you first have to delete it and then upload it:</p>
|
||||
<p>To upload a file e.g. using <code>curl</code>, you first have to delete it and then upload it:</p>
|
||||
<pre><code>curl -d '' http://192.168.1.153/delete/html/index.html
|
||||
curl --data-binary @ota_page.html http://192.168.1.153/upload/html/index.html
|
||||
</code></pre>
|
||||
|
||||
@@ -5,14 +5,14 @@
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><link rel="canonical" href="https://jomjol.github.io/AI-on-the-edge-device-docs/Watermeter-specific-analog---digital-transition/" />
|
||||
<link rel="shortcut icon" href="../img/favicon.ico" />
|
||||
<title>Analog/Digital Transition on Watermeters - AI on the Edge Device</title>
|
||||
<title>Analog/Digital Transition on Water Meters - AI on the Edge Device</title>
|
||||
<link rel="stylesheet" href="../css/theme.css" />
|
||||
<link rel="stylesheet" href="../css/theme_extra.css" />
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.5.0/styles/github.min.css" />
|
||||
|
||||
<script>
|
||||
// Current page data
|
||||
var mkdocs_page_name = "Analog/Digital Transition on Watermeters";
|
||||
var mkdocs_page_name = "Analog/Digital Transition on Water Meters";
|
||||
var mkdocs_page_input_path = "Watermeter-specific-analog---digital-transition.md";
|
||||
var mkdocs_page_url = "/AI-on-the-edge-device-docs/Watermeter-specific-analog---digital-transition/";
|
||||
</script>
|
||||
@@ -90,7 +90,7 @@
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Configuration/">Configuration</a>
|
||||
</li>
|
||||
<li class="toctree-l1 current"><a class="reference internal current" href="./">Analog/Digital Transition on Watermeters</a>
|
||||
<li class="toctree-l1 current"><a class="reference internal current" href="./">Analog/Digital Transition on Water Meters</a>
|
||||
<ul class="current">
|
||||
<li class="toctree-l2"><a class="reference internal" href="#normal-transition">"Normal" transition</a>
|
||||
</li>
|
||||
@@ -148,12 +148,12 @@
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Integrated-Functions/">Integrated Functions</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gasmeter Log-Downloader</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gas Meter Log Downloader</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Migrate-Old-Config-To-New-Config/">Migration from water-meter „old“ to water-meter “AI-on-the-edge-device”</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Asorted Pages</span></p>
|
||||
<p class="caption"><span class="caption-text">Assorted Pages</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Graphical-Configuration/">Graphical Configuration</a>
|
||||
</li>
|
||||
@@ -173,7 +173,7 @@
|
||||
<ul class="wy-breadcrumbs">
|
||||
<li><a href=".." class="icon icon-home" alt="Docs"></a> »</li>
|
||||
<li>Advanced »</li>
|
||||
<li>Analog/Digital Transition on Watermeters</li>
|
||||
<li>Analog/Digital Transition on Water Meters</li>
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
<a href="https://github.com/jomjol/AI-on-the-edge-device-docs/edit/main/docs/Watermeter-specific-analog---digital-transition.md" class="icon icon-github"> Edit on GitHub</a>
|
||||
</li>
|
||||
@@ -183,8 +183,8 @@
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div class="section" itemprop="articleBody">
|
||||
|
||||
<h1 id="analogdigital-transition-on-watermeters">Analog/Digital Transition on Watermeters</h1>
|
||||
<p>At first, for the most watermeters the default configuration should be work. But the digit, especially the last digit differs in some devices.</p>
|
||||
<h1 id="analogdigital-transition-on-water-meters">Analog/Digital Transition on Water Meters</h1>
|
||||
<p>At first, for the most water meters the default configuration should be work. But the digit, especially the last digit differs in some devices.</p>
|
||||
<h2 id="normal-transition">"Normal" transition</h2>
|
||||
<p>In most cases, the transition of the last digit starts when the analogue pointer is > 9. </p>
|
||||
<p>Often the last digit "hangs" a bit on this devices and comes not over zero. So it is not easy to see which digit is correct. In the first example 4 or still 3? (3 is correct).</p>
|
||||
|
||||
@@ -90,7 +90,7 @@
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Configuration/">Configuration</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Watermeters</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Water Meters</a>
|
||||
</li>
|
||||
<li class="toctree-l1 current"><a class="reference internal current" href="./">Collect images to improve the models</a>
|
||||
<ul class="current">
|
||||
@@ -152,12 +152,12 @@
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Integrated-Functions/">Integrated Functions</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gasmeter Log-Downloader</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gas Meter Log Downloader</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Migrate-Old-Config-To-New-Config/">Migration from water-meter „old“ to water-meter “AI-on-the-edge-device”</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Asorted Pages</span></p>
|
||||
<p class="caption"><span class="caption-text">Assorted Pages</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Graphical-Configuration/">Graphical Configuration</a>
|
||||
</li>
|
||||
@@ -189,24 +189,24 @@
|
||||
|
||||
<h1 id="collect-images-to-improve-the-models">Collect images to improve the models</h1>
|
||||
<p>If your device has new, different digits or pointers it might be that the existing models don't recognize them well. In such case you can collect your images and so we can train the model better. This helps you and also others as the models get more accurate. Adding more images also helps if you have a model that is already known, but the neural models do not produce good results.</p>
|
||||
<p>Experienced users can do the training also by themself, see <a href="../Learn-models-with-your-own-images/">Learn a model with your own images</a>. </p>
|
||||
<p>Experienced users can do the training also by themselves, see <a href="../Learn-models-with-your-own-images/">Learn a model with your own images</a>. </p>
|
||||
<h2 id="before-you-start">Before you start</h2>
|
||||
<p>Before you go ahead, please check if your digits/pointers are not yet contained in the training data. A visual overview is available at <a href="https://jomjol.github.io/neural-network-digital-counter-readout">digits</a> resp. <a href="https://jomjol.github.io/neural-network-analog-needle-readout/">pointers</a>.</p>
|
||||
<p>Poor recognition is often caused by blurred images, low contrast or incorrect setting of the ROIs. Therefore, check these possibilities first, as additional training will bring little improvement here. See <a href="../ROI-Configuration/">ROI Configuration</a> for details.</p>
|
||||
<h2 id="collecting-images">Collecting images</h2>
|
||||
<p>The neural network is trained based on a set of images that have already been collected over time. If your digits are included or at least very similar to included images, the chance is very high that the neural network is working fine for you as well.</p>
|
||||
<p>The neural network configuration is stored in the TensorFlow Lite format as <code>*.tfl</code> or <code>*.tflite</code> in the <code>/config</code> directory on the SD-Card. A model can be updated (or a new one added) by uploading the new file and activating it on the configuration page or in the config file <code>/config/config.ini</code>.</p>
|
||||
<p>The neural network configuration is stored in the TensorFlow Lite format as <code>*.tfl</code> or <code>*.tflite</code> in the <code>/config</code> directory on the SD card. A model can be updated (or a new one added) by uploading the new file and activating it on the configuration page or in the config file <code>/config/config.ini</code>.</p>
|
||||
<p>In order to incorporate new digits a training set of images is required. The training images needs to be collected in the final setup with the help of the <code>Digits</code> or <code>Analog</code> log settings (not to be confused with the <code>Data</code> or <code>Debug</code> log). Enable the logging of the images on the configuration page or in the config file <code>/config/config.ini</code>:</p>
|
||||
<p><img alt="" src="../img/enable_log_image.jpg" /></p>
|
||||
<p>Now be patient! You have to wait until it has collected an image of each digit of every type. They wil lbe placed on the SD-Card inthe folder <code>/log/digit/</code> resp. <code>/log/anaolog/</code>.</p>
|
||||
<p>Now be patient! You have to wait until it has collected an image of each digit of every type. They wil lbe placed on the SD card in the folder <code>/log/digit/</code> resp. <code>/log/analog/</code>.</p>
|
||||
<p>After some days, there will be a lot of images, many of them very similar. Because of this, it is important to select only a subset of them for the model training.</p>
|
||||
<p>The tools shown below can help you with that.</p>
|
||||
<h2 id="collecting-images-for-dig-class100dig-contana-class100">Collecting images for dig-class100/dig-cont/ana-class100</h2>
|
||||
<p>For digits use <a href="https://github.com/haverland/collectmeterdigits">Collectmeterdigits</a> resp. for pointers use <a href="https://github.com/haverland/collectmeteranalog">collectmeteranalog</a> to fetch the images from the device and select a subset of them. Please read the detailed instructions on the mentionded links for details!</p>
|
||||
<p>For digits use <a href="https://github.com/haverland/collectmeterdigits">Collectmeterdigits</a> resp. for pointers use <a href="https://github.com/haverland/collectmeteranalog">collectmeteranalog</a> to fetch the images from the device and select a subset of them. Please read the detailed instructions on the mentioned links for details!</p>
|
||||
<p>If the fetching of the images is too slow for you, a faster way to get the images to your PC is to remove the SD-card from the ESP32 module and insert it into the card reader of yur PC.
|
||||
Then search for two..three images of each digit (<strong>not more! :-)</strong>). You will have to make sure to label the images yourself matching the effective value they are supposed to show. </p>
|
||||
<h2 id="share-your-images">Share your images</h2>
|
||||
<p>In most cases we will integrate your images in the training dataset of the models. Only if we fear a degradation of the models or you need a different behaviour, we might not include the data in the standard models (see at bottom of page for reasons).</p>
|
||||
<p>In most cases we will integrate your images in the training dataset of the models. Only if we fear a degradation of the models or you need a different behavior, we might not include the data in the standard models (see at bottom of page for reasons).</p>
|
||||
<p>To provide your images to us for training the model, open an <a href="https://github.com/jomjol/AI-on-the-edge-device/issues/new/choose">Github Issue</a> and append the zipped images ito it.</p>
|
||||
<h3 id="images-can-be-rejected-if">Images can be rejected if</h3>
|
||||
<ul>
|
||||
@@ -220,7 +220,7 @@ Then search for two..three images of each digit (<strong>not more! :-)</strong>)
|
||||
</div>
|
||||
</div><footer>
|
||||
<div class="rst-footer-buttons" role="navigation" aria-label="Footer Navigation">
|
||||
<a href="../Watermeter-specific-analog---digital-transition/" class="btn btn-neutral float-left" title="Analog/Digital Transition on Watermeters"><span class="icon icon-circle-arrow-left"></span> Previous</a>
|
||||
<a href="../Watermeter-specific-analog---digital-transition/" class="btn btn-neutral float-left" title="Analog/Digital Transition on Water Meters"><span class="icon icon-circle-arrow-left"></span> Previous</a>
|
||||
<a href="../Learn-models-with-your-own-images/" class="btn btn-neutral float-right" title="Learn a model with your own images">Next <span class="icon icon-circle-arrow-right"></span></a>
|
||||
</div>
|
||||
|
||||
|
||||
22
index.html
22
index.html
@@ -104,7 +104,7 @@
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="Configuration/">Configuration</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Watermeters</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Water Meters</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="collect-new-images/">Collect images to improve the models</a>
|
||||
</li>
|
||||
@@ -152,12 +152,12 @@
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="outdated--Integrated-Functions/">Integrated Functions</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="outdated--Gasmeter-Log-Downloader/">Gasmeter Log-Downloader</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="outdated--Gasmeter-Log-Downloader/">Gas Meter Log Downloader</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="outdated--Migrate-Old-Config-To-New-Config/">Migration from water-meter „old“ to water-meter “AI-on-the-edge-device”</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Asorted Pages</span></p>
|
||||
<p class="caption"><span class="caption-text">Assorted Pages</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="Graphical-Configuration/">Graphical Configuration</a>
|
||||
</li>
|
||||
@@ -190,17 +190,17 @@
|
||||
<h1 id="welcome">Welcome</h1>
|
||||
<p>Welcome to the AI-on-the-edge-device project!</p>
|
||||
<p>This is the documentation. For the source code, please head to <a href="https://github.com/jomjol/AI-on-the-edge-device">github.com/jomjol/AI-on-the-edge-device</a>.</p>
|
||||
<p>Artificial intelligence based systems have been established in our every days live. Just think of speech or image recognition. Most of the systems relay on either powerful processors or a direct connection to the cloud for doing the calculations up there. With the increasing power of modern processors the AI systems are coming closer to the end user - which is usually called <strong>edge computing</strong>.
|
||||
Here this edge computing is brought into a practical oriented example, where a AI network is implemented on a ESP32 device so: <strong>AI on the edge</strong>.</p>
|
||||
<p>Artificial intelligence based systems have been established in our everyday lives. Just think of speech or image recognition. Most of the systems rely on either powerful processors or a direct connection to the cloud for doing the calculations up there. With the increasing power of modern processors the AI systems are coming closer to the end user - which is usually called <strong>edge computing</strong>.
|
||||
Here this edge computing is brought into a practice-oriented example, where a AI network is implemented on a ESP32 device so: <strong>AI on the edge</strong>.</p>
|
||||
<h2 id="key-features">Key features</h2>
|
||||
<ul>
|
||||
<li>Tensorflow Lite (TFlite) integration - including easy to use wrapper</li>
|
||||
<li>Inline Image processing (feature detection, alignment, ROI extraction)</li>
|
||||
<li>Inline image processing (feature detection, alignment, ROI extraction)</li>
|
||||
<li><strong>Small</strong> and <strong>cheap</strong> device (3x4.5x2 cm³, < 10 EUR)</li>
|
||||
<li>camera and illumination integrated</li>
|
||||
<li>Camera and illumination integrated</li>
|
||||
<li>Web surface to administrate and control</li>
|
||||
<li>OTA-Interface to update directly through the web interface</li>
|
||||
<li>Full integration into Homeassistant</li>
|
||||
<li>Full integration into Home Assistant</li>
|
||||
<li>Support for Influx DB 1</li>
|
||||
<li>MQTT</li>
|
||||
<li>REST API</li>
|
||||
@@ -217,10 +217,10 @@ Here this edge computing is brought into a practical oriented example, where a A
|
||||
<p><img alt="" src="img/edit_reference.jpg" style="width:600px" /></p>
|
||||
<p><strong>Have fun in studying the new possibilities and ideas</strong></p>
|
||||
<p>This is about image recognition and digitalization, done totally on a cheap ESP32 board using artificial intelligence in form of convolutional neural networks (CNN). Everything, from image capture (OV2640), image preprocessing (auto alignment, ROI identification) all the way down to the image recognition (CNN structure) and result plausibility is done on a cheap 10 EUR device.</p>
|
||||
<p>This all is integrated in an easy to do setup and use environment, taking care for all the background processing and handling, including regular job scheduler. The user interface is an integrated web server, that can be easily adjusted an offers the data as an API in different options.</p>
|
||||
<p>The task to be demonstrated here is a automated readout of an analog water meter. The water consumption is to be recorded within a house automatization and the water meter is totally analog without any electronic interface. Therefore the task is solved by taking regularly an image of the water meter and digitize the reading.</p>
|
||||
<p>This all is integrated in an easy to do setup and use environment, taking care for all the background processing and handling, including regular job scheduler. The user interface is an integrated web server, that can be easily adjusted and offers the data as an API in different options.</p>
|
||||
<p>The task to be demonstrated here is an automated readout of an analog water meter. The water consumption is to be recorded within a house automatization and the water meter is totally analog without any electronic interface. Therefore, the task is solved by regularly taking an image of the water meter and digitizing the reading.</p>
|
||||
<p>There are two types of CNN implemented, a classification network for reading the digital numbers and a single output network for digitalize the analog pointers for the sub digit readings.</p>
|
||||
<p>This project is a evolution of the <a href="https://github.com/jomjol/water-meter-system-complete">water-meter-system-complete</a>, which uses ESP32-CAM just for taking the image and a 1GB-Docker image to run the neural networks backbone. Here everything is integrated in an ESP32-CAM module with 8MB of RAM and a SD-Card as data storage.</p>
|
||||
<p>This project is an evolution of the <a href="https://github.com/jomjol/water-meter-system-complete">water-meter-system-complete</a>, which uses ESP32-CAM just for taking the image and a 1GB-Docker image to run the neural network's backbone. Here everything is integrated in an ESP32-CAM module with 8MB of RAM and a SD card as data storage.</p>
|
||||
|
||||
</div>
|
||||
</div><footer>
|
||||
|
||||
@@ -69,7 +69,7 @@
|
||||
</li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#5-general-settings">5. General Settings</a>
|
||||
<ul>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#expert-modus">Expert Modus</a>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#expert-mode">Expert Mode</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
@@ -120,7 +120,7 @@
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Configuration/">Configuration</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Watermeters</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Water Meters</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../collect-new-images/">Collect images to improve the models</a>
|
||||
</li>
|
||||
@@ -168,12 +168,12 @@
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Integrated-Functions/">Integrated Functions</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gasmeter Log-Downloader</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gas Meter Log Downloader</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Migrate-Old-Config-To-New-Config/">Migration from water-meter „old“ to water-meter “AI-on-the-edge-device”</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Asorted Pages</span></p>
|
||||
<p class="caption"><span class="caption-text">Assorted Pages</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Graphical-Configuration/">Graphical Configuration</a>
|
||||
</li>
|
||||
@@ -204,7 +204,7 @@
|
||||
<div class="section" itemprop="articleBody">
|
||||
|
||||
<h1 id="initial-setup">Initial Setup</h1>
|
||||
<p>After setting up the device (firmware, sd-card, wlan) the device will connect to the wifi access point and start in an initial setup configuration:</p>
|
||||
<p>After setting up the device (firmware, SD card, WLAN) the device will connect to the wifi access point and start in an initial setup configuration:</p>
|
||||
<p><img alt="" src="../img/setup_initial_welcome.png" style="width:500px" /></p>
|
||||
<p>In the top you can navigate through 5 steps, that guide you through the necessary setup. All settings can be accessed also later in the normal operation mode (see below).</p>
|
||||
<h2 id="1-reference-image">1. Reference Image</h2>
|
||||
@@ -228,7 +228,7 @@
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p><strong>‼️ Attention:</strong> Updating the reference image, also means, that all alignment images and ROIs needs to be teached again. Therefore do this step later only with caution.</p>
|
||||
<p><strong>‼️ Attention:</strong> Updating the reference image, also means, that all alignment images and ROIs needs to be taught again. Therefore do this step later only with caution.</p>
|
||||
<p>If everything is done, you can save the result with "Update Reference Image" (4). Please do not reboot at this stage, but go to the next section.</p>
|
||||
<h2 id="2-alignment-references">2. Alignment References</h2>
|
||||
<p>The alignment references are used to realign every taken image to the reference coordinates. Therefore two alignment structures are identified and the image is shifted and rotated according to their position with the target to be in exactly the same position as the reference image. The alignment structures needs to be unique and have a good contrast. You can switch between this two marks with (1).</p>
|
||||
@@ -242,9 +242,9 @@
|
||||
<p>First of all, if you don't have that kind of numbers on you meter, you can disable it with the check box at the top (1).</p>
|
||||
<p><img alt="" src="../img/initial_setup_3_rois.jpg" style="width:500px" /></p>
|
||||
<p>In contrast to the reference images, here there are more ROIs possible. You can switch between them with the drop down box (2). If you need additional ROIs or delete them you can do this with the control at (2). </p>
|
||||
<p><strong>Attention:</strong> The order of the ROIs defines, how the indiviual digits are combined to the total number. The first ROI is the digit with the highest order, then the second and so on. You can control the order in the selector tab and change it with the buttons "move Next" or "move Previous".</p>
|
||||
<p><strong>Attention:</strong> The order of the ROIs defines, how the individual digits are combined to the total number. The first ROI is the digit with the highest order, then the second and so on. You can control the order in the selector tab and change it with the buttons "move Next" or "move Previous".</p>
|
||||
<p>As for the reference images you can change position, size and name of the ROI in the text fields or define them via drag and drop through the mouse button. </p>
|
||||
<p>In most cases the digits are ordered in a aequidistant order and have the same size, you can synchronize them with the control in (4).</p>
|
||||
<p>In most cases the digits are ordered in a equidistantly and have the same size, you can synchronize them with the control in (4).</p>
|
||||
<p>Don' t forget to save the settings with "Save" and do not reboot at this stage.</p>
|
||||
<h3 id="detail-for-roi-configuration-analog-meters">Detail for ROI configuration - Analog Meters</h3>
|
||||
<p>For analog meters the ROI setting is rather straight forward as the meter is usually quadratic with a clear center. The circle should exactly fit to the outer size of the meter and the cross should be in the middle.</p>
|
||||
@@ -253,13 +253,13 @@
|
||||
<h3 id="detail-for-roi-configuration-digital-meters">Detail for ROI configuration - Digital Meters</h3>
|
||||
<p>For the digital meters it is a little bit more complicated, as there are different options of digital models, that you can choose.</p>
|
||||
<ol>
|
||||
<li>Digital meter, that only recognized full digits (0, 1, 2, 3, ... 9) - Naming: <code>dig-class11-....tfl</code>
|
||||
<strong>Advantage:</strong> broad variety of types included in the training
|
||||
<strong>Disadvantage:</strong> partially rotated numbers cannot be detected</li>
|
||||
<li>Model with subdigit resulition (0.0, 0.1, 0.2, .... 9.8, 9.9) - Naming: <code>dig-cont-....tfl</code> or <code>dig-class100-....tfl</code>
|
||||
<strong>Advantage:</strong> partial numbers can be detected and a better post processing is possible
|
||||
<strong>Disadvantage:</strong> only limited types of meter types are trained due to the high effort for the training data</li>
|
||||
<li>Digital meter, that only recognized full digits (0, 1, 2, 3, ... 9) - Naming: <code>dig-class11-....tfl</code></li>
|
||||
</ol>
|
||||
<p><strong>Advantage:</strong> broad variety of types included in the training</p>
|
||||
<p><strong>Disadvantage:</strong> partially rotated numbers cannot be detected
|
||||
2. Model with sub-digit resolution (0.0, 0.1, 0.2, .... 9.8, 9.9) - Naming: <code>dig-cont-....tfl</code> or <code>dig-class100-....tfl</code></p>
|
||||
<p><strong>Advantage:</strong> partial numbers can be detected and a better post processing is possible</p>
|
||||
<p><strong>Disadvantage:</strong> only limited types of meter types are trained due to the high effort for the training data</p>
|
||||
<p>Details and the corresponding "perfect" setting is explained here: <a href="https://jomjol.github.io/AI-on-the-edge-device-docs/ROI-Configuration/">Details ROI Configuration</a></p>
|
||||
<p>For a first run you can choose the following general settings: </p>
|
||||
<ul>
|
||||
@@ -303,7 +303,7 @@
|
||||
<li>PostProcessing</li>
|
||||
<li>MQTT</li>
|
||||
<li>InfluxDB</li>
|
||||
<li>GPIOSettings</li>
|
||||
<li>GPIO Settings</li>
|
||||
<li>Autotimer</li>
|
||||
<li>DataLogging</li>
|
||||
<li>Debug</li>
|
||||
@@ -313,14 +313,14 @@
|
||||
<p>Some of the sections as well as parameters are mandatory. They can be en/disabled in the first column (1).
|
||||
The setting itself is done in the next column (2) and a brief explanation you can find in the last column (3).</p>
|
||||
<p>Don' t forget to save the settings with "Save" and do not reboot at this stage.</p>
|
||||
<h4 id="expert-modus">Expert Modus</h4>
|
||||
<p>With the normal parameters you should be able to make the needed settings for most of the system. Sometimes there is some fine tunning needed. For this there is an expert modus available. This can be enabled with the check box at the top (4). After this you see much more parameters. But before modifiying them you should be really sure, what they are about.</p>
|
||||
<h4 id="expert-mode">Expert Mode</h4>
|
||||
<p>With the normal parameters you should be able to make the needed settings for most of the system. Sometimes there is some fine tunning needed. For this there is an expert mode available. This can be enabled with the check box at the top (4). After this you see much more parameters. But before modifying them you should be really sure, what they are about.</p>
|
||||
<h2 id="finish-setup-and-change-to-normal-operation">Finish Setup and change to normal operation</h2>
|
||||
<p>After setting up everything, there is a last step to be done:</p>
|
||||
<p><img alt="" src="../img/initial_setup_6_finish_reboot.jpg" style="width:500px" /></p>
|
||||
<p>With (1) you leave the setup modus and reboot to normal operation mode.</p>
|
||||
<p>With (1) you leave the setup mode and reboot to normal operation mode.</p>
|
||||
<h2 id="access-to-setup-in-normal-operation-mode">Access to setup in normal operation mode</h2>
|
||||
<p>You can access all the settings also during the normal working mode via the "Settings" menue:</p>
|
||||
<p>You can access all the settings also during the normal working mode via the "Settings" menu:</p>
|
||||
<p><img alt="" src="../img/initial_setup_7_access_normal_mode.jpg" style="width:500px" /></p>
|
||||
<p>(1) Access to configuration parameters</p>
|
||||
<p>(2) Update of reference image</p>
|
||||
|
||||
2
nav.yml
2
nav.yml
@@ -60,7 +60,7 @@ nav:
|
||||
- outdated--Gasmeter-Log-Downloader.md
|
||||
- outdated--Migrate-Old-Config-To-New-Config.md
|
||||
|
||||
- Asorted Pages:
|
||||
- Assorted Pages:
|
||||
# List all pages which are not covered by above list
|
||||
# Step by step we should migrate those page to the above list
|
||||
- ...
|
||||
|
||||
@@ -100,7 +100,7 @@
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Configuration/">Configuration</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Watermeters</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Water Meters</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../collect-new-images/">Collect images to improve the models</a>
|
||||
</li>
|
||||
@@ -148,12 +148,12 @@
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Integrated-Functions/">Integrated Functions</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gasmeter Log-Downloader</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gas Meter Log Downloader</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Migrate-Old-Config-To-New-Config/">Migration from water-meter „old“ to water-meter “AI-on-the-edge-device”</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Asorted Pages</span></p>
|
||||
<p class="caption"><span class="caption-text">Assorted Pages</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Graphical-Configuration/">Graphical Configuration</a>
|
||||
</li>
|
||||
|
||||
@@ -5,14 +5,14 @@
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><link rel="canonical" href="https://jomjol.github.io/AI-on-the-edge-device-docs/outdated--Gasmeter-Log-Downloader/" />
|
||||
<link rel="shortcut icon" href="../img/favicon.ico" />
|
||||
<title>Gasmeter Log-Downloader - AI on the Edge Device</title>
|
||||
<title>Gas Meter Log Downloader - AI on the Edge Device</title>
|
||||
<link rel="stylesheet" href="../css/theme.css" />
|
||||
<link rel="stylesheet" href="../css/theme_extra.css" />
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.5.0/styles/github.min.css" />
|
||||
|
||||
<script>
|
||||
// Current page data
|
||||
var mkdocs_page_name = "Gasmeter Log-Downloader";
|
||||
var mkdocs_page_name = "Gas Meter Log Downloader";
|
||||
var mkdocs_page_input_path = "outdated--Gasmeter-Log-Downloader.md";
|
||||
var mkdocs_page_url = "/AI-on-the-edge-device-docs/outdated--Gasmeter-Log-Downloader/";
|
||||
</script>
|
||||
@@ -90,7 +90,7 @@
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Configuration/">Configuration</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Watermeters</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Water Meters</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../collect-new-images/">Collect images to improve the models</a>
|
||||
</li>
|
||||
@@ -138,14 +138,14 @@
|
||||
<ul class="current">
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Integrated-Functions/">Integrated Functions</a>
|
||||
</li>
|
||||
<li class="toctree-l1 current"><a class="reference internal current" href="./">Gasmeter Log-Downloader</a>
|
||||
<li class="toctree-l1 current"><a class="reference internal current" href="./">Gas Meter Log Downloader</a>
|
||||
<ul class="current">
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Migrate-Old-Config-To-New-Config/">Migration from water-meter „old“ to water-meter “AI-on-the-edge-device”</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Asorted Pages</span></p>
|
||||
<p class="caption"><span class="caption-text">Assorted Pages</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Graphical-Configuration/">Graphical Configuration</a>
|
||||
</li>
|
||||
@@ -165,7 +165,7 @@
|
||||
<ul class="wy-breadcrumbs">
|
||||
<li><a href=".." class="icon icon-home" alt="Docs"></a> »</li>
|
||||
<li>Old Pages (no longer maintained) »</li>
|
||||
<li>Gasmeter Log-Downloader</li>
|
||||
<li>Gas Meter Log Downloader</li>
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
<a href="https://github.com/jomjol/AI-on-the-edge-device-docs/edit/main/docs/outdated--Gasmeter-Log-Downloader.md" class="icon icon-github"> Edit on GitHub</a>
|
||||
</li>
|
||||
@@ -175,22 +175,22 @@
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div class="section" itemprop="articleBody">
|
||||
|
||||
<h1 id="gasmeter-log-downloader">Gasmeter Log-Downloader</h1>
|
||||
<h1 id="gas-meter-log-downloader">Gas Meter Log Downloader</h1>
|
||||
<div class="admonition warning">
|
||||
<p class="admonition-title">Warning</p>
|
||||
<p>This page no longer is maintained!</p>
|
||||
</div>
|
||||
<p>This small tool downloads the logfiles from your ESP32 and stores the last value of the day in an *.csv file.</p>
|
||||
<p>To use this tool you need to <strong>activate the debug logfile</strong> in your configuration (Configuration / Debug / Logfile). I go with 30 days of retention in days.</p>
|
||||
<p>It downloads only the past logfiles (yesterday and older).</p>
|
||||
<p>You can define the max. number of Logfiles to download (beginning from newest [yesterday]).</p>
|
||||
<p>This small tool downloads the log files from your ESP32 and stores the last value of the day in an *.csv file.</p>
|
||||
<p>To use this tool you need to <strong>activate the debug log files</strong> in your configuration (Configuration / Debug / Logfile). I go with 30 days of retention in days.</p>
|
||||
<p>It downloads only the past log files (yesterday and older).</p>
|
||||
<p>You can define the max. number of log files to download (beginning from newest [yesterday]).</p>
|
||||
<p>I wrote this tool to get a chart of the daily gas consumption to optimize my gas powered heating.</p>
|
||||
<p><strong>Variables to define by yourself:</strong></p>
|
||||
<ul>
|
||||
<li><strong>URL to Logfile-Path on Device:</strong> "http://ESP32-IP-Address/fileserver/log/message/"</li>
|
||||
<li><strong>Download Logfiles to:</strong> enter a valid directory, e.g. "D:\Gaszaehler\Auswertung\Log-Downloads\"</li>
|
||||
<li><strong>URL to Log file-Path on Device:</strong> "http://ESP32-IP-Address/fileserver/log/message/"</li>
|
||||
<li><strong>Download Log files to:</strong> enter a valid directory, e.g. "D:\Gaszaehler\Auswertung\Log-Downloads\"</li>
|
||||
<li><strong>Output CSV-File:</strong> enter a valid directory, e.g. "D:\Gaszaehler\Auswertung\DailyValues.csv"</li>
|
||||
<li><strong>Download Logfiles from past # days:</strong> enter the max. number of logfiles you want to download (<= your logfile retention value in your device configuration)</li>
|
||||
<li><strong>Download Log files from past # days:</strong> enter the max. number of log files you want to download (<= your log files retention value in your device configuration)</li>
|
||||
</ul>
|
||||
<p>Feel free to optimize and modify it.</p>
|
||||
|
||||
|
||||
@@ -90,7 +90,7 @@
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Configuration/">Configuration</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Watermeters</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Water Meters</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../collect-new-images/">Collect images to improve the models</a>
|
||||
</li>
|
||||
@@ -152,12 +152,12 @@
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gasmeter Log-Downloader</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gas Meter Log Downloader</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Migrate-Old-Config-To-New-Config/">Migration from water-meter „old“ to water-meter “AI-on-the-edge-device”</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Asorted Pages</span></p>
|
||||
<p class="caption"><span class="caption-text">Assorted Pages</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Graphical-Configuration/">Graphical Configuration</a>
|
||||
</li>
|
||||
@@ -221,7 +221,7 @@ This can be used for a very simple web server for information or simple web page
|
||||
</div><footer>
|
||||
<div class="rst-footer-buttons" role="navigation" aria-label="Footer Navigation">
|
||||
<a href="../Release-creation/" class="btn btn-neutral float-left" title="Preparing for Release"><span class="icon icon-circle-arrow-left"></span> Previous</a>
|
||||
<a href="../outdated--Gasmeter-Log-Downloader/" class="btn btn-neutral float-right" title="Gasmeter Log-Downloader">Next <span class="icon icon-circle-arrow-right"></span></a>
|
||||
<a href="../outdated--Gasmeter-Log-Downloader/" class="btn btn-neutral float-right" title="Gas Meter Log Downloader">Next <span class="icon icon-circle-arrow-right"></span></a>
|
||||
</div>
|
||||
|
||||
<hr/>
|
||||
|
||||
@@ -90,7 +90,7 @@
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Configuration/">Configuration</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Watermeters</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Water Meters</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../collect-new-images/">Collect images to improve the models</a>
|
||||
</li>
|
||||
@@ -138,11 +138,11 @@
|
||||
<ul class="current">
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Integrated-Functions/">Integrated Functions</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gasmeter Log-Downloader</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gas Meter Log Downloader</a>
|
||||
</li>
|
||||
<li class="toctree-l1 current"><a class="reference internal current" href="./">Migration from water-meter „old“ to water-meter “AI-on-the-edge-device”</a>
|
||||
<ul class="current">
|
||||
<li class="toctree-l2"><a class="reference internal" href="#1-follow-the-installation-guide-to-flash-the-esp32cam-and-prepare-a-sd-card-with-the-content-of-the-master">1. Follow the installation guide to flash the ESP32CAM and prepare a SD-Card with the content of the master</a>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#1-follow-the-installation-guide-to-flash-the-esp32cam-and-prepare-a-sd-card-with-the-content-of-the-master">1. Follow the installation guide to flash the ESP32CAM and prepare a SD Card with the content of the master</a>
|
||||
</li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#2-save-the-following-files-from-the-old-docker-system-on-your-pc">2. Save the following files from the old Docker system on your PC:</a>
|
||||
</li>
|
||||
@@ -187,7 +187,7 @@
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Asorted Pages</span></p>
|
||||
<p class="caption"><span class="caption-text">Assorted Pages</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Graphical-Configuration/">Graphical Configuration</a>
|
||||
</li>
|
||||
@@ -224,7 +224,7 @@
|
||||
</div>
|
||||
<p>There are only some few steps necessary to migrate your old system to the new one.</p>
|
||||
<p>Please follow the following steps:</p>
|
||||
<h4 id="1-follow-the-installation-guide-to-flash-the-esp32cam-and-prepare-a-sd-card-with-the-content-of-the-master">1. Follow the installation guide to flash the ESP32CAM and prepare a SD-Card with the content of the master</h4>
|
||||
<h4 id="1-follow-the-installation-guide-to-flash-the-esp32cam-and-prepare-a-sd-card-with-the-content-of-the-master">1. Follow the installation guide to flash the ESP32CAM and prepare a SD Card with the content of the master</h4>
|
||||
<h4 id="2-save-the-following-files-from-the-old-docker-system-on-your-pc">2. Save the following files from the old Docker system on your PC:</h4>
|
||||
<ul>
|
||||
<li>Reference Points 1-3 (only 2 needed)</li>
|
||||
@@ -319,7 +319,7 @@ ImageSize = VGA
|
||||
</div>
|
||||
</div><footer>
|
||||
<div class="rst-footer-buttons" role="navigation" aria-label="Footer Navigation">
|
||||
<a href="../outdated--Gasmeter-Log-Downloader/" class="btn btn-neutral float-left" title="Gasmeter Log-Downloader"><span class="icon icon-circle-arrow-left"></span> Previous</a>
|
||||
<a href="../outdated--Gasmeter-Log-Downloader/" class="btn btn-neutral float-left" title="Gas Meter Log Downloader"><span class="icon icon-circle-arrow-left"></span> Previous</a>
|
||||
<a href="../Graphical-Configuration/" class="btn btn-neutral float-right" title="Graphical Configuration">Next <span class="icon icon-circle-arrow-right"></span></a>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -94,7 +94,7 @@
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Configuration/">Configuration</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Watermeters</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Water Meters</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../collect-new-images/">Collect images to improve the models</a>
|
||||
</li>
|
||||
@@ -142,12 +142,12 @@
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Integrated-Functions/">Integrated Functions</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gasmeter Log-Downloader</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Gasmeter-Log-Downloader/">Gas Meter Log Downloader</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../outdated--Migrate-Old-Config-To-New-Config/">Migration from water-meter „old“ to water-meter “AI-on-the-edge-device”</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Asorted Pages</span></p>
|
||||
<p class="caption"><span class="caption-text">Assorted Pages</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Graphical-Configuration/">Graphical Configuration</a>
|
||||
</li>
|
||||
|
||||
@@ -83,7 +83,7 @@
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="./Configuration/">Configuration</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="./Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Watermeters</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="./Watermeter-specific-analog---digital-transition/">Analog/Digital Transition on Water Meters</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="./collect-new-images/">Collect images to improve the models</a>
|
||||
</li>
|
||||
@@ -131,12 +131,12 @@
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="./outdated--Integrated-Functions/">Integrated Functions</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="./outdated--Gasmeter-Log-Downloader/">Gasmeter Log-Downloader</a>
|
||||
<li class="toctree-l1"><a class="reference internal" href="./outdated--Gasmeter-Log-Downloader/">Gas Meter Log Downloader</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="./outdated--Migrate-Old-Config-To-New-Config/">Migration from water-meter „old“ to water-meter “AI-on-the-edge-device”</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Asorted Pages</span></p>
|
||||
<p class="caption"><span class="caption-text">Assorted Pages</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="./Graphical-Configuration/">Graphical Configuration</a>
|
||||
</li>
|
||||
|
||||
File diff suppressed because one or more lines are too long
BIN
sitemap.xml.gz
BIN
sitemap.xml.gz
Binary file not shown.
Reference in New Issue
Block a user