mirror of
https://github.com/jomjol/AI-on-the-edge-device-docs.git
synced 2025-12-08 20:46:54 +03:00
321 lines
18 KiB
HTML
321 lines
18 KiB
HTML
<!DOCTYPE html>
|
|
<html class="writer-html5" lang="en" >
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<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/Configuration/" />
|
|
<link rel="shortcut icon" href="../img/favicon.ico" />
|
|
<title>Configuration - 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 = "Configuration";
|
|
var mkdocs_page_input_path = "Configuration.md";
|
|
var mkdocs_page_url = "/AI-on-the-edge-device-docs/Configuration/";
|
|
</script>
|
|
|
|
<script src="../js/jquery-3.6.0.min.js" defer></script>
|
|
<!--[if lt IE 9]>
|
|
<script src="../js/html5shiv.min.js"></script>
|
|
<![endif]-->
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.5.0/highlight.min.js"></script>
|
|
<script>hljs.initHighlightingOnLoad();</script>
|
|
</head>
|
|
|
|
<body class="wy-body-for-nav" role="document">
|
|
|
|
<div class="wy-grid-for-nav">
|
|
<nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
|
|
<div class="wy-side-scroll">
|
|
<div class="wy-side-nav-search">
|
|
<img src=https://jomjol.github.io/AI-on-the-edge-device-docs//img/logo.png>
|
|
<a href=".." class="icon icon-home"> AI on the Edge Device
|
|
</a><div role="search">
|
|
<form id ="rtd-search-form" class="wy-form" action="../search.html" method="get">
|
|
<input type="text" name="q" placeholder="Search docs" title="Type search term here" />
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
|
<p class="caption"><span class="caption-text">Getting Started</span></p>
|
|
<ul>
|
|
<li class="toctree-l1"><a class="reference internal" href="..">Welcome</a>
|
|
</li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../Installation/">Installation</a>
|
|
</li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../initial-setup/">Initial Setup</a>
|
|
</li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../Hardware-Compatibility/">Hardware Compatibility</a>
|
|
</li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../Best-Practice/">Best Practice</a>
|
|
</li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../FAQs/">Frequently Asked Questions</a>
|
|
</li>
|
|
</ul>
|
|
<p class="caption"><span class="caption-text">External Links</span></p>
|
|
<ul>
|
|
<li class="toctree-l1"><a class="" href="https://github.com/jomjol/AI-on-the-edge-device/releases">Releases</a>
|
|
</li>
|
|
<li class="toctree-l1"><a class="" href="https://jomjol.github.io/AI-on-the-edge-device/index.html">Web Installer/Console</a>
|
|
</li>
|
|
<li class="toctree-l1"><a class="" href="https://github.com/jomjol/AI-on-the-edge-device/issues">Place an Issue</a>
|
|
</li>
|
|
<li class="toctree-l1"><a class="" href="https://github.com/jomjol/AI-on-the-edge-device/discussions">Join a Discussion</a>
|
|
</li>
|
|
</ul>
|
|
<p class="caption"><span class="caption-text">Configuration</span></p>
|
|
<ul>
|
|
<li class="toctree-l1"><a class="reference internal" href="../ROI-Configuration/">ROI (Region of Interest)</a>
|
|
</li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../Choosing-the-Model/">Model Selection</a>
|
|
</li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../Neural-Network-Types/">Neural Network Types</a>
|
|
</li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../ota/">Over-The-Air (OTA) Update</a>
|
|
</li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../Parameters/">Parameters</a>
|
|
</li>
|
|
</ul>
|
|
<p class="caption"><span class="caption-text">Advanced</span></p>
|
|
<ul class="current">
|
|
<li class="toctree-l1"><a class="reference internal" href="../Integration-Home-Assistant/">Integration into Home Assistant</a>
|
|
</li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../External-LED/">External LED</a>
|
|
</li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../rolling-installation/">Living on the Edge</a>
|
|
</li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../Configuration-Parameter-Details/">Configuration Parameter Details</a>
|
|
</li>
|
|
<li class="toctree-l1 current"><a class="reference internal current" href="./">Configuration</a>
|
|
<ul class="current">
|
|
<li class="toctree-l2"><a class="reference internal" href="#processing-configini-principle">Processing / Config.ini principle</a>
|
|
<ul>
|
|
<li class="toctree-l3"><a class="reference internal" href="#processing-steps-overview">Processing steps - Overview</a>
|
|
<ul>
|
|
<li class="toctree-l4"><a class="reference internal" href="#1-makeimage">1. [MakeImage]</a>
|
|
</li>
|
|
<li class="toctree-l4"><a class="reference internal" href="#2-alignment">2. [Alignment]</a>
|
|
</li>
|
|
<li class="toctree-l4"><a class="reference internal" href="#3-digits">3. [Digits]</a>
|
|
</li>
|
|
<li class="toctree-l4"><a class="reference internal" href="#4-analog">4. [Analog]</a>
|
|
</li>
|
|
<li class="toctree-l4"><a class="reference internal" href="#5-postprocessing">5. [PostProcessing]</a>
|
|
</li>
|
|
<li class="toctree-l4"><a class="reference internal" href="#6-mqtt">6. [MQTT]</a>
|
|
</li>
|
|
<li class="toctree-l4"><a class="reference internal" href="#7-autotimer">7. [AutoTimer]</a>
|
|
</li>
|
|
<li class="toctree-l4"><a class="reference internal" href="#8-debug">8. [Debug]</a>
|
|
</li>
|
|
<li class="toctree-l4"><a class="reference internal" href="#9-ende">9. [Ende]</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="toctree-l2"><a class="reference internal" href="#graphical-configuration-interface">Graphical configuration interface</a>
|
|
</li>
|
|
<li class="toctree-l2"><a class="reference internal" href="#background-for-image-alignment">Background for Image Alignment</a>
|
|
<ul>
|
|
<li class="toctree-l3"><a class="reference internal" href="#integration-into-home-assistant">Integration into Home Assistant</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<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>
|
|
<li class="toctree-l1"><a class="reference internal" href="../Learn-models-with-your-own-images/">Learn a model with your own images</a>
|
|
</li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../Correction%20Algorithm/">Correction Algorithm</a>
|
|
</li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../Additional-Information/">Additional Information</a>
|
|
</li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../New-Releases-Notification/">Notification about new Releases</a>
|
|
</li>
|
|
</ul>
|
|
<p class="caption"><span class="caption-text">Troubleshooting</span></p>
|
|
<ul>
|
|
<li class="toctree-l1"><a class="reference internal" href="../Error-Codes/">Error Codes</a>
|
|
</li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../Error-Debugging/">Error Debugging</a>
|
|
</li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../Frequent-Reboots/">Frequent Reboots</a>
|
|
</li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../Demo-Mode/">Demo Mode</a>
|
|
</li>
|
|
</ul>
|
|
<p class="caption"><span class="caption-text">API's</span></p>
|
|
<ul>
|
|
<li class="toctree-l1"><a class="reference internal" href="../REST-API/">REST API</a>
|
|
</li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../MQTT-API/">MQTT API</a>
|
|
</li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../Influx-DB/">Influx DB</a>
|
|
</li>
|
|
</ul>
|
|
<p class="caption"><span class="caption-text">Development</span></p>
|
|
<ul>
|
|
<li class="toctree-l1"><a class="reference internal" href="../Build-Instructions/">Build the Project</a>
|
|
</li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../Upload-files-by-script/">Scripted File Upload</a>
|
|
</li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../Testing/">Testing</a>
|
|
</li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../Release-creation/">Preparing for Release</a>
|
|
</li>
|
|
</ul>
|
|
<p class="caption"><span class="caption-text">Old Pages (no longer maintained)</span></p>
|
|
<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/">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">Assorted Pages</span></p>
|
|
<ul>
|
|
<li class="toctree-l1"><a class="reference internal" href="../Graphical-Configuration/">Graphical Configuration</a>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
|
|
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
|
<nav class="wy-nav-top" role="navigation" aria-label="Mobile navigation menu">
|
|
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
|
<a href="..">AI on the Edge Device</a>
|
|
|
|
</nav>
|
|
<div class="wy-nav-content">
|
|
<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>Advanced »</li>
|
|
<li>Configuration</li>
|
|
<li class="wy-breadcrumbs-aside">
|
|
<a href="https://github.com/jomjol/AI-on-the-edge-device-docs/edit/main/docs/Configuration.md" class="icon icon-github"> Edit on GitHub</a>
|
|
</li>
|
|
</ul>
|
|
<hr/>
|
|
</div>
|
|
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
|
<div class="section" itemprop="articleBody">
|
|
|
|
<h1 id="configuration">Configuration</h1>
|
|
<div class="admonition warning">
|
|
<p class="admonition-title">Warning</p>
|
|
<p>This page overlaps <a href="../Graphical-Configuration">Graphical-Configuration</a>. They should be merged to one page!</p>
|
|
</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 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>
|
|
<p>In the following you get a short overview over the available steps. This order is also the suggested order for the processing flow. Single steps can be left out, if not needed (e.g. omit the analog part, if only digits are present)</p>
|
|
<h4 id="1-makeimage">1. <code>[MakeImage]</code></h4>
|
|
<ul>
|
|
<li>This steps parametrises the taking of the image by the ESP32-CAM. Size, quality and storage for logging and debugging can be set.</li>
|
|
</ul>
|
|
<h4 id="2-alignment">2. <code>[Alignment]</code></h4>
|
|
<ul>
|
|
<li>Image preprocessing, including image alignment with reference images</li>
|
|
</ul>
|
|
<h4 id="3-digits">3. <code>[Digits]</code></h4>
|
|
<ul>
|
|
<li>Neural network evaluation of an image for digits. The neural network is defined by a tflite formatted file and the output is a number between 0 .. 9 or NaN (if image is not unique enough)</li>
|
|
</ul>
|
|
<h4 id="4-analog">4. <code>[Analog]</code></h4>
|
|
<ul>
|
|
<li>Neural network evaluation of analog counter. The neural network is defined by a tflite formatted file and the output is a number between 0.0 .. 9.9, representing the position of the pointer.</li>
|
|
</ul>
|
|
<h4 id="5-postprocessing">5. <code>[PostProcessing]</code></h4>
|
|
<ul>
|
|
<li>Summarized the individually converted pictures to the overall result. It also implements some error corrections and consistency checks to filter wrong reading.</li>
|
|
</ul>
|
|
<h4 id="6-mqtt">6. <code>[MQTT]</code></h4>
|
|
<ul>
|
|
<li>Transfer of the readings to a MQTT server.</li>
|
|
</ul>
|
|
<h4 id="7-autotimer">7. <code>[AutoTimer]</code></h4>
|
|
<ul>
|
|
<li>Configuration of the automated flow start at the start up of the ESP32. </li>
|
|
</ul>
|
|
<h4 id="8-debug">8. <code>[Debug]</code></h4>
|
|
<ul>
|
|
<li>Configuration for debugging details</li>
|
|
</ul>
|
|
<h4 id="9-ende">9. <code>[Ende]</code></h4>
|
|
<ul>
|
|
<li>No meaning, just an additional indication, that the configuration is finished.</li>
|
|
</ul>
|
|
<p><strong>A detailed parameter description can be found here: [[Configuration Parameter Details]].</strong></p>
|
|
<h2 id="graphical-configuration-interface">Graphical configuration interface</h2>
|
|
<p>It is recommended to do the configuration of the alignment structures and ROIs through the graphical user interface. A step by step instruction can be found here: [[Graphical Configuration]]</p>
|
|
<h2 id="background-for-image-alignment">Background for Image Alignment</h2>
|
|
<p>Details on the image recognition flow can be found in the other project here: https://github.com/jomjol/water-meter-system-complete/blob/master/images/Alignment_procedure_draft.pdf</p>
|
|
<p>The <code>config.ini</code> here has the same functionality and options, but a slightly different syntax due to a own written ini-parser is used. Migration see <a href="../outdated--Migrate-Old-Config-To-New-Config/">here</a>.</p>
|
|
<h3 id="integration-into-home-assistant">Integration into Home Assistant</h3>
|
|
<p>Thanks to the help of the user @deadly667 here are some hints for the integration into the home assistant: [[Integration-Home-Assistant]]</p>
|
|
|
|
</div>
|
|
</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 Water Meters">Next <span class="icon icon-circle-arrow-right"></span></a>
|
|
</div>
|
|
|
|
<hr/>
|
|
|
|
<div role="contentinfo">
|
|
<!-- Copyright etc -->
|
|
</div>
|
|
|
|
Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
|
</footer>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</section>
|
|
|
|
</div>
|
|
|
|
<div class="rst-versions" role="note" aria-label="Versions">
|
|
<span class="rst-current-version" data-toggle="rst-current-version">
|
|
|
|
<span>
|
|
<a href="https://github.com/jomjol/AI-on-the-edge-device-docs" class="fa fa-github" style="color: #fcfcfc"> GitHub</a>
|
|
</span>
|
|
|
|
|
|
<span><a href="../Configuration-Parameter-Details/" style="color: #fcfcfc">« Previous</a></span>
|
|
|
|
|
|
<span><a href="../Watermeter-specific-analog---digital-transition/" style="color: #fcfcfc">Next »</a></span>
|
|
|
|
</span>
|
|
</div>
|
|
<script>var base_url = '..';</script>
|
|
<script src="../js/theme_extra.js" defer></script>
|
|
<script src="../js/theme.js" defer></script>
|
|
<script src="../search/main.js" defer></script>
|
|
<script defer>
|
|
window.onload = function () {
|
|
SphinxRtdTheme.Navigation.enable(true);
|
|
};
|
|
</script>
|
|
|
|
</body>
|
|
</html>
|