gravitymon

iSpindle replacement firmware for beer brewing/fermenting

MIT License

Stars
54
Committers
5

Bot releases are hidden (Show)

gravitymon - v1.0.0-beta1

Published by mp-se over 2 years ago

This is a pre-release of the next version with a few new requested features included. It has not been long term tested.

Upgrade can be done via the UI under Configuration - Hardware - Firmware Upload.

v1.0.0-beta1

  • Upgraded to bootstrap v5.1 for web pages.
  • Added tooltips to all fields in user interface
  • Removed brewfather option (can use standard HTTP options), the old apporach can still be used via changing format template.
  • Added 5 more points for formula creation, so a total of 10 angles/gravity values can be stored.
  • Added function on format page so that it's easy to copy a format template from the docs (simplify service integration).
  • Added https support for Influxdb
  • Added possibility to have variable push intervals for different endpoints so that different frequency can be used, for example; 5min mqtt, 15min brewfather.
  • Added advanced settings: Changes how many times the gyro is read (less reads, quicker but less accurate)
  • Added advanced settings: Set amount of gyro movement is allowed for a accurate read.
  • Added advanced settings: What deviation is acceptable for creating formula deviation
  • Added advanced settings: Various timeouts, wifi connect, wifi portal, http connects.
  • Added advanced settings: Adjust resolution of temp sensor (9 bits to 12 bits), higher resolution takes longer thus reducing batterylife
  • Added additional http error codes to troubleshooting documentation
  • Added possibility to set 2 wifi ssid where the second acts as a fallback in case it fails to connect. If succesful the seconday becomes the new primary.
  • SSL connections are skipped on ESP8266 when in config mode since there is a high probability it will crash due to low memory.
  • Installation instructions updated on how to find the device after wifi has been configured.
  • Documentation on brewfather has been updated to adress SG/Plato conversion
  • BUG: Fixed issue in formula calculation in case there were a gap in the data series
  • BUG: Field name for wifi strength changed from "rssi" to "RSSI"
  • BUG: Fixed issue with probing MFLN on non standard ports
gravitymon - v0.9.0

Published by mp-se over 2 years ago

Changes in this version:

  • Added one http push target that uses HTTP GET. This can be used with ubidots or blynk api's.
  • Added function to test push targets from configuration page. It will send data and show the return code as a first step.
  • Added documetation on how to integrate with Blynk.io using http get.
  • Config page now shows the estimated runtime for the device (based on a full battery and previous average runtime)
  • Experimental release of firmware using an esp32 instead of esp8266
  • Merged index and device pages into one so that all the needed information is available on the index page.
  • Removed api for device (/api/device), it's now merged into the /api/status api.
  • Test function in format editor now uses real data and not fake.
  • Split push configuration into two sections to make it fit better on smaller devices
  • Updated WifiManager and DoubleReset libraries
  • Updated esp32 target with littlefs support
  • Updated esp32 target with BLE send support (it will simulate a tilt)
  • Mounted esp32 d1 mini mounted to a iSpindle PCB 4.0 (CherryPhilip) which worked fine.
  • Documented hardware changes on esp32
  • Default mDNS name is now shown on WIFI setup page.
  • Added option to manually update/downgrade firmware under hardware settings.
  • BUG: Corrected PIN for voltage read on ESP32
  • BUG: If using plato and not gravity formula was defined the value was set to null.
  • BUG: Temp format name was incorrect in iSpindle format causing receiver to incorrectly read temperature.
  • BUG: Temperature sensor adjusmemnt value was not handled properly when using Farenheight.
  • BUG: If the ID was to low the device id could end up with a leading space causing errors in data post. Added leading zero to ID.
  • BUG: Entering wifi setup and a timeout occured the wifi settings could be deleted.
gravitymon - v0.8.0

Published by mp-se over 2 years ago

