2 puan yazan GN⁺ 2025-02-04 | 1 yorum | WhatsApp'ta paylaş
  • Sağlık verilerini SQLite veritabanına ayrıştıran ve işleyen Python betiği
  • Garmin Connect veya Garmin saatinden, FitBit CSV ve MS Health CSV dosyalarından veri indirip ayrıştırır; Jupyter notebook kullanarak Sqlite veritabanındaki verileri analiz eder

Özellikler

  • Garmin Connect'in "Daily Summary" sayfasından gün boyu kalp atış hızı, aktivite, tırmanış/iniş, stres, yoğunluk dakikaları gibi verileri otomatik olarak indirir ve içe aktarır
  • Uyku, kilo ve dinlenik kalp atış hızı verilerini Garmin Connect'ten çıkarır, JSON dosyaları olarak kaydeder ve veritabanına aktarır
  • Garmin Connect'ten aktivite dosyalarını indirir ve içe aktarır. Tüm aktiviteler için özet tablolar ve bazı aktivite türleri için ayrıntılı veriler içerir
  • Verileri günlük, haftalık, aylık ve yıllık özetler içeren tablolarda özetler
  • Verileri komut satırı veya Jupyter notebook kullanarak grafikleştirir
  • İndirilen JSON ve FIT dosyalarını arşivleyerek Garmin Connect'e yeniden bağlanmadan veya verileri tekrar indirmeden veritabanını yeniden oluşturabilir
  • Aktiviteleri TCX dosyaları olarak dışa aktarabilir

Kullanım

Sürümler

  • GarminDb, PyPI üzerinde barındırılır. Python 3.x gerektirir. En son sürümü kurmak için terminalde pip install garmindb çalıştırın
  • GarminConnectConfig.json.example dosyasını ~/.GarminDb/GarminConnectConfig.json olarak kopyalayın, Garmin Connect kullanıcı adınızı ve parolanızı ekleyin ve verinin başlangıç tarihini ayarlayın
  • Tüm verileri indirip veritabanını oluşturmak için garmindb_cli.py --all --download --import --analyze çalıştırın
  • En yeni verileri indirip içe aktararak veritabanını kademeli olarak güncellemek için garmindb_cli.py --all --download --import --analyze --latest çalıştırın
  • Veritabanı dosyasını yedeklemek için zaman zaman garmindb_cli.py --backup çalıştırın

Kaynaktan

  • SSH klonlama yöntemiyle GarminDB deposunu Git ile klonlayın. Alt modüller SSH kullanmalıdır
  • Klonlanan ağaçta make setup çalıştırarak veri işleme için hazırlık yapın
  • GarminConnectConfig.json.example dosyasını ~/.GarminDb/GarminConnectConfig.json olarak kopyalayın, kullanıcı adınızı ve parolanızı ekleyin ve başlangıç tarihini ayarlayın
  • Verileri almak ve işlemek için make create_dbs komutunu bir kez çalıştırın
  • Tüm yerel verileri güncel tutmak için make komutunu düzenli olarak çalıştırın

Jupyter notebook

  • Veritabanındaki verileri analiz etmeye yönelik Jupyter notebook'lar kaynak ağacındaki 'Jupyter' dizininde bulunur

Eklentiler

  • Eklentiler, kullanıcıların veritabanında işlenip saklanacak veri türlerini genişletmesine olanak tanır. GarminDb, üçüncü taraf Connect IQ uygulamaları ve veri alanlarını işlemek için zaten birden fazla eklentiye sahiptir

1 yorum

 
GN⁺ 2025-02-04
Hacker News görüşleri
  • Garth kullanarak kimlik doğrulaması yapan uygulamalarda dikkatli olmak gerekiyor. Garmin ile entegrasyon zor

    • Garmin’in API ve SDK’sını kullanmak zor
    • Verileri Garmin Connect’ten FIT dosyası olarak dışa aktarmanın bir yolu var
    • Python ve Go için açık kaynak kütüphanelerle FIT dosyaları okunup yorumlanabiliyor
  • Cihazdan mevcut verileri almanın bir yolu var

    • Cihazı bilgisayara bağlayıp dosya sistemi olarak mount ederek .FIT dosyaları alınabiliyor
  • Garmin ve Strava ile ilgili verileri analiz etmek için Intervals kullanmak faydalı

    • Özellikle kürek sporuyla ilgili metrikler üretebilmesi güzel
  • Garmin, akıllı telefon uygulamasına bağımlı olmak yerine verileri daha iyi yönetebilen donanım sunmalı

    • Yalnızca API erişimi zor değil, aynı zamanda topluluğun görüşlerini de dinlemiyor
    • Ekipman olmadan egzersizleri filtreleyebilme özelliği gerekli
  • Garmin’in SDK’sı eski ve veri erişimi kısıtlı

    • FIT dosya biçimi yalnızca sınırlı sayıdaki uygulama tarafından destekleniyor
  • Veri erişimi daha iyi olan bir fitness saatine ihtiyaç var

    • Gerçek zamanlı sağlık bilgilerine erişebilen bir saat gerekli
  • Yeni bir Garmin Vivoactive5 satın aldım ve Garmin’in API’si ideal olmasa da memnunum

    • Apple Watch Series 10’u düşünmüştüm ama pil ömrü ve fiyat nedeniyle vazgeçtim
    • Hacklenebilir açık bir saate ihtiyaç var; Pebble’ın geri dönüşü bu boşluğu doldurabilir