Skip to main content

GeoSnake - Web Interface - User Guide

Overview

The GeoSnake web interface provides complete graphical device control directly from a web browser. The interface is optimized for both desktop and mobile devices and works in offline mode.

Access:

  • URL: http://192.168.4.1 (when connected to WiFi AP)
  • SSID: STATOTEST-GEOSNAKE-XXX (default, XXX is device identifaciton number)

Main Structure

┌─────────────────────────────────────────┐
│ [STATOTEST LOGO] │
│ GEOSNAKE │
│ Accelerometer Control System │
└─────────────────────────────────────────┘
  • Logo: Statotest SVG logo
  • Name: GEOSNAKE
  • Subtitle: Accelerometer Control System
  • Color: Blue gradient (corporate colors)

The interface is divided into 7 main tabs:

  1. 📊 Dashboard - Overview and quick controls
  2. ⚙️ Sensor Config - Accelerometer configuration
  3. ⏰ Schedule - Measurement scheduling
  4. 📁 Files - File management
  5. 🔋 Power - Power management
  6. 🏷️ Device - Device configuration
  7. 📡 WiFi - WiFi settings

Navigation:

  • Click on tab to display corresponding content
  • Active tab is highlighted in blue
  • On mobile devices, tabs are displayed vertically

📊 Dashboard (Main Panel)

Status Display

┌─────────────────────────────────────────┐
│ Status: Stopped │
│ [red background = stopped] │
│ [green background = measuring] │
└─────────────────────────────────────────┘

Indicators:

  • 🟢 Green - Measurement in progress
  • 🔴 Red - Measurement stopped

Information:

  • Text: "Measuring" or "Stopped"
  • Automatic update every 2 seconds

Quick Control

┌─────────────────────────────────────────┐
│ ▶️ Start Measurement │
│ ⏹️ Stop Measurement │
└─────────────────────────────────────────┘

Buttons:

▶️ Start Measurement (Green button)

  • Function: Starts accelerometer measurement
  • When to use: When you want to start recording data
  • Effect:
    • Status changes to "Measuring"
    • Starts writing to SD card
    • Creates new CSV file
  • Requirements: SD card must be inserted

⏹️ Stop Measurement (Red button)

  • Function: Stops ongoing measurement
  • When to use: When you want to end data recording
  • Effect:
    • Status changes to "Stopped"
    • Current file is closed
    • Data is safely saved

Current Settings

Grid with 7 information cards:

┌──────────────┬──────────────┬──────────────┬──────────────┐
│ ODR │ Range │ Target Freq │ WiFi │
│ 62.5 Hz │ ±2g │ 50 Hz │ AP Mode │
├──────────────┼──────────────┼──────────────┼──────────────┤
│ RTC Time │ Firmware │ SD Card │
│ 14:30:45 │ v1.2.0 │ Total/Free: 28.5/32.0 GB │
└──────────────┴──────────────┴─────────────────────────────┘

Information Cards:

1. ODR (Output Data Rate)

  • Displays: Current sampling frequency
  • Values: 3.906 Hz - 4000 Hz
  • Example: "62.5 Hz", "250 Hz"

2. Range (Measurement Range)

  • Displays: Current accelerometer sensitivity
  • Values: ±2g, ±4g, ±8g
  • Example: "±2g"

3. Target Freq (Target Frequency)

  • Displays: Output frequency after decimation
  • Values: 1-100 Hz
  • Example: "50 Hz"

4. WiFi

  • Displays: WiFi connection status
  • Values:
    • "AP Mode" - Access Point mode
    • "Connected to [SSID]" - Connected to network
    • "Disconnected" - Disconnected
  • Example: "Connected to MyNetwork"

5. RTC Time

  • Displays: Current time from DS3231 RTC
  • Format: HH:MM:SS
  • Example: "14:30:45"
  • Update: Every 2 seconds

6. Firmware

  • Displays: Firmware version
  • Format: vX.Y.Z
  • Example: "v1.2.0"

7. SD Card

  • Displays: SD card usage
  • Format: "Free: X.X GB / Total: Y.Y GB"
  • Example: "Free: 28.5 GB / Total: 32.0 GB"
  • Update: On page load

Measurement Statistics

