佳明平替真香!💰99元小米体重秤加脚本完美数据同步(附教程)
对很多严肃跑者来说,佳明的数据生态可能是无可替代的。但面对官方配件,大家往往会犹豫:一块 Garmin Index S2 体脂秤售价高达 ¥1000+,而国产的小米/米家体脂秤只要 ¥99,硬件素质甚至不输大牌。
garmin index s2 vs 小米s400痛点来了: 小米的数据只能留在“小米运动健康”,佳明 Connect 里空空如也。每天手动录入体重?太麻烦了,而且无法同步体脂率、骨量等详细数据。
解决方案: 今天介绍一个 四鸽@热心市民黄先生开发的开源神器——garmin-weight-sync。它能全自动抓取你的小米体脂秤数据,生成佳明官方兼容的 FIT 文件,并上传到 Garmin Connect。
你的小米 S400,从此就是“Garmin Index S2 青春版”!
✨ 核心功能亮点
全自动同步:告别手动输入,支持体重、体脂率、肌肉量等全维度数据。
原生兼容:生成标准的 .fit 文件,佳明服务器“以为”你是用官方秤上传的。
支持多型号:完美支持最新的小米体脂秤 S400(以及其他云麦代工型号)。
一次配置,永久运行:配置好后支持定时任务,每天凌晨自动同步。
🛠️ 保姆级部署教程
别被代码吓到,其实只需要三步,有电脑就能搞定。
1. 环境准备
你需要一台电脑(Windows/Mac/Linux 均可),并安装 Python 3.12+。
注意:Python 3.14 版本目前有兼容性问题,建议使用 3.12 或 3.13。
安装时务必勾选 "Add Python to PATH"。
2. 下载与安装
打开终端(CMD),输入以下命令拉取项目并安装依赖:
# 1. 克隆项目(或者直接去 GitHub 下载压缩包解压) git clone https://github.com/XiaoSiHwang/garmin-weight-sync cd garmin-weight-sync # 2. 安装依赖包 pip install -r requirements.txt
3. 核心配置(关键!)
在项目目录下新建一个 users.json 文件,复制以下内容并修改:
{ "users": [ { "username": "你的小米账号(手机号)", "password": "你的小米密码", "model": "yunmai.scales.ms103", "token": { "userId": "", "passToken": "", "ssecurity": "" }, "garmin": { "email": "佳明账号邮箱", "password": "佳明密码", "domain": "CN" } } ] }
💡 划重点:
如果你用的是小米 S400,model 填 yunmai.scales.ms103。
国区佳明账号,domain 填 CN;国际区填 COM。
4. 首次运行与授权
为了安全,小米登录需要一次手动验证。在终端运行:
python src/xiaomi/login.py --config users.json
程序会自动弹出浏览器或提示输入短信验证码。看到 ✅ Login SUCCESS! 即表示授权成功,Token 会自动保存,以后不用再输密码了。
5. 开始同步!
见证奇迹的时刻,运行主程序:
python src/main.py --config users.json --sync
几秒钟后,打开你的 Garmin Connect App,你会发现体重曲线已经完美更新!📉
🧠 高手进阶:全自动挂机
如果你有一台 24 小时开机的 NAS、软路由或者服务器,可以设置一个 Cron 定时任务,每天凌晨自动执行同步:
# 每天凌晨 02:00 自动同步(搜索在线Cron表达式生成器可以研究如何调整下面的表达式) 0 2 * * * cd /你的路径/garmin-weight-sync && python src/main.py --sync
从此以后,你只需要早上踩一下秤,数据就会自动流转到佳明,无需任何操作。
🛡️ 常见问题
Q: 佳明那边显示“Duplicate”是报错吗?
A: 不是。这说明数据已经存在了,佳明自动跳过了重复数据,是正常现象。
Q: 为什么我的 S400 获取不到数据?
A: 确保你的小米运动健康 App 里已经有了数据,并且 users.json 里的 model 填写正确。
Q: 账号安全吗?
A: 所有账号密码只保存在你本地的 users.json 文件里,不会上传给任何人。请保护好这个文件。
Q: 账号支持那些小米秤?
A: 所有理论上支持小米运动健康里绑定的所有体脂秤(目前看有下面4款)。如果默认 model 无法获取数据,请尝试在 App 内查看设备的插件信息获取对应 ID。
最后:
科技改变生活,代码省下钱包。
既然能用 Python 解决的问题,为什么还要多花 1000 块冤枉钱呢?🏃♂️💨
Have fun~
项目开源地址:https://github.com/XiaoSiHwang/garmin-weight-sync
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

值友8221856305
校验提示文案
值友8221856305
校验提示文案