Talking HRM (hovoriaci monitor srdcovej cinnosti)
Uvod
Tento jednoduchy python script pre platformu symbian umoznuje vyuzivat monitor srdcovej cinnosti od spolocnosti Zephir. Ide o standardny sport tester, ktory vsak dokaze prostrednictvom Bluetooth technologie komunikovat s externym zariadenim, vdaka comu je mozne pouzit mobilny telefon s citacom obrazovky ako nastroj na spracovanie dat zo zariadenia.
Moja aplikacia ponuka zatial len zakladnu funkcionalitu (vid dalsie kapitoly tohoto textu), ktoru planujem rozsirovat (vid kapitolu Todo), je vsak vytvarana tak, aby bola pouzitelna s citacom obrazovky pre symbian (testovane a funkcne s Mobilespeakom, s Talxom som netestoval, nieje vsak dovod, preco by to cele nemalo fungovat aj s nim).
Program v sucasnosti vie komunikovat s modulom Zephir HXM o ktorom mozno najst podrobne informacie na tejto stranke.
Instalacia
Pre beh aplikacie je potrebne mat v telefone nainstalovany python pre symbian s60 a idealne aj python script shell. Aplikacia v sucasnosti nieje zabalena do sis suboru, je obsiahnuta v jednom py subore, ktory je potrebne spustat z python script shellu.
Pri instalacii postupujte nasledovne:
- stiahnite subor prelinkovany vyssie
- rozbalte ho a do telefonu nainstalujte subory python_2.0.0.sis a PythonScriptShell_2.0.0_high_capas.sis v uvedenom poradi
- Odporucam instalovat na kartu, python interpreter zabera pomerne vela miesta
- Stiahnite skript hrm.py a okopirujte ho do priecinka s example scriptami vo vasom telefone (v mojom pripade e:\data\python]
- Teraz mozete script spustit rovnako ako ktory kolvek iny example script (spustite python script shell, v ponuke vyberte run script, sipkami vyberte hrm.py a potvrdte)
Popis programu
Po spusteni je na obrazovke zobrazeny listbox do ktoreho sa pridavaju vystupy programu. Vystupy sa pridavaju vzdy na koniec a po pridani noveho riadka je tento riadok nastaveny ako oznaceny a teda je hned precitany citacom obrazovky.
Okrem toho ma program standardne menu do ktoreho sa da dostat stlacenim laveho vyberoveho klavesu.
Niektore funkcie mozno vyvolat stlacanim cislic na numerickej klavesnici (pozri specialnu kapitolu o klavesovich skratkach)
Stopky
Vsetky funkcie suvisiace so stopkami obsahuje ponuka stopwatch. Stopky mozno spustit a zastavit, obsahuju funkciu medzicas (time) aj standardnu LAP funkciu. Funkcia countdown umoznuje simulovat casovac, ukoncenie casovaca je vsak oznamene len vo vystupnom zozname (nie zvukom). Cas pre casovac mozno zadavat v sekundach a je robeny len pomocou casovaca operacneho systemu, teda jeho presnost moze mat odchylku v milisekundach.
HRM
Rovnomenna ponuka obsahuje vsetku ufnkcionalitu k monitoru srdcovej cinnosti. Mnohe polozky ponuky sa spristupnia az po pripojeni sa k HRM modulu, k dispozicii su funkcie na monitorovanie aktualnej srdcovej frekvencie, rychlosti a prejdenej vzdialenosti (Zephir HXM obsahuje aj akcelerometer a algoritmus, ktory sa pokusa nazaklade otrasov odhadnut rychlost a vzdialenost).
Merana rychlost a vzdialenost je pomerne nepresna, v buducnosti planujem implementovat podporu pre gps a umoznit nastavit prepoctovy koeficient na mieru pre pouzivatela a aktivitu ktoru prave vykonava.
Vsetky polozky ponuky HRM su verim intuitivne a preto nehodne detailneho popisu.
Statistiky
Vsetko k statistikam obsahuje ponuka statistics. Statistiky sa pocitaju po spusteni stopiek alebo casovaca a mozno ich zobrazit alebo resetovat. Zastavenim stopiek sa "zmrazia" aj statistiky, po opetovnom spusteni sa aktualizuju.
Dialog pre reset statistik zobrazuje vsetky aktualne premenne a jednotlive polozky mozno stlacenim tlacidla select zaciarknut. Po potvrdeni lavym vyberovim tlacidlom budu resetovane vsetky zaciarknute polozky. V pripade, ze chcete resetovat vsetky premenne, zaciarknite iba polozku "all".
Funkcia Generate statistics vygeneruje vystup do vystupneho zoznamu a kurzor bude nastaveny na prvom riadku vygenerovaneho vystupu. Statistiky teda po vygenerovani prezerajte sipkami nadol a nahor.
Rozne funkcie
- repeating: ak je zapnute, potom bude v 5 sekundovych intervaloch automaticky vyvolavana funkcia, ktora bola vyvolana ako posledna pred zapnutim opakovania. Funkciu opakovania mozno nastavovat, len ak je opakovanie vypnute. V sucasnosti mozno opakovat vsetky zmysluplne funkcie (funkcia je zmysluplna, ak ma zmysel ju opakovat. Napriklad opakovanie spustania a zastavovania stopiek nieje zmysluplne)
- DBG: funkcia sluzi na ladenie skriptu, mozno nou prepinat vystup na standardny aplikacny, alebo ladiaci, kde sa vo vystupe zobrazuju ladiace informacie pythonu. V ladiacom rezime nefunguju klavesove skratky.
Klavesove skratky
- select: spustenie a zastavenie stopiek
- 1: medzicas na stopkach
- 4: LAP na stopkach
- 0: aktualna srdcova frekvencia
- #: celkova priemerna srdcova frekvencia od spustenia stopiek
- *: ujdena vzdialenost od spustenia stopiek
- 8: Aktualna rychlost namerana z HRM zariadenia
- 9: celkova priemerna rychlost namerana z HRM zariadenia
- 3: prepinanie funkcie repeating
Planovane funkcie
Do programu planujem v dohladnej dobe pridat este prinajmensom zoznam funkcii nizsie. Aplikaciu robim pre vlastnu potrebu a poziadavky od pouzivatelov budu mat velmi pravdepodobne nizsiu prioritu ako uvedeny zoznam.
- GPS: planujem pouzivat meranie rychlosti a vzdialenosti, vystup z HRM je pomerne nepresny
- limity: moznost definovat retaz limitov vzhladom na jeden parameter (srdcova cinnost, aktualna rychlost z gps alebo HRM,...), ktore budu automaticky sledovane a program bude upozornovat, ak bude sledovany parameter mimo nich. Ku kazdemu limitu moznost definovat maximalnu hodnotu, dolnu a hornu hranicu v percentach a trvanie v sekundach.
- perzistencia: ukladanie niektorych dat (maximalne hodnoty pre limity, retaze limitou, adresa HRM zariadenia aby ho nebolo pri kazdom pripajani treba hladat,...)
- Generovanie logov v nejakom csv formate, aby bolo mozne robit neskorsiu analyzu.
Zmeny:
2013-01-02:
Prva verzia skriptu. Ver: 2013.1