Přeskočit na hlavní obsah

GeoSnake - Bluetooth Příkazy

Přehled

GeoSnake podporuje ovládání přes Bluetooth Low Energy (BLE) pomocí Nordic UART Service (NUS), který je kompatibilní s aplikacemi jako nRF Connect nebo Bluefruit Connect od Adafruit.

  • Název zařízení: Výchozí STATOTEST-GEOSNAKE (lze změnit pomocí příkazu setname)
  • Service UUID: 6E400001-B5A3-F393-E0A9-E50E24DCCA9E (Nordic UART Service)
  • RX Characteristic: 6E400002-B5A3-F393-E0A9-E50E24DCCA9E (Write)
  • TX Characteristic: 6E400003-B5A3-F393-E0A9-E50E24DCCA9E (Notify)

Textové Příkazy

Všechny příkazy se posílají jako textové řetězce přes RX charakteristiku. Odpovědi přicházejí přes TX charakteristiku.

📊 Měření a Ovládání

start

Spustí měření akcelerometru.

Příklad:

> start
< OK: Measurement started

stop

Zastaví probíhající měření.

Příklad:

> stop
< OK: Measurement stopped

odr <0-10>

Nastaví výstupní datovou frekvenci (ODR) akcelerometru ADXL355.

Parametry:

  • 0 = 4000 Hz
  • 1 = 2000 Hz
  • 2 = 1000 Hz
  • 3 = 500 Hz
  • 4 = 250 Hz
  • 5 = 125 Hz
  • 6 = 62.5 Hz (výchozí)
  • 7 = 31.25 Hz
  • 8 = 15.625 Hz
  • 9 = 7.813 Hz
  • 10 = 3.906 Hz

Příklad:

> odr 6
< OK: ODR set

range <1-3>

Nastaví měřící rozsah akcelerometru.

Parametry:

  • 1 = ±2g (výchozí)
  • 2 = ±4g
  • 3 = ±8g

Příklad:

> range 2
< OK: Range set

⏰ Plánování Měření

schedule YYYY-MM-DD HH:MM:SS [duration_sec]

Naplánuje automatické měření na určitý čas. Parametr duration_sec je volitelný - pokud není zadán, měření běží bez časového limitu.

Příklad:

> schedule 2024-12-25 14:30:00 3600
< OK: Measurement scheduled

> schedule 2024-12-31 23:59:00
< OK: Measurement scheduled

schedule cancel

Zruší první naplánované měření.

Příklad:

> schedule cancel
< OK: Scheduled measurement cancelled

📡 WiFi Ovládání

wifi <ssid> <password>

Připojí se k WiFi síti jako klient (STA režim).

Příklad:

> wifi MyNetwork MyPassword123
< OK: Connecting to WiFi...

wifi on

Zapne WiFi Access Point režim.

Příklad:

> wifi on
< OK: WiFi enabled
< Info: WiFi AP starting...

wifi off

Vypne WiFi pro úsporu energie (~70-100 mA).

Příklad:

> wifi off
< OK: WiFi disabled
< Info: Saves ~70-100mA

modem on

Zapne WiFi modem sleep režim (úspora energie mezi beacony).

Příklad:

> modem on
< OK: WiFi modem sleep enabled
< Info: WiFi sleeps between beacons

modem off

Vypne WiFi modem sleep (WiFi stále aktivní).

Příklad:

> modem off
< OK: WiFi modem sleep disabled
< Info: WiFi always active

🔋 Správa Napájení

power normal

Nastaví normální výkonový režim (160 MHz CPU) a restartuje zařízení.

Příklad:

> power normal
< OK: Normal power mode saved
< Restarting in 2 seconds...

power low

Nastaví nízkoenergetický režim (10-80 MHz CPU + light sleep) a restartuje zařízení.

Příklad:

> power low
< OK: Low power mode saved
< Restarting in 2 seconds...

startup normal

Nastaví normální režim jako výchozí po hard resetu (zapnutí, reset tlačítko).

Příklad:

> startup normal
< OK: Startup mode set to NORMAL
< Info: Used after hard reset (power-on, reset button)

startup low

Nastaví nízkoenergetický režim jako výchozí po hard resetu.

Příklad:

> startup low
< OK: Startup mode set to LOW
< Info: Used after hard reset (power-on, reset button)

deepsleep <seconds>

Přejde do deep sleep režimu na zadaný počet sekund (1-86400).

Příklad:

> deepsleep 3600
< Entering deep sleep...
(zařízení se probudí po 1 hodině)

🕐 Správa Času (RTC)

time

Zobrazí aktuální čas z RTC (DS3231) a Unix timestamp.

Příklad:

> time
< RTC Time: 2024-12-07 14:30:45 (Unix: 1701956445)

synctime

Synchronizuje čas z NTP serveru (vyžaduje připojení k WiFi).

Příklad:

> synctime
< Syncing time from NTP...
< NTP sync completed