┌──────────────┬──────────────┬──────────────┬──────────────┐
│ Total Samples│ Files Created│ Elapsed Time │ Write Errors │
│ 125,000 │ 3 │ 2h 15m 30s │ 0 │
└──────────────┴──────────────┴──────────────┴──────────────┘

Displayed Values:

Total Samples

  • Number of recorded samples since measurement start
  • Resets when measurement stops

Files Created

  • Number of CSV files created during measurement
  • New file every hour

Elapsed Time

  • Measurement duration
  • Format: Xh Ym Zs

Write Errors

  • Number of errors when writing to SD card
  • Should be 0 - if not, check SD card

⚙️ Sensor Config (Sensor Configuration)

ADXL355 Configuration

┌─────────────────────────────────────────┐
│ Output Data Rate (ODR) │
│ [Dropdown menu: 62.5 Hz] ▼ │
├─────────────────────────────────────────┤
│ Measurement Range │
│ [Dropdown menu: ±2g] ▼ │
├─────────────────────────────────────────┤
│ Target Output Frequency (Hz) │
│ [━━━━━━●━━━━━━] 50 Hz │
│ [Apply Frequency] │
└─────────────────────────────────────────┘

1. Output Data Rate (ODR)

Type: Dropdown menu

Options:

4000 Hz    - Maximum frequency
2000 Hz - High frequency
1000 Hz - High frequency
500 Hz - Medium frequency
250 Hz - Medium frequency
125 Hz - Basic frequency
62.5 Hz - Default (recommended)
31.25 Hz - Low frequency
15.625 Hz - Very low frequency
7.813 Hz - Ultra low frequency
3.906 Hz - Minimum frequency

How to use:

  1. Click on dropdown
  2. Select desired frequency
  3. Setting is applied immediately

Recommendations by application:

  • Building vibrations: 62.5 - 125 Hz
  • Machine vibrations: 250 - 1000 Hz
  • Impact events: 1000 - 4000 Hz
  • Slow movements: 7.813 - 31.25 Hz

2. Measurement Range

Type: Dropdown menu

Options:

±2g  - Highest sensitivity (default)
±4g - Medium range
±8g - Widest range

How to use:

  1. Click on dropdown
  2. Select range
  3. Setting is applied immediately

Scale factors for conversion:

  • ±2g: 0.0000038147 g/LSB
  • ±4g: 0.0000076294 g/LSB
  • ±8g: 0.0000152588 g/LSB

When to use which range:

  • ±2g: Fine vibrations, seismic measurement, buildings
  • ±4g: Standard vibrations, machines
  • ±8g: Strong impacts, vehicles, sports

3. Target Output Frequency

Type: Slider + numeric value

Range: 1 - 100 Hz
Default: 50 Hz
Step: 1 Hz

How to use:

  1. Move slider to desired value
  2. Watch current value on right ("50 Hz")
  3. Click Apply Frequency to confirm

What it does:

  • Software sample decimation
  • ODR = sensor sampling frequency
  • Target Freq = frequency of saved samples
  • Example: ODR=125 Hz, Target=50 Hz → saves approximately every 2.5th sample

Advantages:

  • More precise output frequency
  • Smaller file sizes
  • Noise reduction (averaging)

4. X/Y/Z Axis Offset

┌─────────────────────────────────────────┐
│ X-Axis Offset │
│ [ 0 ] (range: -32768 to 32767) │
├─────────────────────────────────────────┤
│ Y-Axis Offset │
│ [ 0 ] │
├─────────────────────────────────────────┤
│ Z-Axis Offset │
│ [ 0 ] │
├─────────────────────────────────────────┤
│ [Apply Offsets] │
└─────────────────────────────────────────┘

Function: Offset calibration for individual axes

How to use:

  1. Enter offset value for each axis
  2. Click Apply Offsets

When to use:

  • After sensor calibration
  • To compensate DC offset
  • To improve measurement accuracy

Range: -32768 to 32767 (raw values)


⏰ Schedule (Measurement Scheduling)

