Difference between revisions of "Maintenance"

From bcmeter.org
Jump to navigation Jump to search
(Wiki update: sync with manual and dev docs (2026-03))
 
(Polish English manual/wiki wording)
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Maintenance Procedures ==
== Maintenance Procedures ==


Access maintenance functions via the '''Maintenance''' button (wrench icon) in the navigation bar. The modal is organized into cards for device management, system status, time synchronization, and geolocation.
Open maintenance functions with the '''Maintenance''' button in the navigation bar. The modal has cards for device management, system status, time synchronization, and geolocation.


=== Filter Change Procedure ===
=== Filter Change Procedure ===
Line 19: Line 19:
# Insert a new filter with '''markings facing up'''.
# Insert a new filter with '''markings facing up'''.
# Screw the cap back on (hand-tight).
# Screw the cap back on (hand-tight).
# '''Check hose''' (if used): ensure the air hose remains connected to the inlet port.
# '''Check hose''' (if used): check that the air hose is still connected to the inlet port.
# '''Run [[Maintenance#Calibration|Calibration]] (required).'''
# '''Run [[Maintenance#Calibration|Calibration]] (required).'''


Line 27: Line 27:


# Go to '''Maintenance''' > '''Calibrate Device'''.
# Go to '''Maintenance''' > '''Calibrate Device'''.
# Ensure a '''new and clean filter''' is installed.
# Check that a '''new and clean filter''' is installed.
# Click "Yes."
# Click "Yes."
# A progress bar appears. The device adjusts LED intensity per channel using binary search to find optimal duty cycles.
# A progress bar appears. The device adjusts LED intensity per channel to find stable reference and sensor readings.
# Wait for "Calibration Successful" before starting a new log.
# Wait for "Calibration Successful" before starting a new log.


'''Technical detail:''' Calibration determines the per-channel correction factor K = Ref_avg / Sen_avg and stores it along with optimal LED duty cycles. On the ESP32, this uses the ADS1220 ADC with 200 samples/sec and targets the 0.5–3.8V sensor range. Calibration typically takes 30–60 seconds.
'''Technical detail:''' Calibration determines the per-channel correction factor K = Ref_avg / Sen_avg and stores it with the LED duty cycle values. Current ESP32 builds use ADS1220 block averaging for the optical readings. Calibration typically takes 30–60 seconds.


=== Data Management ===
=== Data Management ===


Data is stored on the device's internal storage (LittleFS on ESP32, SD card as optional backup).
Data is stored on the device's internal flash storage (LittleFS) and persists across reboots.


# Click '''Log Files'''.
Click '''Log Files''' to open the data manager. The modal lists all stored sessions:
# '''Logs (>2 KB):''' Valid measurement sessions. Download these for analysis.
# '''Logs (<2 KB):''' Failed starts or very short tests — can typically be deleted.


Downloads available as CSV (for analysis), PNG, or SVG (for printing). CSV files use semicolon separation with dot as decimal divider.
{| class="wikitable"
! Column !! Description
|-
| '''Log''' || Session name or filename (e.g., <code>bcmeter_20260312_2126.csv</code>). "Current Session" shows the active log.
|-
| '''Size''' || File size in KB, or number of data points for the current session.
|-
| '''Download''' || Download button for each individual log file.
|}
 
Below the table:
* '''Clear All Data''' — Deletes all stored log files. Requires confirmation.
* '''Remove Empty Logs''' — Cleans up zero-byte or near-empty files from aborted sessions.
 
