2 पॉइंट द्वारा GN⁺ 2025-02-04 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • health data को SQLite database में parse और manipulate करने के लिए Python script
  • Garmin Connect या Garmin watch, FitBit CSV, MS Health CSV files से data download और parse करता है, और Jupyter notebooks का उपयोग करके Sqlite database में मौजूद data का analysis करता है

सुविधाएँ

  • Garmin Connect के "Daily Summary" page से पूरे दिन की heart rate, activity, ascent/descent, stress, intensity minutes आदि का data अपने आप download और import करता है
  • sleep, weight, resting heart rate data को Garmin Connect से extract करके JSON files में save करता है और database में import करता है
  • Garmin Connect से activity files download और import करता है। सभी activities के लिए summary tables और कुछ activity types के लिए detailed data शामिल है
  • daily, weekly, monthly, yearly summaries वाली tables में data को summarize करता है
  • command line या Jupyter notebooks का उपयोग करके data को graph के रूप में दिखाता है
  • downloaded JSON और FIT files को archive करके रखता है ताकि Garmin Connect से दोबारा connect किए बिना या data फिर से download किए बिना database को recreate किया जा सके
  • activities को TCX files में export किया जा सकता है

उपयोग का तरीका

Release

  • GarminDb PyPI पर host किया गया है। इसके लिए Python 3.x चाहिए। latest release install करने के लिए terminal में pip install garmindb चलाएँ
  • GarminConnectConfig.json.example को ~/.GarminDb/GarminConnectConfig.json में copy करें, Garmin Connect username और password जोड़ें, और data की start date adjust करें
  • सारा data download करके database बनाने के लिए garmindb_cli.py --all --download --import --analyze चलाएँ
  • latest data download और import करके database को incremental रूप से update करने के लिए garmindb_cli.py --all --download --import --analyze --latest चलाएँ
  • database file का backup लेने के लिए समय-समय पर garmindb_cli.py --backup चलाएँ

Source से

  • SSH clone method का उपयोग करके GarminDB repository को Git clone करें। submodules में भी SSH का उपयोग होना चाहिए
  • cloned tree में make setup चलाकर data process करने की तैयारी करें
  • GarminConnectConfig.json.example को ~/.GarminDb/GarminConnectConfig.json में copy करें, username और password जोड़ें, और start date adjust करें
  • data import और process करने के लिए make create_dbs एक बार चलाएँ
  • सभी local data को up to date रखने के लिए समय-समय पर make command चलाएँ

Jupyter notebooks

  • database के data का analysis करने के लिए Jupyter notebooks source tree की 'Jupyter' directory में हैं

Plugins

  • plugins users को database में process और store किए जाने वाले data types को बढ़ाने की सुविधा देते हैं। GarminDb में third-party Connect IQ apps और data fields को process करने के लिए पहले से कई plugins मौजूद हैं

1 टिप्पणियां

 
GN⁺ 2025-02-04
Hacker News राय
  • Garth का उपयोग करके authenticate करने वाले apps के साथ सावधानी बरतने की ज़रूरत है। Garmin के साथ integration मुश्किल है

    • Garmin की API और SDK का उपयोग करना कठिन है
    • Garmin Connect से data को FIT files के रूप में export करने का तरीका है
    • Python और Go की open source libraries से FIT files को पढ़ा और parse किया जा सकता है
  • device से मौजूदा data लाने का एक तरीका है

    • device को computer से connect करके file system के रूप में mount किया जा सकता है और .FIT files लाई जा सकती हैं
  • Intervals का उपयोग करके Garmin और Strava से जुड़े data का analysis करना उपयोगी है

    • खासकर rowing से जुड़े metrics बनाए जा सकते हैं, इसलिए यह अच्छा है
  • Garmin को smartphone app पर निर्भर रहने के बजाय ऐसा hardware देना चाहिए जो data को बेहतर तरीके से manage कर सके

    • सिर्फ API access मुश्किल होने की बात नहीं है, बल्कि यह community की राय भी नहीं सुनता
    • ऐसा feature चाहिए जिससे equipment के बिना workouts को filter किया जा सके
  • Garmin का SDK पुराना है और data access सीमित है

    • FIT file format सिर्फ सीमित apps में ही supported है
  • बेहतर data access वाली fitness watch की ज़रूरत है

    • ऐसी watch चाहिए जो real-time health information तक access दे सके
  • मैंने नया Garmin Vivoactive5 खरीदा है, और Garmin की API सबसे अच्छी तो नहीं है, लेकिन मैं संतुष्ट हूँ

    • Apple Watch Series 10 पर विचार किया था, लेकिन battery life और price की वजह से छोड़ दिया
    • hack की जा सकने वाली open watch की ज़रूरत है, और Pebble की वापसी इस खाली जगह को भर सकती है