┌─────────────────────────────────────────┐
│ Add New Schedule │
├─────────────────────────────────────────┤
│ Name │
│ [Morning measurement ] │
├─────────────────────────────────────────┤
│ Start Date [2024-12-07] │
│ Start Time [06:00:00] │
├─────────────────────────────────────────┤
│ End Date [2024-12-07] │
│ End Time [07:00:00] │
│ OR │
│ Duration (sec) [3600 ] │
├─────────────────────────────────────────┤
│ Preview: │
│ Start: 2024-12-07 06:00:00 │
│ End: 2024-12-07 07:00:00 │
│ Duration: 1 hour │
├─────────────────────────────────────────┤
│ [Add Schedule] │
└─────────────────────────────────────────┘

Schedule Creation Form

Fields:

1. Name

  • Type: Text field
  • Max length: 50 characters
  • Examples:
    • "Morning measurement"
    • "Weekend test"
    • "Long-term monitoring"
  • Required: Yes

2. Start Date

  • Type: Date picker
  • Format: YYYY-MM-DD
  • Example: 2024-12-07
  • Required: Yes

3. Start Time

  • Type: Time picker
  • Format: HH:MM:SS
  • Example: 06:00:00
  • Required: Yes

4. End Date

  • Type: Date picker
  • Format: YYYY-MM-DD
  • Optional: Yes (if Duration is specified)

5. End Time

  • Type: Time picker
  • Format: HH:MM:SS
  • Optional: Yes (if Duration is specified)

6. Duration

  • Type: Numeric field
  • Unit: Seconds
  • Range: 1 - 86400 (24 hours)
  • Examples:
    • 3600 = 1 hour
    • 7200 = 2 hours
    • 86400 = 24 hours
  • Optional: Yes (if End Date/Time is specified)

Preview

Displays calculated values before saving:

  • Start: Start date and time
  • End: End date and time (calculated)
  • Duration: Duration in human-readable format

Example:

Preview:
Start: 2024-12-07 06:00:00
End: 2024-12-07 07:00:00
Duration: 1 hour

"Add Schedule" Button

Function: Saves schedule to device

Process:

  1. Input validation (date/time in future)
  2. Send to API endpoint /api/schedule
  3. Confirmation or error message
  4. Refresh schedule list

Limitation: Maximum 10 active schedules


Schedule List (Scheduled Measurements)

┌─────────────────────────────────────────────────────────────┐
│ ID Name Start End Delete │
├─────────────────────────────────────────────────────────────┤
│ 0 Morning measurement 2024-12-07 06:00 07:00 [🗑️] │
│ 1 Evening test 2024-12-07 18:00 19:30 [🗑️] │
│ 2 Weekend monitoring 2024-12-09 00:00 23:59 [🗑️] │
└─────────────────────────────────────────────────────────────┘

Columns:

ID

  • Unique schedule identifier (0-9)

Name

  • Schedule name

Start

  • Start date and time
  • Format: YYYY-MM-DD HH:MM

End

  • End time (if set)
  • Format: HH:MM
  • Empty: If no time limit

Delete (🗑️)

  • Button to delete schedule
  • Shows confirmation dialog after clicking

Schedule States

Schedules are color-coded by state:

🟢 Green - Active (measurement running)
🔵 Blue - Scheduled (waiting to start)
⚫ Gray - Expired (ended in past)


Automatic Start

  • Device checks schedules every minute
  • When Start Time is reached, measurement starts automatically
  • When End Time is reached, measurement stops automatically
  • Schedules are saved to NVS (survive restart)

📁 Files (File Management)

┌─────────────────────────────────────────────────────────────┐
│ Current Path: / [🔄 Refresh] │
├─────────────────────────────────────────────────────────────┤
│ ☑️ Select All [⬇️ Download Selected] [🗑️ Delete] │
├─────────────────────────────────────────────────────────────┤
│ □ 📁 2024 │
│ □ 📁 11 │
│ □ 📁 25 │
│ ☑️ 📄 data_20241125_140000.csv 1.2 MB [⬇️][🗑️]│
│ ☑️ 📄 data_20241125_150000.csv 1.1 MB [⬇️][🗑️]│
│ □ 📁 12 │
│ □ 📁 07 │
│ □ 📄 data_20241207_140000.csv 0.5 MB [⬇️][🗑️]│
└─────────────────────────────────────────────────────────────┘

Top Panel

Current Path

  • Displays current folder
  • Format: /2024/12/07
  • Clickable parts for navigation back