settime YYYY-MM-DD HH:MM:SS

Nastaví čas manuálně a synchronizuje s RTC DS3231.

Příklad:

> settime 2024-12-07 15:00:00
< OK: Time set and RTC synchronized

🏷️ Konfigurace Zařízení

setname <name>

Nastaví nový název BLE zařízení (1-31 znaků). Vyžaduje restart.

Příklad:

> setname GEOSNAKE-LAB-01
< OK: BLE name will be 'GEOSNAKE-LAB-01' after restart
< Use 'restart' command to apply changes

setap <ssid> <password>

Nastaví SSID a heslo pro WiFi Access Point režim. Vyžaduje restart.

Příklad:

> setap MyGeoSnake SecurePass123
< OK: AP will be 'MyGeoSnake' after restart
< Use 'restart' command to apply changes

ℹ️ Informace a Diagnostika

status

Zobrazí kompletní stav zařízení včetně času, režimu napájení, statistik měření, stavu SD karty a plánovaných měření.

Příklad:

> status
< === Device Status ===
< Time: 2024-12-07 14:30:45
< Power Mode: NORMAL
< Measurement: RUNNING
< Samples: 125000
< Files: 3
< Errors: 0
< SD Card: 28.5 GB free / 32.0 GB total
< Schedules: 1 active / 2 total

stats

Zobrazí statistiky probíhajícího nebo posledního měření.

Příklad:

> stats
< Measurement Statistics:
< Total samples: 125000
< Files created: 3
< Elapsed time: 2h 15m 30s
< Write errors: 0

version

Zobrazí informace o firmware a hardwaru.

Příklad:

> version
< Firmware: v1.2.0
< Device: STATOTEST GEOSNAKE
< Hardware: ESP32-C6-MINI-1-N4
< Sensor: ADXL355

help

Zobrazí seznam všech dostupných příkazů.

Příklad:

> help
< Commands:
< start - Start measurement
< stop - Stop measurement
< odr <0-10> - Set ODR (6=62.5Hz)
< range <1-3> - Set range (1=2g, 2=4g, 3=8g)
< ...

🔄 Systémové Příkazy

restart / reboot

Restartuje zařízení.

Příklad:

> restart
< OK: Restarting device in 2 seconds...

Binární Příkazy (Legacy)

Pro zpětnou kompatibilitu jsou podporovány i binární příkazy (méně používané):

KódPříkazPopis
0x01StartSpustí měření
0x02StopZastaví měření
0x03Set ODRNastaví ODR (následuje hodnota 0-10)
0x04Set RangeNastaví rozsah (následuje hodnota 1-3)
0x05Get StatusZíská status

Doporučení: Používejte textové příkazy pro lepší čitelnost a širší funkcionalitu.


Použití s mobilními aplikacemi

nRF Connect (Android/iOS)

  1. Nainstalujte aplikaci nRF Connect
  2. Vyhledejte a připojte se k zařízení STATOTEST-GEOSNAKE
  3. Najděte Nordic UART Service (UUID: 6E40...)
  4. Zapněte Notify na TX charakteristice
  5. Použijte Write na RX charakteristice pro odesílání příkazů
  6. Odpovědi uvidíte v notifikacích TX charakteristiky

Bluefruit Connect (iOS/Android)

  1. Nainstalujte aplikaci Bluefruit Connect
  2. Připojte se k zařízení STATOTEST-GEOSNAKE
  3. Vyberte režim UART
  4. Příkazy můžete psát přímo do textového pole
  5. Odpovědi se zobrazí v konverzačním okně

Tipy a Triky

  • Automatizace: Vytvořte si vlastní skripty v mobilní aplikaci pro rychlé spouštění často používaných sekvencí příkazů
  • Úspora baterie: Kombinujte wifi off + power low + modem on pro minimální spotřebu
  • Dlouhodobé měření: Použijte schedule pro automatické spouštění měření v určitý čas
  • Diagnostika: Pravidelně kontrolujte status pro zjištění stavu SD karty a chybových stavů
  • Time sync: Po připojení k WiFi vždy spusťte synctime pro přesný časový údaj

Řešení Problémů

Zařízení neodpovídá na příkazy:

  • Zkontrolujte, zda je zapnutá notifikace na TX charakteristice
  • Ujistěte se, že píšete do správné (RX) charakteristiky
  • Příkazy musí být textové řetězce zakončené newline

Příkazy vrací ERROR:

  • Zkontrolujte správnost syntaxe příkazu pomocí help
  • Některé příkazy vyžadují WiFi připojení (např. synctime)
  • Hodnoty parametrů musí být v platném rozsahu

BLE připojení je nestabilní:

  • Zařízení může být příliš daleko (max ~10 metrů)
  • Interference od jiných WiFi/BLE zařízení
  • Zkuste vypnout WiFi pomocí wifi off pro stabilnější BLE