Update documentation

This commit is contained in:
GitHub Action 2022-01-08 15:55:14 +00:00
parent 738879740e
commit f42513edd8
7 changed files with 54 additions and 27 deletions

View File

@ -4,18 +4,21 @@ Functionallity
The main differences
--------------------
* **Operates in two modes `gravity monitoring` and `configuration mode`**
* **Operates in two modes gravity monitoring and configuration mode**
In gravity monitoring mode it behaves just like the iSpindle, it wakes up at regular intervals, measure angle/tile, temperature, calculates gravity and pushes the data to defined endpoints.
In ``gravity monitoring`` mode it behaves just like the iSpindle, it wakes up at regular intervals, measure angle/tile, temperature, calculates gravity and pushes the data to defined endpoints.
In configuration mode the device is always active and the webserver is active. Here you can view the angle/tilt values, change configuration options and more. When in this mode you can also interact with the device
via an REST API so data can be pushed to the device via scripts (see API section for more information)-
In ``configuration mode`` the device is always active and the webserver is active. Here you can view the angle/tilt values, change configuration options and more. When in this mode you can also interact with the device
via an REST API so data can be pushed to the device via scripts (see API section for more information)
You can force the device into ``configuration mode`` while measuring gravity. This is useful when calibrating the device so you dont needs to wait for the device to wake up and push the data. The entire calibration
sequence can be handled via the web interface without need for additional software tools.
*See the configuration section for more information on how to trigger the configuration mode.*
* **Can send data to multiple endpoints at once**
The orignial iSpindle can only have one destination, this sofware will push data to all defined endpoints so in theory you can use them all. However this will consume a lot of battery power so use only as many as needed.
The original iSpindle can only have one destination, this software will push data to all defined endpoints so in theory you can use them all. However this will consume a lot of battery power so use only as many as needed.
Currently the device supports the following endpoints: http (2 differnt), influxdb2 and Brewfather
@ -73,10 +76,19 @@ Experimental features
*See the compile section for more information.*
Typical performance
-------------------
Since I have the possibility to measaure the performance of different function in the code this is what I have been able to gather.
Battery life
------------
I'm currently measuring battery life of v0.5 but previous versions have been able to measure gravity for a 2-3 weeks without issues. Using 900 seconds as interval.
*More on this topics once my tests are done*
Performance
-----------
Since I have the possibility to measure the performance of different function in the code this is what I have been able to gather.
The typical runtime in a measurement cycle is approx 2 seconds and in some cases it can take up to 6-8 seconds but this is mainly related to establishing the WIFI connection. So stable wifi is
essential for long batterylife. Out of the 2 seconds of run-time the major time is spent on gyro readings (1.3s) and temperature measurements of (0.6s) so using the gyro sensor for measureing

View File

@ -11,8 +11,8 @@ Welcome to GravityMon's documentation!
Preliminary documentation. This is work in progress. This documentation reflects **v0.5**
GravityMon is a replacement firmare for the iSpindle hardware. It's used to measure gravity in beer and show the progress
of fermentation.
GravityMon is a replacement firmare for the iSpindle firmware, it uses the same hardware configuration so
you can easily switch between them. It's used to measure gravity in beer and show the progress of fermentation.
For more information on this topic and function please visit https://www.ispindel.de.
@ -35,7 +35,7 @@ be found here; https://github.com/mp-se/gravitymon
The main differences:
---------------------
* Operates in two modes `gravity monitoring` and `configuration mode`
* Operates in two modes ``gravity monitoring`` and ``configuration mode``
* Send data to multiple endpoints when pushing data.
* Automatic temperature adjustment of gravity reading
* OTA support from local webserver

View File

@ -9,7 +9,11 @@ here; https://docs.espressif.com/projects/esptool/en/latest/esp32/
The basic command for flashing on Windows is;
``esptool.py --port COM4 write_flash 0x0 firmware.bin``
``esptool.py --port COM4 write_flash 0 firmware.bin``
If there are issues you can try do erase the flash first using this command;
``esptool.py --port COM4 erase_flash``
In the /bin directory you will find 3 different firmware builds;

View File