Added a few missing function and fixed a few minor bugs.

  • Added option to set http headers (2 per http endpoint), these can be used for other http formats than json (default) and for adding authentication headers.
  • Added possibility to view last 10 errors on device page.
  • Added possibility to define token parameter used in iSpindle format.
  • Added instructions for how to configure integration with Brewspy
  • Added instructions for how to configure integration with Thingspeak
  • Added option to do a factory reset via API.
  • Logging the runtime, how long a measurement take (last 10 are stored). This can be used to check how good the wifi connection is and estimate the lifetime when on battery. Check the device page in the UI for this information.
  • Refactored code to free up more RAM to make SSL more stable.
  • Before connecting to an SSL endpoint the device will try to use a new SSL feature called MFLN (Maximum Fragment Length Negotiation) that allow us to reduce the buffers from 16k to 2k. This can make a huge difference on a device with only 40k RAM. Not all servers might support this feature.
  • Updated documentation pages.
  • Tested batterylife, 47 days using an update frequency of 5 min
gravitymon - v.0.7.1 Bug fixes and documentation updates

Published by mp-se over 2 years ago

Documentation updates

  • Added instructions for how to configure integration with Fermentrack
  • Added instructions for how to configure integration with Ubidots
  • Added instructions for how to configure integration with HomeAssistant
  • Added instructions for how to configure integration with Brewers Friend (not verified)

Bug fixes

  • BUG: Defined mqtt port was ignored, used default values.
  • BUG: Extended length of HTTP url fields from 100 to 120 chars.
  • BUG: Fixed issue with default template so it now includes the device name correctly.
gravitymon - v0.7.0 SSL support, custom push formats and plato

Published by mp-se over 2 years ago

Changes

  • SSL support for HTTP targets. #2
  • SSL support for MQTT targets. #2
  • SSL support for OTA. #2
  • Added support for gravity in Plato. #5
  • Added error handling for calibration page.
  • Added experimental target ESP32 (using an ESP32 D1 Mini which is pin compatible with ESP8266). Not really usable since wifi connection is extreamly slow with current Arduino releases (3-8 seconds). #3
  • Added experimental format editor so users can customize their data format used for pushing data. This will reduce the need for custom push targets. As long as the service is supporting http or https then the data format can be customized.
  • Added check so that pushing data is not done if memory is low (this will avoid crashes)
  • MQTT topic has been removed from config (handled via format templates)
  • MQTT port port number added. Port over 8000 will activate SSL.
  • Breaking change: To simplify the internal structure the temp sensor adjustment is now stored in C. So if you have enabled this function using F you will need to go into the configuration and update the adjustment factor again (hardware config).
  • Breaking change: The MQTT push option has been changed to match the iSpindle behaviour. If the behaviour in v0.6 is wanted this can be done via the format editor. #7
gravitymon - v0.6.0 Added MQTT support and updated libraries

Published by mp-se almost 3 years ago

  • Changed the wifi manager and refactored wifi.cpp
  • LED is now turned on when Wifi Portal is open
  • Refactored main.cpp to make it easier to read
  • Tested runtime performance
  • Improved documentation
  • Added warning on config page when sleep is <300
  • Enabled selection of gyro temperature sensor under Hardware settings
  • Added warning when short sleep interval and gyro temp is enabled
  • Added support for MQTT
  • Bug: MPU init sometimes caused crash during startup.

Link to documentation: https://mp-se.github.io/gravitymon/index.html

gravitymon - v0.5.0

Published by mp-se almost 3 years ago

Feedback on the functionallity is highly appreciated.

iSpindle replacement firmware with these main features:

  • 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, measures 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).
  • Can send data to multiple endpoints at once
  • Build in function to create gravity formulas, so no need for using other tools for this part
  • Automatic temperature adjustment of gravity reading
  • OTA support from local webserver
  • DS18B20 temperature adjustments
  • Gyro Movement detection
  • Support for Celcius and Farenheigt as temperature formats.

New in this release:

  • Creating gravity formula on device
  • Refactoring and code cleanup
  • Totally rewritten documenation on github pages
Related Projects