Stored log files are downloaded as CSV for analysis. The dashboard's '''Download View''' button can additionally export the currently visible chart view as CSV, PNG, or SVG. CSV files use semicolon separation with dot as decimal divider.


'''Backup:''' Internal storage is not archival. Download data to a secure location regularly.
'''Backup:''' Internal storage is not archival. Download data to a secure location regularly.


'''Storage management:''' The ESP32 has ~2 MB internal flash for logs. Warning at 512 KB free, critical at 32 KB. Old logs are auto-deleted when critical threshold is reached. Empty files are cleaned on startup.
'''Storage management:''' The device has ~2 MB internal flash for logs. Warning at 512 KB free, critical at 32 KB. Old logs are auto-deleted when critical threshold is reached. Empty files are cleaned on startup.


=== Device Management ===
=== Device Management ===
Line 53: Line 65:


* '''Calibrate Device:''' Adjusts LED duty cycles. Required after each filter change.
* '''Calibrate Device:''' Adjusts LED duty cycles. Required after each filter change.
* '''View System Logs:''' Opens the application log for diagnosing issues. Logs are grouped by category: hardware, measurement, system, network.
* '''View System Status:''' Opens a structured status report for diagnosing issues. Entries are grouped by category: hardware, measurement, system, network.
* '''Download Logs:''' Downloads full system logs for troubleshooting or support.
* '''Download Logs:''' Downloads the structured system status report as a text file for troubleshooting or support.
* '''Identify Device:''' Blinks the device LED for about two minutes. Use this to find the right unit when more than one bcMeter is nearby.


==== System Operations ====
==== System Operations ====


* '''Reboot Device:''' Restarts the device.
* '''Reboot Device:''' Restarts the device.
* '''Shutdown Device:''' Safely powers off to prevent data corruption. Always use this before unplugging. If the device loses power during a session without proper shutdown, it will automatically resume measurement on next boot.
* '''Shutdown Device:''' Powers down before unplugging. Use this before disconnecting power. If the device loses power during an active session, it resumes measurement on the next boot.
* '''Update Firmware:''' Opens a dialog to manually upload a firmware file (.tar.gz). The device also checks for updates automatically every 6 hours and notifies you when one is available.
* '''Manual Firmware Update:''' Opens a dialog to upload a firmware file (.bin). The device also checks for updates a few times a day.
* '''Factory Reset:''' Permanently erases all measurement logs, WiFi credentials, calibration data, and device settings. A slide-to-confirm gesture is required. The device reboots into factory state.
* '''Factory Reset:''' Permanently erases all measurement logs, WiFi credentials, calibration data, and device settings. A slide-to-confirm gesture is required. The device reboots into factory state.
==== Firmware Update Notifications ====
When the device detects a newer firmware version, an '''Update Available''' modal appears showing:
* The new version number and current version
* Release notes (if available)
* '''Update Now''' button to apply the update immediately (with progress bar)
* '''Skip for now''' to dismiss and update later
Updates download over WiFi and are applied automatically. The device reboots after a successful update.


=== System Status ===
=== System Status ===


Displays device information:
Shows device information:


* '''Device ID:''' Unique hardware identifier (MAC address).
* '''Device ID:''' Unique hardware identifier (MAC address).
* '''Device Name:''' Current network hostname.
* '''Software Version:''' Installed firmware version.
* '''Software Version:''' Installed firmware version.
* '''Free Memory:''' Available system memory.
* '''Free Memory:''' Available system memory.
Line 75: Line 97:
=== Time Synchronization ===
=== Time Synchronization ===


Critical for accurate data timestamps, especially for devices without internet.
Accurate timestamps need a correct device clock, especially on devices without internet access.


* '''Browser Time / Device Time:''' Displayed for comparison.
* '''Browser Time / Device Time:''' Displayed for comparison.
* '''Sync:''' If mismatch exceeds 10 seconds, a sync button appears to synchronize the device clock with your browser.
* '''Sync:''' If mismatch exceeds 10 seconds, a sync button appears to synchronize the device clock with your browser.


Devices connected to the internet sync automatically via NTP. The ESP32 also supports modem-based time sync (CLTS) when a 4G modem is connected.
Devices connected to the internet sync automatically via NTP. Modem-based time sync (CLTS) is also supported when a 4G modem is connected.


=== Geolocation ===
=== Geolocation ===


When location services are active (Settings > Measurement > Location), a Geolocation card displays:
When location services are active (Settings > Measurement > Location), the Geolocation card shows:


* '''Location:''' Latitude/longitude with source (GPS, cell tower, or IP-based) and accuracy indicator.
* '''Location:''' Latitude/longitude with source (GPS, cell tower, or IP-based) and accuracy indicator.
Line 90: Line 112:
* '''Altitude (GPS) & Speed:''' Shown when a GPS module is connected and has a fix.
* '''Altitude (GPS) & Speed:''' Shown when a GPS module is connected and has a fix.


The location input supports multiple formats: <code>48.2082, 16.3738</code> — <code>48.2082 16.3738</code> — <code>(48.2082; 16.3738)</code> etc.
The location input accepts common coordinate formats: <code>48.2082, 16.3738</code> — <code>48.2082 16.3738</code> — <code>(48.2082; 16.3738)</code>.

Latest revision as of 22:15, 2 May 2026

Maintenance Procedures

Open maintenance functions with the Maintenance button in the navigation bar. The modal has cards for device management, system status, time synchronization, and geolocation.

Filter Change Procedure

The filter is not identical on both sides.

  • Identify the side with markings (black line, dot, or circles).
  • The marked side must face UP (towards the LEDs/light source in the upper optical chamber).

Warning: Incorrect orientation (marked side down) results in ~30% measurement error.

Procedure:

  1. Stop any running session.
  2. Unscrew the top cap of the optical chamber.
  3. Remove the saturated filter.
  4. Insert a new filter with markings facing up.
  5. Screw the cap back on (hand-tight).
  6. Check hose (if used): check that the air hose is still connected to the inlet port.
  7. Run Calibration (required).

Calibration

Filters vary slightly in optical density. Calibration balances the sensor signal against the reference signal for the specific filter currently installed.

  1. Go to Maintenance > Calibrate Device.
  2. Check that a new and clean filter is installed.
  3. Click "Yes."
  4. A progress bar appears. The device adjusts LED intensity per channel to find stable reference and sensor readings.
  5. Wait for "Calibration Successful" before starting a new log.

Technical detail: Calibration determines the per-channel correction factor K = Ref_avg / Sen_avg and stores it with the LED duty cycle values. Current ESP32 builds use ADS1220 block averaging for the optical readings. Calibration typically takes 30–60 seconds.

Data Management

Data is stored on the device's internal flash storage (LittleFS) and persists across reboots.

Click Log Files to open the data manager. The modal lists all stored sessions:

Column Description
Log Session name or filename (e.g., bcmeter_20260312_2126.csv). "Current Session" shows the active log.
Size File size in KB, or number of data points for the current session.
Download Download button for each individual log file.

Below the table:

  • Clear All Data — Deletes all stored log files. Requires confirmation.
  • Remove Empty Logs — Cleans up zero-byte or near-empty files from aborted sessions.

Stored log files are downloaded as CSV for analysis. The dashboard's Download View button can additionally export the currently visible chart view as CSV, PNG, or SVG. CSV files use semicolon separation with dot as decimal divider.

Backup: Internal storage is not archival. Download data to a secure location regularly.

Storage management: The device has ~2 MB internal flash for logs. Warning at 512 KB free, critical at 32 KB. Old logs are auto-deleted when critical threshold is reached. Empty files are cleaned on startup.

Device Management

Routine Maintenance

  • Calibrate Device: Adjusts LED duty cycles. Required after each filter change.
  • View System Status: Opens a structured status report for diagnosing issues. Entries are grouped by category: hardware, measurement, system, network.
  • Download Logs: Downloads the structured system status report as a text file for troubleshooting or support.
  • Identify Device: Blinks the device LED for about two minutes. Use this to find the right unit when more than one bcMeter is nearby.

System Operations

  • Reboot Device: Restarts the device.
  • Shutdown Device: Powers down before unplugging. Use this before disconnecting power. If the device loses power during an active session, it resumes measurement on the next boot.
  • Manual Firmware Update: Opens a dialog to upload a firmware file (.bin). The device also checks for updates a few times a day.
  • Factory Reset: Permanently erases all measurement logs, WiFi credentials, calibration data, and device settings. A slide-to-confirm gesture is required. The device reboots into factory state.

Firmware Update Notifications

When the device detects a newer firmware version, an Update Available modal appears showing:

  • The new version number and current version
  • Release notes (if available)
  • Update Now button to apply the update immediately (with progress bar)
  • Skip for now to dismiss and update later

Updates download over WiFi and are applied automatically. The device reboots after a successful update.

System Status

Shows device information:

  • Device ID: Unique hardware identifier (MAC address).
  • Software Version: Installed firmware version.
  • Free Memory: Available system memory.
  • Last Calibration: Timestamp of the most recent calibration.

Time Synchronization

Accurate timestamps need a correct device clock, especially on devices without internet access.

  • Browser Time / Device Time: Displayed for comparison.
  • Sync: If mismatch exceeds 10 seconds, a sync button appears to synchronize the device clock with your browser.

Devices connected to the internet sync automatically via NTP. Modem-based time sync (CLTS) is also supported when a 4G modem is connected.

Geolocation

When location services are active (Settings > Measurement > Location), the Geolocation card shows:

  • Location: Latitude/longitude with source (GPS, cell tower, or IP-based) and accuracy indicator.
  • Altitude (barometric): Derived from the pressure sensor.
  • Altitude (GPS) & Speed: Shown when a GPS module is connected and has a fix.

The location input accepts common coordinate formats: 48.2082, 16.373848.2082 16.3738(48.2082; 16.3738).