@ -42,7 +42,8 @@
<li class="toctree-l2"><a class="reference internal" href="#the-main-differences">The main differences</a></li>
<li class="toctree-l2"><a class="reference internal" href="#other-features">Other features</a></li>
<li class="toctree-l2"><a class="reference internal" href="#experimental-features">Experimental features</a></li>
<li class="toctree-l2"><a class="reference internal" href="#typical-performance">Typical performance</a></li>
<li class="toctree-l2"><a class="reference internal" href="#battery-life">Battery life</a></li>
<li class="toctree-l2"><a class="reference internal" href="#performance">Performance</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="installation.html">Installation</a></li>
@ -81,14 +82,16 @@
<div class="section" id="the-main-differences">
<h2>The main differences<a class="headerlink" href="#the-main-differences" title="Permalink to this headline"></a></h2>
<ul>
<li><p><strong>Operates in two modes `gravity monitoring` and `configuration mode`</strong></p>
<p>In gravity monitoring mode it behaves just like the iSpindle, it wakes up at regular intervals, measure angle/tile, temperature, calculates gravity and pushes the data to defined endpoints.</p>
<p>In configuration mode the device is always active and the webserver is active. Here you can view the angle/tilt values, change configuration options and more. When in this mode you can also interact with the device
via an REST API so data can be pushed to the device via scripts (see API section for more information)-</p>
<li><p><strong>Operates in two modes gravity monitoring and configuration mode</strong></p>
<p>In <code class="docutils literal notranslate"><span class="pre">gravity</span> <span class="pre">monitoring</span></code> mode it behaves just like the iSpindle, it wakes up at regular intervals, measure angle/tile, temperature, calculates gravity and pushes the data to defined endpoints.</p>
<p>In <code class="docutils literal notranslate"><span class="pre">configuration</span> <span class="pre">mode</span></code> the device is always active and the webserver is active. Here you can view the angle/tilt values, change configuration options and more. When in this mode you can also interact with the device
via an REST API so data can be pushed to the device via scripts (see API section for more information)</p>
<p>You can force the device into <code class="docutils literal notranslate"><span class="pre">configuration</span> <span class="pre">mode</span></code> while measuring gravity. This is useful when calibrating the device so you dont needs to wait for the device to wake up and push the data. The entire calibration
sequence can be handled via the web interface without need for additional software tools.</p>
<p><em>See the configuration section for more information on how to trigger the configuration mode.</em></p>
</li>
<li><p><strong>Can send data to multiple endpoints at once</strong></p>
<p>The orignial iSpindle can only have one destination, this sofware will push data to all defined endpoints so in theory you can use them all. However this will consume a lot of battery power so use only as many as needed.</p>
<p>The original iSpindle can only have one destination, this software will push data to all defined endpoints so in theory you can use them all. However this will consume a lot of battery power so use only as many as needed.</p>
<p>Currently the device supports the following endpoints: http (2 differnt), influxdb2 and Brewfather</p>
<p>If you want additional targets please raise a feature request in the github repo.</p>
</li>
@ -143,9 +146,14 @@ However more testing is required. Might add this as an option in the UI.</p>
</li>
</ul>
</div>
<div class="section" id="typical-performance">
<h2>Typical performance<a class="headerlink" href="#typical-performance" title="Permalink to this headline"></a></h2>
<p>Since I have the possibility to measaure the performance of different function in the code this is what I have been able to gather.</p>
<div class="section" id="battery-life">
<h2>Battery life<a class="headerlink" href="#battery-life" title="Permalink to this headline"></a></h2>
<p>Im currently measuring battery life of v0.5 but previous versions have been able to measure gravity for a 2-3 weeks without issues. Using 900 seconds as interval.</p>
<p><em>More on this topics once my tests are done</em></p>
</div>
<div class="section" id="performance">
<h2>Performance<a class="headerlink" href="#performance" title="Permalink to this headline"></a></h2>
<p>Since I have the possibility to measure the performance of different function in the code this is what I have been able to gather.</p>
<p>The typical runtime in a measurement cycle is approx 2 seconds and in some cases it can take up to 6-8 seconds but this is mainly related to establishing the WIFI connection. So stable wifi is
essential for long batterylife. Out of the 2 seconds of run-time the major time is spent on gyro readings (1.3s) and temperature measurements of (0.6s) so using the gyro sensor for measureing
temperature would reduce the total runtime with 25%. Sending data over http takes less than 100ms (on my local network) so this is not drawing much power.</p>

