- สคริปต์ Python สำหรับแยกวิเคราะห์และจัดการข้อมูลสุขภาพเป็นฐานข้อมูล SQLite
- ดาวน์โหลดและแยกวิเคราะห์ข้อมูลจาก Garmin Connect หรือนาฬิกา Garmin, ไฟล์ FitBit CSV, และไฟล์ MS Health CSV แล้วใช้ Jupyter โน้ตบุ๊กเพื่อวิเคราะห์ข้อมูลในฐานข้อมูล Sqlite
ฟีเจอร์
- ดาวน์โหลดและนำเข้าข้อมูลอัตราการเต้นหัวใจตลอดทั้งวัน กิจกรรม การไต่ระดับ/การลดระดับ ความเครียด นาทีความเข้มข้น และข้อมูลอื่น ๆ โดยอัตโนมัติจากหน้า "Daily Summary" ของ Garmin Connect
- แยกข้อมูลการนอน น้ำหนัก และอัตราการเต้นหัวใจขณะพักจาก Garmin Connect บันทึกเป็นไฟล์ JSON และนำเข้าไปยังฐานข้อมูล
- ดาวน์โหลดและนำเข้าไฟล์กิจกรรมจาก Garmin Connect โดยมีทั้งตารางสรุปสำหรับกิจกรรมทั้งหมดและข้อมูลรายละเอียดสำหรับกิจกรรมบางประเภท
- สรุปข้อมูลเป็นตารางที่มีสรุปรายวัน รายสัปดาห์ รายเดือน และรายปี
- แสดงข้อมูลเป็นกราฟผ่านบรรทัดคำสั่งหรือ Jupyter โน้ตบุ๊ก
- เก็บไฟล์ JSON และ FIT ที่ดาวน์โหลดไว้ เพื่อให้สามารถสร้างฐานข้อมูลใหม่ได้โดยไม่ต้องเชื่อมต่อกับ Garmin Connect อีกครั้งหรือดาวน์โหลดข้อมูลซ้ำ
- ส่งออกกิจกรรมเป็นไฟล์ TCX ได้
วิธีใช้งาน
รีลีส
- GarminDb โฮสต์อยู่บน PyPI และต้องใช้ Python 3.x ติดตั้งรีลีสล่าสุดได้โดยรัน
pip install garmindb ในเทอร์มินัล
- คัดลอก
GarminConnectConfig.json.example ไปยัง ~/.GarminDb/GarminConnectConfig.json จากนั้นเพิ่มชื่อผู้ใช้และรหัสผ่าน Garmin Connect และปรับวันที่เริ่มต้นของข้อมูล
- หากต้องการดาวน์โหลดข้อมูลทั้งหมดและสร้างฐานข้อมูล ให้รัน
garmindb_cli.py --all --download --import --analyze
- หากต้องการดาวน์โหลดและนำเข้าข้อมูลล่าสุดเพื่ออัปเดตฐานข้อมูลแบบค่อยเป็นค่อยไป ให้รัน
garmindb_cli.py --all --download --import --analyze --latest
- หากต้องการสำรองไฟล์ฐานข้อมูล ให้รัน
garmindb_cli.py --backup เป็นครั้งคราว
จากซอร์ส
- โคลน Git รีโพซิทอรี GarminDB โดยใช้วิธี SSH clone และซับโมดูลต้องใช้ SSH
- ในทรีที่โคลนมาแล้ว ให้รัน
make setup เพื่อเตรียมพร้อมสำหรับประมวลผลข้อมูล
- คัดลอก
GarminConnectConfig.json.example ไปยัง ~/.GarminDb/GarminConnectConfig.json จากนั้นเพิ่มชื่อผู้ใช้และรหัสผ่าน และปรับวันที่เริ่มต้น
- รัน
make create_dbs หนึ่งครั้งเพื่อนำเข้าและประมวลผลข้อมูล
- รันคำสั่ง
make เป็นระยะเพื่อให้ข้อมูลภายในเครื่องทั้งหมดเป็นปัจจุบันอยู่เสมอ
Jupyter โน้ตบุ๊ก
- Jupyter โน้ตบุ๊กสำหรับวิเคราะห์ข้อมูลจากฐานข้อมูลอยู่ในไดเรกทอรี 'Jupyter' ของซอร์สทรี
ปลั๊กอิน
- ปลั๊กอินช่วยให้ผู้ใช้ขยายประเภทข้อมูลที่ต้องการประมวลผลและจัดเก็บในฐานข้อมูลได้ และ GarminDb มีปลั๊กอินหลายตัวอยู่แล้วสำหรับรองรับแอป Connect IQ และฟิลด์ข้อมูลจากภายนอก
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
ควรระวังแอปที่ยืนยันตัวตนโดยใช้ Garth การทำอินทิเกรชันกับ Garmin ทำได้ยาก
มีวิธีดึงข้อมูลปัจจุบันจากอุปกรณ์โดยตรง
การใช้ Intervals เพื่อวิเคราะห์ข้อมูลที่เกี่ยวข้องกับ Garmin และ Strava มีประโยชน์
Garmin ควรมีฮาร์ดแวร์ที่ช่วยให้จัดการข้อมูลได้ดีกว่า แทนที่จะพึ่งพาแอปสมาร์ตโฟน
SDK ของ Garmin ค่อนข้างล้าสมัยและการเข้าถึงข้อมูลก็มีข้อจำกัด
จำเป็นต้องมีนาฬิกาฟิตเนสที่เข้าถึงข้อมูลได้ดีกว่านี้
เพิ่งซื้อ Garmin Vivoactive5 รุ่นใหม่มา และแม้ว่า API ของ Garmin จะไม่ดีที่สุด แต่ก็พอใจ