Updates to docs

This commit is contained in:
Magnus Persson 2022-11-04 18:42:04 +01:00
parent 5ac1ead5b9
commit 4c7182a6d6
6 changed files with 49 additions and 85 deletions

View File

@ -148,7 +148,7 @@ build_flags =
-DCORE_DEBUG_LEVEL=0
-DESP32C3
-DARDUINO_ESP32C3_DEV
-DUSE_SERIAL_PINS # Use the TX/RX pins for the serial port
#-DUSE_SERIAL_PINS # Use the TX/RX pins for the serial port
lib_deps =
${common_env_data.lib_deps}
${common_env_data.lib_deps32}
@ -181,7 +181,7 @@ build_flags =
-DCORE_DEBUG_LEVEL=0
-DESP32S2
-DARDUINO_ESP32S2_DEV
-DUSE_SERIAL_PINS # Use the TX/RX pins for the serial port
#-DUSE_SERIAL_PINS # Use the TX/RX pins for the serial port
lib_deps =
${common_env_data.lib_deps}
lib_ignore =
@ -226,7 +226,7 @@ build_flags =
-DCORE_DEBUG_LEVEL=5
-DJTAG_DEBUG
-DESP32C3
-DUSE_SERIAL_PINS # Use the TX/RX pins for the serial port
#-DUSE_SERIAL_PINS # Use the TX/RX pins for the serial port
-DARDUINO_ESP32C3_DEV
-DCOLLECT_PERFDATA # Collect runtime data for a few defined methods to measure time, dumped to serial and/or influxdb
lib_deps =

View File

@ -37,6 +37,26 @@ In the platformio config there are 3 targets defined
The debug target can be unstable and crash the device under certain circumstanses. Excessive logging to the serial port can cause corruption and crashes.
So only enable enough debugging to troubleshoot your changes.
Serial debugging on battery
===========================
.. image:: images/serial.png
:width: 600
:alt: Serial output
On the ESP32 builds the serial output can be written to UART0 which is connected to the RX/TX pins on the chip. This way the serial output can be viewed
without a connection to the USB port, convinient when running the device on battery power. In order to get this to work you need to compile the sofware
with the option **DUSE_SERIAL_PINS** and attach as USB to TTL cable to the correct pins.
You connect the USB to TTL cable that you connect the TX, RX and GND pins. **Dont connect the power pin** if you are powering the device from USB or Battery.
.. image:: images/usb-ttl.jpg
:width: 300
:alt: USB to TTL cable
.. image:: images/serial_esp32c3.jpg
:width: 300
:alt: Serial output ESP32c3
Source structure
================
@ -92,4 +112,6 @@ This is a list of C++ defines that is used to enable/disable functions in the co
- Password to the SSID
* - CFG_APPVER
- Defines the version of the compiled software
* - USE_SERIAL_PINS
- Will send the serial console to the TX/RX pins on an ESP32 target so that debugging can be done when on battery

View File

@ -10,7 +10,7 @@ One of the following conditions will place the device in ``configuration mode``:
- Gyro has not been calibrated
- Sleep mode has been disabled in the web interface
- Placed in horizontal mode 85-90 degrees
- Charger connected >4.15V
- Charger connected >4.15V (or the value that is configured)
Status
@ -39,7 +39,7 @@ connection. It will show 0 if data has not been collected yet.
The button `view error log` will show the last error messages on the device. This can be useful for checking errors without
the need to connect to the serial port or to check what errors has occurred while in `gravity mode`. From v1.1 it will also detect
any abnormal restarts or crashes and record these in the logfile.
any abnormal restarts or crashes and record these in the logfile (this applies to esp8266 only).
Configuration

View File