🔄 Refresh

  • Reloads file list
  • Updates sizes and counts
  • Automatically called when switching to Files tab

Control Buttons

☑️ Select All

  • Checks all files in current folder
  • Second click unchecks all
  • Works for folders too

⬇️ Download Selected

  • Downloads all checked items
  • Online mode: Creates ZIP archive (requires JSZip from CDN)
  • Offline mode: Downloads files sequentially one by one
  • Shows progress bar during download

🗑️ Delete Selected

  • Deletes all checked items
  • Shows confirmation dialog
  • Irreversible operation!

Tree Structure

Icons:

📁 Folder

  • Click to expand/collapse
  • Checkbox selects all files in folder
  • Gray = empty folder
  • Blue = contains files

📄 File

  • CSV file with data
  • Shows name and size
  • Separate Download and Delete buttons

File List

For each file displays:

☑️ 📄 data_20241207_140000.csv    1.2 MB    [⬇️] [🗑️]
│ │ │ │ │
│ └─ Filename │ │ └─ Delete
│ │ └─ Download
│ └─ Size
└─ Checkbox

Interactive Elements:

Checkbox

  • File selection for bulk operations
  • Green = selected
  • White = unselected

Filename

  • Format: data_YYMMDD_HHMMSS.csv
  • Example: data_20241207_140000.csv
  • Contains creation date and time

Size

  • Format: KB, MB, GB
  • Example: "1.2 MB"
  • Updated on Refresh

⬇️ Download

  • Downloads specific file
  • Opens "Save As" dialog
  • Filename is pre-filled

🗑️ Delete

  • Deletes specific file
  • Shows confirmation
  • Disappears from list after deletion

Folder Navigation

Opening folder:

  • Click on folder name
  • Content displays in subtree

Going back:

  • Click on parent folder in Current Path
  • Or use "⬆️ Parent Directory" button (if exists)

Breadcrumb navigation:

/ > 2024 > 12 > 07
│ │ │ └─ Current folder
│ │ └─ Click to go to 12/
│ └─ Click to go to 2024/
└─ Root directory

Bulk Download (ZIP)

Online mode (with JSZip):

  1. Select files/folders with checkbox
  2. Click "Download Selected"
  3. Progress bar appears
  4. ZIP archive downloads automatically
  5. Name: geosnake_data_YYYYMMDD_HHMMSS.zip

Offline mode (without JSZip):

  1. Select files/folders
  2. Click "Download Selected"
  3. Files download sequentially one by one
  4. May take longer
  5. Browser may ask for each file separately

Progress indicator:

Downloading... (3/10 files)
[████████░░░░░░░░░░] 30%

Download Entire Folder

Function: Download all files in folder with one click

Procedure:

  1. Check folder checkbox (e.g., 📁 25)
  2. Click "Download Selected"
  3. All files in folder are packed into ZIP

Hierarchy in ZIP:

geosnake_data.zip
└── 2024/
└── 11/
└── 25/
├── data_20241125_140000.csv
├── data_20241125_150000.csv
└── data_20241125_160000.csv

Bulk Delete

Warning! Irreversible operation!

Delete Selected:

  1. Select files/folders
  2. Click "Delete Selected"
  3. Confirmation dialog:
    Delete 5 items?
    This action cannot be undone.
    [Cancel] [Delete]
  4. After confirmation, items are deleted

Delete All Files:

  • Red button at end of page
  • Deletes absolutely everything on SD card!
  • Double confirmation

Filters and Sorting

Filter by type:

  • 📁 Show only folders
  • 📄 Show only files
  • 📊 Show all

Sorting:

  • 📅 By date (newest first)
  • 📝 By name (A-Z)
  • 📏 By size (largest first)

🔋 Power (Power Management)

┌─────────────────────────────────────────┐
│ Power Mode │
├─────────────────────────────────────────┤
│ ⚪ Normal Mode (160 MHz, no sleep) │
│ Current consumption: ~200 mA │
│ │
│ ⚪ Low Power Mode (80 MHz, light sleep) │
│ Current consumption: ~50-80 mA │
│ │
│ [Set Power Mode] │
├─────────────────────────────────────────┤
│ Startup Mode (after hard reset) │
│ [Normal ▼] │
├─────────────────────────────────────────┤
│ WiFi Power Management │
│ ☑️ Enable WiFi │
│ ☑️ WiFi Modem Sleep │
├─────────────────────────────────────────┤
│ Deep Sleep │
│ Duration (seconds): [3600 ] │
│ [Enter Deep Sleep] │
└─────────────────────────────────────────┘

