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říkazusetname) - 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 Hz1= 2000 Hz2= 1000 Hz3= 500 Hz4= 250 Hz5= 125 Hz6= 62.5 Hz (výchozí)7= 31.25 Hz8= 15.625 Hz9= 7.813 Hz10= 3.906 Hz
Příklad:
> odr 6
< OK: ODR set
range <1-3>
Nastaví měřící rozsah akcelerometru.
Parametry:
1= ±2g (výchozí)2= ±4g3= ±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ód | Příkaz | Popis |
|---|---|---|
| 0x01 | Start | Spustí měření |
| 0x02 | Stop | Zastaví měření |
| 0x03 | Set ODR | Nastaví ODR (následuje hodnota 0-10) |
| 0x04 | Set Range | Nastaví rozsah (následuje hodnota 1-3) |
| 0x05 | Get Status | Zí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)
- Nainstalujte aplikaci nRF Connect
- Vyhledejte a připojte se k zařízení
STATOTEST-GEOSNAKE - Najděte Nordic UART Service (UUID:
6E40...) - Zapněte Notify na TX charakteristice
- Použijte Write na RX charakteristice pro odesílání příkazů
- Odpovědi uvidíte v notifikacích TX charakteristiky
Bluefruit Connect (iOS/Android)
- Nainstalujte aplikaci Bluefruit Connect
- Připojte se k zařízení
STATOTEST-GEOSNAKE - Vyberte režim UART
- Příkazy můžete psát přímo do textového pole
- 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 onpro minimální spotřebu - Dlouhodobé měření: Použijte
schedulepro automatické spouštění měření v určitý čas - Diagnostika: Pravidelně kontrolujte
statuspro zjištění stavu SD karty a chybových stavů - Time sync: Po připojení k WiFi vždy spusťte
synctimepro 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 offpro stabilnější BLE