View File

@ -75,8 +75,8 @@
<p class="admonition-title">Note</p>
<p>Preliminary documentation. This is work in progress. This documentation reflects <strong>v0.5</strong></p>
</div>
<p>GravityMon is a replacement firmare for the iSpindle hardware. Its used to measure gravity in beer and show the progress
of fermentation.</p>
<p>GravityMon is a replacement firmare for the iSpindle firmware, it uses the same hardware configuration so
you can easily switch between them. Its used to measure gravity in beer and show the progress of fermentation.</p>
<p>For more information on this topic and function please visit <a class="reference external" href="https://www.ispindel.de">https://www.ispindel.de</a>.</p>
<p>I started GravityMon because i like to create software and wanted to do some low level programming. I had done a few
projects based on esp8266 and also started to brew beer so this combination was quite natural.</p>
@ -93,7 +93,7 @@ over the last 6 months without any issues.</p>
<div class="section" id="the-main-differences">
<h2>The main differences:<a class="headerlink" href="#the-main-differences" title="Permalink to this headline"></a></h2>
<ul class="simple">
<li><p>Operates in two modes <cite>gravity monitoring</cite> and <cite>configuration mode</cite></p></li>
<li><p>Operates in two modes <code class="docutils literal notranslate"><span class="pre">gravity</span> <span class="pre">monitoring</span></code> and <code class="docutils literal notranslate"><span class="pre">configuration</span> <span class="pre">mode</span></code></p></li>
<li><p>Send data to multiple endpoints when pushing data.</p></li>
<li><p>Automatic temperature adjustment of gravity reading</p></li>
<li><p>OTA support from local webserver</p></li>
@ -159,7 +159,8 @@ over the last 6 months without any issues.</p>
<li class="toctree-l2"><a class="reference internal" href="functionallity.html#the-main-differences">The main differences</a></li>
<li class="toctree-l2"><a class="reference internal" href="functionallity.html#other-features">Other features</a></li>
<li class="toctree-l2"><a class="reference internal" href="functionallity.html#experimental-features">Experimental features</a></li>
<li class="toctree-l2"><a class="reference internal" href="functionallity.html#typical-performance">Typical performance</a></li>
<li class="toctree-l2"><a class="reference internal" href="functionallity.html#battery-life">Battery life</a></li>
<li class="toctree-l2"><a class="reference internal" href="functionallity.html#performance">Performance</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="installation.html">Installation</a><ul>

View File

@ -81,7 +81,9 @@
<p>The prefered option for flashing esp8266 device is via the official esptool. Documentation can be found
here; <a class="reference external" href="https://docs.espressif.com/projects/esptool/en/latest/esp32/">https://docs.espressif.com/projects/esptool/en/latest/esp32/</a></p>
<p>The basic command for flashing on Windows is;</p>
<p><code class="docutils literal notranslate"><span class="pre">esptool.py</span> <span class="pre">--port</span> <span class="pre">COM4</span> <span class="pre">write_flash</span> <span class="pre">0x0</span> <span class="pre">firmware.bin</span></code></p>
<p><code class="docutils literal notranslate"><span class="pre">esptool.py</span> <span class="pre">--port</span> <span class="pre">COM4</span> <span class="pre">write_flash</span> <span class="pre">0</span> <span class="pre">firmware.bin</span></code></p>
<p>If there are issues you can try do erase the flash first using this command;</p>
<p><code class="docutils literal notranslate"><span class="pre">esptool.py</span> <span class="pre">--port</span> <span class="pre">COM4</span> <span class="pre">erase_flash</span></code></p>
<p>In the /bin directory you will find 3 different firmware builds;</p>
<ul>
<li><p><strong>firmware.bin</strong></p>

File diff suppressed because one or more lines are too long