Power Mode

Radio buttons (select one):

⚪ Normal Mode

  • CPU: 160 MHz (fixed)
  • Sleep: None
  • Consumption: ~150-200 mA (with WiFi)
  • Usage: Maximum performance
  • Suitable for:
    • High sampling frequencies (1000+ Hz)
    • Web interface with active use
    • Short-term measurements

⚪ Low Power Mode

  • CPU: 10-80 MHz (dynamic scaling)
  • Sleep: Light sleep between tasks
  • Consumption: ~40-80 mA
  • Usage: Battery operation
  • Suitable for:
    • Long-term measurements
    • Lower frequencies (up to 250 Hz)
    • Battery operation

"Set Power Mode" button:

  • Saves selected mode
  • Device restarts in 2 seconds!
  • Shows countdown: "Restarting in 2 seconds..."

Startup Mode

Dropdown menu:

Normal  ▼
Low Power

Function: Determines mode after hard reset (reset button press, power disconnection)

Difference from Power Mode:

  • Power Mode: Current running mode
  • Startup Mode: Mode after next hard reset

Usage:

  • Set "Low Power" for battery operation
  • Device will always start in power-saving mode

WiFi Power Management

☑️ Enable WiFi

Function: Turns WiFi completely on/off

States:

  • Checked (On): WiFi AP/STA is active (~70-100 mA extra)
  • Unchecked (Off): WiFi disabled (saves ~70-100 mA)

When to turn off:

  • Long-term battery measurement
  • Control via Bluetooth only
  • Maximum power saving

⚠️ Warning: After disabling WiFi, web interface is not available!


☑️ WiFi Modem Sleep

Function: WiFi sleeps between beacons

States:

  • Enabled: Modem sleep on (saves ~20-40 mA)
  • Disabled: WiFi always active (higher consumption, better response)

Advantages:

  • Power saving while maintaining WiFi connection
  • Can still use web interface
  • Minimal impact on response

Disadvantages:

  • Slightly slower ping (~10-50 ms)
  • Possible brief dropouts under heavy load

Recommendation:

  • ✅ Enable for battery operation
  • ☐ Disable for highest WiFi performance

Deep Sleep

┌─────────────────────────────────────────┐
│ Deep Sleep Configuration │
├─────────────────────────────────────────┤
│ Sleep Duration (seconds) │
│ [3600 ] (1-86400) │
│ │
│ Preview: Device will sleep for 1 hour │
│ │
│ [Enter Deep Sleep] ⚠️ │
└─────────────────────────────────────────┘

Duration

Type: Numeric field
Range: 1 - 86400 seconds (1 second - 24 hours)
Default: 3600 (1 hour)

Examples:

  • 60 = 1 minute
  • 600 = 10 minutes
  • 3600 = 1 hour
  • 7200 = 2 hours
  • 43200 = 12 hours
  • 86400 = 24 hours

Preview

Displays human-readable sleep duration:

Device will sleep for 1 hour
Device will sleep for 30 minutes
Device will sleep for 12 hours

"Enter Deep Sleep" Button ⚠️

Function: Enters deep sleep mode

⚠️ WARNING:

  • Device immediately powers down
  • Web interface will not be available
  • Bluetooth will not be available
  • Measurement will stop
  • Wakes only after duration or hard reset

Process:

  1. Click shows confirmation dialog
  2. "Device will enter deep sleep. Continue?"
  3. After confirmation, device immediately powers down
  4. Wakes after set duration
  5. Automatically restarts

Consumption in deep sleep: ~10-50 µA

Wake up:

  • Automatically after duration
  • Press reset button
  • Disconnect and reconnect power

Maximum performance (laboratory):

Power Mode: Normal
WiFi: ✅ Enabled
Modem Sleep: ☐ Disabled
Consumption: ~200 mA

Balanced mode:

Power Mode: Normal
WiFi: ✅ Enabled
Modem Sleep: ✅ Enabled
Consumption: ~120 mA

