Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
Abász committed Dec 17, 2024
1 parent e6434a2 commit 6e7cbe8
Show file tree
Hide file tree
Showing 4 changed files with 9 additions and 8 deletions.
15 changes: 8 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,16 @@
# ESP Rowing Monitor WebGUI

The purpose of this project is to provide a WebGUI for [ESP Rowing Monitor](https://github.com/Abasz/ESPRowingMonitor)
The purpose of this project is to provide an intuitive WebGUI for [ESP Rowing Monitor](https://github.com/Abasz/ESPRowingMonitor), designed to simplify metrics tracking, settings management and firmware updates.

![ESP Rowing Monitor WebGUI](docs/imgs/ESP-Rowing-Monitor-WebGUI.jpg)
The WebGUI may be accessed via [GitHub Pages of this Repo](https://abasz.github.io/ESPRowingMonitor-WebGUI) directly as an installable Progressive Web App (with all its features) eliminating the need of running local developer/other server or host the page on the ESP32 MCU, building the Web GUI and so on. This means that this app, after install from the browser, can be used and accessed like a native app on Windows/IOS/Android with home screen icon, updates are pushed automatically, etc. This method provides a much simpler way of distributing this app.

As of version 3.2 the WebGUI is fully compatible with the ESPRM API changes made to the bluetooth connection in version 5.2 (i.e. it is able to take full advantage of the Extended BLE Metrics API). This allows moving away from the WebSocket based approach that significantly simplifies the connection to the ESP Rowing Monitor.
![ESP Rowing Monitor WebGUI](docs/imgs/ESP-Rowing-Monitor-WebGUI.jpg)

Thanks to the above changes, as of version 3.2 the new WebGUI may be accessed via [GitHub Pages of this Repo](https://abasz.github.io/ESPRowingMonitor-WebGUI) directly as an installable Progressive Web App (with all its features) eliminating the need of running local developer/other server or host the page on the ESP32 MCU, building the Web GUI and so on. This means that this app, after install from the browser, can be used and accessed like a native app on Windows/IOS/Android with home screen icon, updates are pushed automatically, etc. This method provides a much simpler way of distributing this app.
The WebGUI supports all features of ESPRM API (i.e. it is able to take full advantage of the Extended BLE Metrics API as well as supports over-the-air firmware updates).

This approach solves several issues that has been encounter with the distribution method (e.g. its accessed through https so secured context is not an issue). Updates to the WebGUI can this way be pushed automatically and no longer requires recompilation and uploading to the MCU, etc.

Version 3.2 of the Web GUI is backward compatible, meaning that it can be used with the WebSocket based API while taking advantage of certain new features.

**However, the version served over the GitHub Pages is only compatible with version 5.2 and above of ESP Rowing Monitor. This is due to the fact that the WebGUI served via GitHub Pages do not work with the WebSocket based connection type (the issue is the lack of connection via ssl to the MCU and browser security prevents such connection, at least on chrome), i.e. it requires the new Extended BLE service introduced in version 5.2 of ESPRM. This is now default on the ESP Rowing Monitor firmware. For this reason the WebSocket based connection approach was marked as deprecated and will probably be removed at some point in the future.**
**Note, the version served over the GitHub Pages is only compatible with version 5.2 and above of ESP Rowing Monitor. This is due to the fact that the WebGUI served via GitHub Pages do not work with the deprecated WebSocket based connection type (the issue is the lack of connection via ssl to the MCU and browser security prevents such connection, at least on chrome), i.e. it requires the new Extended BLE service introduced in version 5.2 of ESPRM. This is now default on the ESP Rowing Monitor firmware.**

For reference, the old README that related to the manual building and serving/hosting of the WebGUI have been moved [here](docs/deprecated-docs.md)

Expand Down Expand Up @@ -41,6 +39,8 @@ It is possible to export logged workout data in TCX format that can be manually

The GUI is capable of persisting sessions. However, this is saved to the browser storage which means that it is not transferable between devices automatically. Nevertheless, the GUI provides for an import/export feature that helps with moving the data between devices if necessary.

![ESP Rowing Monitor WebGUI Logbook](docs/imgs/ESP-Rowing-Monitor-WebGUI-logbook.jpg)

_Limitations:_

Even though the Logbook is saved to a fully functional client-side database (IndexedDB) for the web, it is not a persistent storage by default. IndexedDB without StorageManager is just a “best-effort” database that can be erased in situations of low disk space on a device. The browser may delete your database without notifying the user in case it needs to free up space for other website’s data that was used more recently than yours.
Expand All @@ -51,4 +51,5 @@ For further information please see the [here](https://dexie.org/docs/StorageMana

## Backlog

- Implement an auto calibration feature and web firmware flasher with WebSerial
- Make sessions repayable, especially the force curves
Binary file added docs/imgs/ESP-Rowing-Monitor-WebGUI-logbook.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/imgs/ESP-Rowing-Monitor-WebGUI.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion src/version.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
export const versionInfo = {
timeStamp: "2024-05-09T20:50:40.555Z",
timeStamp: "2024-12-17T10:54:44.410Z",
};

0 comments on commit 6e7cbe8

Please sign in to comment.