mirror of
https://github.com/jomjol/AI-on-the-edge-device-docs.git
synced 2025-12-09 13:06:56 +03:00
Deployed 0287bfb with MkDocs version: 1.5.2
This commit is contained in:
@@ -173,7 +173,10 @@
|
||||
<div class="section" itemprop="articleBody">
|
||||
<h1 id="influx-db"><span class="enumerate-headings-plugin enumerate-heading-plugin">1.</span> Influx DB</h1>
|
||||
<p>The device also supports direct sending of data to an Influx DB.</p>
|
||||
<p>‼️ Only Influx DB 1 is supported!</p>
|
||||
<div class="admonition warning">
|
||||
<p class="admonition-title">Warning</p>
|
||||
<p>Only Influx DB 1 is supported!</p>
|
||||
</div>
|
||||
</div>
|
||||
</div><footer>
|
||||
<div aria-label="Footer Navigation" class="rst-footer-buttons" role="navigation">
|
||||
|
||||
@@ -235,12 +235,18 @@ How ever since the hardware is cheap and coming from China, you unluckily could
|
||||
<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"><span class="enumerate-headings-plugin enumerate-heading-plugin">1.1.3</span> Power supply</h3>
|
||||
<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>
|
||||
<div class="admonition warning">
|
||||
<p class="admonition-title">Warning</p>
|
||||
<p>In several internet forums there are problems reported, in case the ESP32-CAM is only supplied with 3.3V.</p>
|
||||
</div>
|
||||
<h3 id="housing"><span class="enumerate-headings-plugin enumerate-heading-plugin">1.1.4</span> 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>
|
||||
<p><img alt="" src="../img/main.jpg" style="width:200px">
|
||||
<img alt="" src="../img/size.png" style="width:200px"/></img></p>
|
||||
<p><strong>‼️ Attention</strong>: the focus of the OV2640 needs to be adjusted, as it is normally set from ~40cm to infinity. In order to get an image that is big enough, it needs to be changed to about 10cm. Therefore the sealing glue on the objective ring needs to be removed with a scalpel or sharp knife. Afterwards the objective can be rotated clockwise until the image is sharp again.</p>
|
||||
<div class="admonition warning">
|
||||
<p class="admonition-title">Warning</p>
|
||||
<p>The focus of the OV2640 needs to be adjusted, as it is normally set from ~40cm to infinity. In order to get an image that is big enough, it needs to be changed to about 10cm. Therefore the sealing glue on the objective ring needs to be removed with a scalpel or sharp knife. Afterwards the objective can be rotated clockwise until the image is sharp again.</p>
|
||||
</div>
|
||||
<p><img alt="" src="../img/focus_adjustment.jpg" style="width:200px"/></p>
|
||||
<h3 id="wiring"><span class="enumerate-headings-plugin enumerate-heading-plugin">1.1.5</span> Wiring</h3>
|
||||
<p>Beside the 5V power supply, only for the first flashing a connection to the USB-UART connector, including a short cut of GPIO0 to GND for bootloader start.</p>
|
||||
@@ -270,7 +276,10 @@ 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"><span class="enumerate-headings-plugin enumerate-heading-plugin">1.2.2.2</span> 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 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>
|
||||
<div class="admonition warning">
|
||||
<p class="admonition-title">Warning</p>
|
||||
<p>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>
|
||||
</div>
|
||||
<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>
|
||||
@@ -335,7 +344,8 @@ SD card most top directory should look like this:</p>
|
||||
</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>!!! Note
|
||||
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"><span class="enumerate-headings-plugin enumerate-heading-plugin">1.3.2</span> 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.
|
||||
@@ -358,20 +368,27 @@ A warning will show up if you have chosen a possible wrong file (without default
|
||||
<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>
|
||||
<div class="admonition note">
|
||||
<p class="admonition-title">Note</p>
|
||||
<p>Only basic settings are supported. If you need advanced configuration (fixed ip, ...), you need to use the manual setup as documented above.</p>
|
||||
</div>
|
||||
<div class="admonition warning">
|
||||
<p class="admonition-title">Warning</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 information is transferred without encryption!</li>
|
||||
</ul>
|
||||
</div>
|
||||
<p>Finish the step by pushing <code>Write wlan.ini</code></p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Reboot</p>
|
||||
<p>The final step is the reboot:</p>
|
||||
<p><img alt="" src="../img/setup-reboot.png"/></p>
|
||||
<p><strong>‼️ Warning:</strong>
|
||||
It will take up to 3 minutes. Afterwards you can find your device in the local network. Check your router for the IP. You can find it also in the USB Console output.</p>
|
||||
<div class="admonition warning">
|
||||
<p class="admonition-title">Warning</p>
|
||||
<p>It will take up to 3 minutes. Afterwards you can find your device in the local network. Check your router for the IP. You can find it also in the USB Console output.</p>
|
||||
</div>
|
||||
</li>
|
||||
</ol>
|
||||
<h2 id="4-initial-startup"><span class="enumerate-headings-plugin enumerate-heading-plugin">1.4</span> 4. Initial Startup</h2>
|
||||
|
||||
@@ -198,7 +198,6 @@
|
||||
</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-home-assistant-mqtt-discovery"><span class="enumerate-headings-plugin enumerate-heading-plugin">1.1</span> 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 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>
|
||||
|
||||
@@ -322,23 +322,34 @@
|
||||
<p><code>MainTopic</code>/{subscribed topic}, e.g. <code>watermeter/ctrl/flow_start</code></p>
|
||||
<h3 id="control"><span class="enumerate-headings-plugin enumerate-heading-plugin">1.2.1</span> Control</h3>
|
||||
<h4 id="ctrlflow_start"><span class="enumerate-headings-plugin enumerate-heading-plugin">1.2.1.1</span> ctrl/flow_start</h4>
|
||||
<p>Trigger a flow start by publishing to this topic.
|
||||
+ Payload:
|
||||
- any character, length > 0</p>
|
||||
<p>Trigger a flow start by publishing to this topic.</p>
|
||||
<p><strong>Payload:</strong></p>
|
||||
<ul>
|
||||
<li>any character, length > 0</li>
|
||||
</ul>
|
||||
<h4 id="ctrlset_prevalue"><span class="enumerate-headings-plugin enumerate-heading-plugin">1.2.1.2</span> ctrl/set_prevalue</h4>
|
||||
<div class="admonition note">
|
||||
<p class="admonition-title">Note</p>
|
||||
<p>This feature is available since version <a href="https://github.com/jomjol/AI-on-the-edge-device/releases/tag/v15.2.0">15.2.0</a>.</p>
|
||||
</div>
|
||||
<p>Set the last valid value (previous value) to given value or the actual RAW value. Payload needs to be provided in JSON notation.
|
||||
+ Payload:
|
||||
- Set to given value (value >= 0): <code>{"numbersname": "main", "value": 12345.67890}</code>
|
||||
* <code>"numbersname":</code>Provide name of number sequence, e.g. <code>"main"</code><br/>
|
||||
* <code>"value":</code> provide the value to be set</p>
|
||||
<pre><code> - Set to actual RAW value (value < 0, a valid RAW value is mandatory): `{"numbersname": "main", "value": -1}`
|
||||
* `"numbersname":` Provide name of number sequence, e.g. `"main"`
|
||||
* `"value":` Provide any negative number
|
||||
</code></pre>
|
||||
<p>Set the last valid value (previous value) to given value or the actual RAW value. Payload needs to be provided in JSON notation.</p>
|
||||
<p><strong>Payload:</strong></p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>Set to given value (value >= 0): <code>{"numbersname": "<NUMBERSNAME>", "value": <VALUE>}</code></p>
|
||||
<ul>
|
||||
<li><code>"numbersname":</code>Provide name of number sequence, e.g. <code>"main"</code> </li>
|
||||
<li><code>"value":</code> provide the value to be set, eg. <code>12345.67890</code></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<p>Set to actual RAW value (value < 0, a valid RAW value is mandatory): <code>{"numbersname": "<NUMBERSNAME>", "value": -1}</code></p>
|
||||
<ul>
|
||||
<li><code>"numbersname":</code> Provide name of number sequence, e.g. <code>"main"</code> </li>
|
||||
<li><code>"value":</code> Provide any negative number</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h4 id="gpiogpiopinnumber_1"><span class="enumerate-headings-plugin enumerate-heading-plugin">1.2.1.3</span> GPIO/GPIO{PinNumber}</h4>
|
||||
<p>Depending on device configuration (<code>Settings</code> --> <code>Configuration</code> --> section <code>GPIO</code>)</p>
|
||||
</div>
|
||||
|
||||
@@ -233,7 +233,8 @@
|
||||
<li><em>continuous output networks</em> with a continuous output in the interval [0, 10[</li>
|
||||
</ul>
|
||||
<p>No setting of the type in the firmware is necessary. The type can detect by the output structure automatically.</p>
|
||||
<p><strong>‼️ Attention:</strong></p>
|
||||
<div class="admonition warning">
|
||||
<p class="admonition-title">Warning</p>
|
||||
<ul>
|
||||
<li>It is very important to choose the right network type (digits or analog pointers).
|
||||
Technically a wrong network will work and create output, but that would be totally arbitrary</li>
|
||||
@@ -242,6 +243,7 @@
|
||||
<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>
|
||||
</div>
|
||||
<h2 id="naming-convention"><span class="enumerate-headings-plugin enumerate-heading-plugin">1.2</span> Naming convention</h2>
|
||||
<table>
|
||||
<thead>
|
||||
@@ -371,15 +373,6 @@
|
||||
<td><img alt="" src="../img/dig-class11/examp-dig10.jpg"/></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4 id="training-data-needs_1"><span class="enumerate-headings-plugin enumerate-heading-plugin">1.3.2.2</span> Training data needs</h4>
|
||||
@@ -417,15 +410,9 @@
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>[[img/dig-cont/dig-cont_1.jpg)</td>
|
||||
<td>[[img/dig-cont/dig-cont_2a.jpg) [[img/dig-cont/dig-cont_2b.jpg)</td>
|
||||
<td>[[img/dig-cont/dig-cont_3a.jpg) [[img/dig-cont/dig-cont_3b.jpg) [[img/dig-cont/dig-cont_3c.jpg)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td><img alt="" src="../img/dig-cont/dig-cont_1.jpg"/></td>
|
||||
<td><img alt="" src="../img/dig-cont/dig-cont_2a.jpg"/> <img alt="" src="../img/dig-cont/dig-cont_2b.jpg"/></td>
|
||||
<td><img alt="" src="../img/dig-cont/dig-cont_3a.jpg"/> <img alt="" src="../img/dig-cont/dig-cont_3b.jpg"/> <img alt="" src="../img/dig-cont/dig-cont_3c.jpg"/></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
||||
@@ -199,7 +199,10 @@ To do so, go to the menu <code>Settings > Configuration</code> (after the upd
|
||||
<p>Go to the menu <code>System --> OTA Update</code> and follow the instructions there. After a final automatic reboot you should have the new version running.</p>
|
||||
<h3 id="update-from-version-older-than-v1200"><span class="enumerate-headings-plugin enumerate-heading-plugin">1.1.2</span> Update from version older than <code>v12.0.0</code></h3>
|
||||
<p>If you update from an version older than 12.0.1, you should firstly update to version 12.0.1. Background are not fully backward compatible changes in the <code>config.ini</code>, that are taken care of in this version.</p>
|
||||
<p>‼️ <strong>Make sure to read the instructions below carefully!</strong></p>
|
||||
<div class="admonition warning">
|
||||
<p class="admonition-title">Warning</p>
|
||||
<p>Make sure to read the instructions below carefully!</p>
|
||||
</div>
|
||||
<ol>
|
||||
<li>
|
||||
<p>Backup your configuration (use the <code>System -> Backup/Restore</code> page)!</p>
|
||||
@@ -228,7 +231,10 @@ To do so, go to the menu <code>Settings > Configuration</code> (after the upd
|
||||
<p>Make sure it starts to do the digitalization (check the Error field on the overview page). If it does not start a round within a minute, restart the device.</p>
|
||||
</li>
|
||||
</ol>
|
||||
<p>‼️ <strong>If the system is working now without any issues, please open the configuration editor once and save the <code>config.ini</code>. This will update the file to the newest content</strong>‼️</p>
|
||||
<div class="admonition note">
|
||||
<p class="admonition-title">Note</p>
|
||||
<p>If the system is working now without any issues, please open the configuration editor once and save the <code>config.ini</code>. This will update the file to the newest content.</p>
|
||||
</div>
|
||||
<p>Now you can safely update to the newest version.</p>
|
||||
</div>
|
||||
</div><footer>
|
||||
|
||||
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