Power-saving with web:

Power Mode: Low Power
WiFi: ✅ Enabled
Modem Sleep: ✅ Enabled
Consumption: ~60 mA

Maximum saving (BLE only):

Power Mode: Low Power
WiFi: ☐ Disabled
Consumption: ~30-40 mA

Ultra power-saving (periodic measurement):

1. Measurement 10 minutes (Low Power, WiFi off): ~40 mA
2. Deep Sleep 50 minutes: ~0.01 mA
Average consumption: ~8 mA

🏷️ Device (Device Configuration)

┌─────────────────────────────────────────┐
│ Device Configuration │
├─────────────────────────────────────────┤
│ BLE Device Name │
│ [STATOTEST-GEOSNAKE ] │
│ │
│ WiFi Access Point SSID │
│ [STATOTEST-GEOSNAKE- ] │
│ │
│ WiFi Access Point Password │
│ [password ] │
│ │
│ [Save Configuration] │
│ │
│ ⚠️ Device will restart after save │
└─────────────────────────────────────────┘

Configuration Fields

1. BLE Device Name

Function: Device name for Bluetooth
Max length: 31 characters
Default: STATOTEST-GEOSNAKE

Examples:

  • GEOSNAKE-LAB-01
  • GEOSNAKE-FIELD-A
  • Accelerometer-Building-5

Rules:

  • ASCII characters only
  • No spaces (use - or _)
  • Should be unique if you have multiple devices

Usage:

  • Easier identification with multiple devices
  • Organization by location or project

2. WiFi Access Point SSID

Function: WiFi AP network name
Max length: 31 characters
Default: GeoSnake-Config

Examples:

  • MyGeoSnake
  • Lab-ADXL355
  • Monitoring-Device-1

Rules:

  • ASCII characters only
  • Spaces are allowed
  • Should be descriptive

3. WiFi Access Point Password

Function: Password for AP connection
Min length: 8 characters
Max length: 63 characters

Requirements:

  • Minimum 8 characters
  • Recommended: Upper/lowercase + numbers
  • Don't use weak passwords (12345678, password)

Security tips:

  • Change default password!
  • Use combination of letters, numbers, symbols
  • Don't share password publicly

"Save Configuration" Button

Function: Saves changes to NVS (persistent storage)

Process:

  1. Input validation (length, format)
  2. Save to NVS
  3. Display message: "✅ Configuration saved"
  4. Automatic restart in 3 seconds
  5. After restart, new values are used

⚠️ Important:

  • Changes take effect after restart
  • Note new WiFi credentials
  • If you forget password, you must reflash device

Manual Restart

[Restart Device Now]

Function: Immediate device restart

When to use:

  • After configuration change
  • If device not responding correctly
  • To apply power mode changes

Process:

  1. Click shows confirmation
  2. "Restart device now?"
  3. After confirmation, device restarts
  4. Takes ~5-10 seconds

📡 WiFi (WiFi Settings)

┌─────────────────────────────────────────────────────────────┐
│ WiFi Status │
├─────────────────────────────────────────────────────────────┤
│ Mode: Access Point + Station │
│ AP SSID: GeoSnake-Config │
│ AP IP: 192.168.4.1 │
│ │
│ Station Status: ✅ Connected │
│ Connected to: MyNetwork │
│ IP Address: 192.168.1.100 │
│ Signal: -45 dBm (Excellent) ████████░░ │
│ Internet: ✅ Available │
│ │
│ [Disconnect] │
└─────────────────────────────────────────────────────────────┘

WiFi Status

Access Point (AP) Information

Mode: Displays active modes

  • "Access Point only"
  • "Station only"
  • "Access Point + Station" (dual mode)

AP SSID: Your AP network name
AP IP: IP address for web interface access
Default: 192.168.4.1


Station (STA) Information

Station Status: Connection status

Possible states:

  • Disconnected - Disconnected
  • 🟡 Connecting... - Connecting (max 30 seconds)
  • Connected - Connected to network
  • Connection Failed - Connection failed

Connected to: WiFi network name (SSID)

IP Address: Assigned IP address

  • Format: 192.168.X.XXX
  • Use this address for local network access

Signal: Signal strength