@ -7,53 +7,14 @@ Welcome to GravityMon
#####################
.. note::
This documentation reflects **v1.2 - beta 1**. Last updated 2022-10-22
User interface overview
-----------------------
This animation shows how the user interface is structured, it reflects an older version but the structure is the same.
.. image:: images/gravitymon.gif
:width: 800
:alt: User Inteface Walkthrough
.. _main_features:
Main features
-------------
* Support either an ESP8266-d1-mini, ESP32-mini, ESP32S2-mini or ESP32C3-mini board (see :ref:`hardware`)
* Operates in two modes gravity monitoring and configuration mode
* Gravity mode is comparable to how the iSpindle works when collecting data
* Configuration mode has a modern HTML5 based web UI. No need to start the access point to change settings
* Offloading some of the functionality to run in the web browser, this allows for more advanced features.
* REST API to enable scripted configuration
* Send data to multiple endpoints and services at once (2xHTTP POST, HTTP GET, MQTT, INFLUXDB2)
* Directly test all endpoints from user interface with feedback to simplify troubleshooting
* Complete format customization for all endpoints using templates (don't really need to change the software to support new services)
* Setup guides for how to send data to many popular services. Currently 10+ are documented
* Automatic temperature adjustment of gravity (just tick a checkbox)
* OTA support from webserver
* Firmware update via web interface
* Built in function to create gravity formulas, no need for additional software, just enter tilt/gravity and let GravityMon creates a formula
* Visual graph showing how formula will be interpreted based on entered values
* Using the temperature sensor in gyro instead of DS18B20 (faster)
* SSL support in all endpoints (no certificate validation due to limitations on esp8266).
* Built in performance measurements (used to optimize code)
* Storage mode when placed on cap (indefinite sleep)
* Customize various hardware parameters to optimize device functionality.
For a complete breakdown see the :ref:`functionality`
.. note::
If you are missing some feature, please reach out on `Github <https://github.com/mp-se/gravitymon/discussions>`_ or `homebrewtalk.com <https://www.homebrewtalk.com/threads/replacement-firmware-for-ispindel-gravitymon.698058/>`_
This documentation reflects **v1.2 - beta 1**. Last updated 2022-11-04
What is GravityMon?
--------------------
GravityMon is used to measure gravity and temperature during fermentation of beer and report the progress. The graph below is
an example on how the fermentation process can be tracked. The graph has been rendered using Fermentrack.
GravityMon is a electronic hydrometer software that can be used to measure gravity and temperature during fermentation of beer and report the progress to a number of external
services. Is uses a gyro to measure the gravity since there is a correlation between gravity an the density of the fluid. Based on the density the hydrometer will float at a different angle.
The graph below is an example on how the fermentation process can be tracked. The graph has been rendered using Fermentrack.
.. image:: images/fermentation.png
:width: 500
@ -61,10 +22,11 @@ an example on how the fermentation process can be tracked. The graph has been re
GravityMon is a replacement firmware for the iSpindle and uses the same hardware configuration and is 100% compatible. It
implements a lot of the features that has been requested in the original iSpindle project but never implemented for
various reasons. Here is a list of :ref:`main_features`.
various reasons.
From v0.9 the firmware also supports a iSpindle built using an ESP32 d1 mini (pin compatible with esp8266). Currently this is an experimental
version but since it has more memory and processing capacity it could support more functions. See :ref:`hardware`.
The firmware also supports a iSpindle built using an ESP32 which is pin compatible with esp8266, currently there are 3 options that are
supported ESP32-D1 mini, ESP32-C3 mini and ESP32-S2 mini. See :ref:`hardware`. The more modern hardware will allow better support for SSL and
other memory intensive functions.
I started GravityMon because I like to create software and wanted to do some microcontroller programming. I had done a few
projects based on esp8266 and also started to brew beer so this combination was quite natural.
@ -82,13 +44,14 @@ The github repository can be found here; `GravityMon on Github <https://github.c
I have tested this software on 40+ brews with good results.
User interface overview
-----------------------
Documentation for older versions
--------------------------------
* Docs for: `v1.0 <https://mp-se.github.io/gravitymon/v1.0/index.html>`_
* Docs for: `v0.9 <https://mp-se.github.io/gravitymon/v0.9/index.html>`_
This animation shows how the features of the user interface. It's for an older version but the main features are the same.
.. image:: images/gravitymon.gif
:width: 800
:alt: User Inteface Walkthrough
Software architecture
---------------------
@ -174,13 +137,12 @@ the following libraries and without these this would have been much more difficu
:maxdepth: 2
:caption: Contents:
intro
releases
functionality
intro
installation
configuration
troubleshooting
q_and_a
releases
hardware
formula
services
advanced
@ -188,8 +150,9 @@ the following libraries and without these this would have been much more difficu
data
compiling
contributing
hardware
license
troubleshooting
q_and_a
Indices and tables
==================

View File

@ -113,23 +113,6 @@ Serial Monitoring
To check output from the device (logs) there are several tools out there. I found this simple tool in the Windows Store called ``Serial Port Monitoring``.
Just select a baud rate of 115200, 8N1.
.. image:: images/serial.png
:width: 600
:alt: Serial output
On the build for ESP32C3 and ESP32S2 the serial output is written to UART0 which is connected to the RX/TX pins on the chip. This way the serial output can be viewed
without a connection to the USB port, convinient when running the device on battery power.
You need a USB to TTL cable that you connect the TX, RX and GND pins. **Dont connect the power pin** if you are powering the device from USB or Battery.
.. image:: images/usb-ttl.jpg
:width: 300
:alt: USB to TTL cable
.. image:: images/serial_esp32c3.jpg
:width: 300
:alt: Serial output ESP32c3
.. _setup_wifi:
Configuring WIFI

View File

@ -3,19 +3,15 @@
Releases
########
v1.2.0 - beta2
==============
Features
++++++++
* Added support for the ESP32 S2 mini board
v1.2.0 - beta1
==============
* Changes to 1.2.0 only affect the ESP32 hardware, the ESP8266 is the same as for v1.1.1
Features
++++++++
* Added support for the ESP32 C3 mini board
* Added support for the ESP32 S2 mini board
* Serial output is written to TX/RX pins instead of the USB connection for the ESP32c3. This way the serial console can be viewed when running on battery power.
Issues adressed