-30 dBm: ████████████ Excellent
-45 dBm: ██████████░░ Very Good
-60 dBm: ████████░░░░ Good
-75 dBm: ████░░░░░░░░ Fair
-90 dBm: ██░░░░░░░░░░ Poor

Internet: Internet availability

  • Available - NTP sync, OTA update work
  • Not Available - Local network only

"Disconnect" Button

Function: Disconnects from WiFi network (STA mode)

What happens:

  • Disconnects from external WiFi
  • AP mode remains active
  • Web interface still available via AP
  • IP address changes back to 192.168.4.1

Connect to WiFi

┌─────────────────────────────────────────┐
│ Connect to WiFi Network │
├─────────────────────────────────────────┤
│ [Scan Networks] │
│ │
│ Available Networks: │
│ ⚪ MyNetwork (-45 dBm) 🔒 │
│ ⚪ OfficeWiFi (-52 dBm) 🔒 │
│ ⚪ GuestNetwork (-68 dBm) 🔓 │
│ │
│ Or enter manually: │
│ SSID [ ] │
│ Password [ ] 👁️ │
│ │
│ [Connect] │
└─────────────────────────────────────────┘

Scan Networks

Button: "Scan Networks"

Function: Searches for available WiFi networks

Process:

  1. Click to start scan
  2. Shows "Scanning..." (5-10 seconds)
  3. List of found networks

List contains:

  • Radio button: Network selection
  • SSID: Network name
  • Signal strength: in dBm
  • Security:
    • 🔒 Locked (WPA/WPA2) - requires password
    • 🔓 Open - open network

Sorting: From strongest to weakest signal


Manual Entry

SSID (Network name)

  • Text field
  • Max 32 characters
  • Case-sensitive

Password

  • Type: Password field (hidden characters)
  • Min 8 characters (for WPA2)
  • 👁️ icon: Show/hide password

Usage:

  • If network not visible in scan (hidden SSID)
  • For more precise control

"Connect" Button

Function: Starts connection to selected/entered network

Process:

  1. Input validation (SSID, password)
  2. Send to /connect_wifi
  3. Display "Connecting..." (max 30 seconds)
  4. Status updates to Connected/Failed
  5. On success, IP address is displayed

Possible results:

  • Success: IP address assigned
  • Wrong password: Incorrect password
  • Network not found: SSID not found
  • Timeout: Network not responding

Advanced WiFi Settings

┌─────────────────────────────────────────┐
│ Advanced Settings │
├─────────────────────────────────────────┤
│ DHCP Client: ✅ Enabled │
│ │
│ Static IP Configuration (if disabled): │
│ IP: [ ] │
│ Gateway: [ ] │
│ Netmask: [ ] │
│ DNS: [ ] │
└─────────────────────────────────────────┘

DHCP (Dynamic Host Configuration Protocol):

  • Enabled (default): IP assigned automatically
  • Disabled: Manual configuration

When to use static IP:

  • Need consistent IP address
  • Port forwarding / firewall rules
  • Corporate network with requirements

General GUI Elements

Notifications and Dialogs

Toast Notifications

Small popup messages in top right corner:

┌────────────────────────┐
│ ✅ Measurement started │
└────────────────────────┘

Types:

  • Success (green): Operation successful
  • ℹ️ Info (blue): Information
  • ⚠️ Warning (yellow): Warning
  • Error (red): Error

Duration: 3-5 seconds (automatically disappear)


Confirmation Dialogs

┌─────────────────────────────────────────┐
│ Confirm Action │
├─────────────────────────────────────────┤
│ Are you sure you want to delete │
│ all files? │
│ │
│ This action cannot be undone. │
│ │
│ [Cancel] [Confirm] │
└─────────────────────────────────────────┘

When displayed:

  • Deleting files/folders
  • Delete All Files
  • Restart device
  • Enter Deep Sleep
  • Disconnect WiFi

Progress Bars

Downloading files...
[████████████░░░░░░░░] 60% (6/10)

Usage:

  • Downloading multiple files
  • OTA updates
  • Loading large lists

Shows:

  • Completion percentage
  • Number of completed/total items
  • Current operation

Auto-refresh

Some parts update automatically:

Every 2 seconds:

  • Dashboard → Status Display
  • Dashboard → Current Settings (RTC Time)
  • WiFi → WiFi Status

On action:

  • Files → File list (after delete/download)
  • Schedule → Schedule list (after add/delete)
  • Stats → Statistics (during running measurement)

Manual refresh:

  • 🔄 Refresh button in Files
  • F5 / Ctrl+R in browser

Keyboard Shortcuts

Web interface supports basic keyboard shortcuts:

ShortcutAction
F5Refresh page
Ctrl+RRefresh page
EscClose dialog/modal
EnterConfirm (in dialogs)
TabNavigate between form fields

Offline Mode

Web interface is fully functional even without internet connection:

Works offline:

  • ✅ All tabs and controls
  • ✅ Basic file download (individual)
  • ✅ All API calls (local network)

Requires internet:

  • ❌ ZIP download (requires JSZip from CDN)
  • ❌ NTP time synchronization
  • ❌ OTA firmware updates
  • ❌ Loading external fonts (fallback to system)

Fallback behavior:

  • If JSZip not available → sequential download
  • If NTP fails → use manual setting
  • If OTA server unavailable → display error

Tips for Efficient Use

For Beginners

  1. Start Simple:

    • Begin in Dashboard
    • Use default settings (ODR=62.5 Hz, Range=±2g)
    • Run short test measurement (1-2 minutes)
  2. Check Status Regularly:

    • Monitor Write Errors (should be 0)
    • Check free space on SD
    • Verify correct time
  3. Download Often:

    • Regularly backup data
    • Don't use full SD card
    • Test download on small files

For Advanced Users

  1. Optimize Settings:

    • Adjust ODR by application
    • Use decimation for smaller files
    • Experiment with power modes
  2. Automate:

    • Create schedules for regular measurements
    • Combine with deep sleep
    • Use Bluetooth for unattended operation
  3. Monitor Performance:

    • Track statistics
    • Check Write Errors
    • Optimize consumption

For Developers

  1. Use API:

    • Integrate with custom applications
    • Automate data collection
    • Create custom dashboards
  2. Batch Operations:

    • Download multiple files at once (ZIP)
    • Use bulk delete carefully
    • Implement error handling
  3. Network Optimization:

    • Minimize number of API calls
    • Use caching
    • Implement retry logic

GUI Troubleshooting

Page Won't Load

Problem: Blank page or "Cannot connect"

Solution:

  1. Check WiFi connection (SSID: GeoSnake-Config)
  2. Verify URL: http://192.168.4.1 (not https!)
  3. Try different browser
  4. Turn off VPN
  5. Restart device

Buttons Don't Work

Problem: Clicking has no effect

Solution:

  1. Open browser console (F12)
  2. Check errors in Console tab
  3. Clear cache (Ctrl+Shift+Del)
  4. Try hard refresh (Ctrl+F5)
  5. Use different browser

Data Doesn't Update

Problem: Displayed values are old

Solution:

  1. Click Refresh (🔄)
  2. Check WiFi signal strength
  3. Switch to different tab and back
  4. Refresh page (F5)
  5. Restart browser

Files Won't Download

Problem: Download button doesn't work

Solution:

  1. Check popup blocker (allow popups)
  2. Try downloading single file (not bulk)
  3. Verify free space on computer disk
  4. Try different browser
  5. In offline mode use sequential download

ZIP Download Fails

Problem: "JSZip not available" or ZIP error

Solution:

  1. Check internet connection (JSZip from CDN)
  2. Use sequential download (automatic fallback)
  3. Download fewer files at once
  4. Verify free space in browser RAM

Browser Support

Supported Browsers

BrowserDesktopMobileNote
Chrome✅ v90+✅ v90+Recommended
Firefox✅ v88+✅ v88+Recommended
Safari✅ v14+✅ v14+Some limitations
Edge✅ v90+✅ v90+Chromium-based
Opera✅ v76+✅ v76+Chromium-based
IE 11-Not supported

For best performance:

  • Enable JavaScript
  • Enable cookies
  • Enable local storage
  • Allow popups for 192.168.4.1
  • Disable ad blockers (may block JSZip CDN)

Additional Information

Related documentation:

Support:


Documentation version: 1.0
Date: December 7, 2024
Valid for firmware: v1.2.0+