告别自动运行烦恼:mimotion项目手动步数配置全攻略

告别自动运行烦恼:mimotion项目手动步数配置全攻略

【免费下载链接】mimotion 小米运动刷步数(微信支付宝)支持邮箱登录 【免费下载链接】mimotion 项目地址: https://gitcode.com/gh_mirrors/mimo/mimotion

为什么需要手动控制步数?

你是否曾遇到过开源项目自动运行导致的尴尬:深夜23点突然刷出2万步被好友质疑?或者系统自动生成的步数与你的日常活动规律严重不符?作为小米运动刷步数工具(mimotion)的用户,掌握手动配置步数的方法不仅能让数据更真实可信,还能避免因自动化脚本失控带来的账号风险。

本文将从根本上解决自动运行痛点,通过5个实战步骤,让你完全掌控步数生成逻辑,实现精准、安全、个性化的步数管理。

核心原理与架构解析

mimotion项目的核心功能是通过模拟小米运动(Mi Fit)客户端的API请求,实现步数数据的修改。其工作流程主要包含三个阶段:

mermaid

项目默认采用时间加权算法生成步数,通过get_min_max_by_time函数实现:

def get_min_max_by_time(hour=None, minute=None):
    if hour is None:
        hour = time_bj.hour
    if minute is None:
        minute = time_bj.minute
    time_rate = min((hour * 60 + minute) / (22 * 60), 1)
    min_step = get_int_value_default(config, 'MIN_STEP', 18000)
    max_step = get_int_value_default(config, 'MAX_STEP', 25000)
    return int(time_rate * min_step), int(time_rate * max_step)

该算法会根据当前时间动态调整步数范围,早上步数较低,晚上达到峰值。虽然设计巧妙,但在需要精确控制时就显得不够灵活。

禁用自动运行的完整步骤

1. 理解自动运行触发机制

在分析main.py代码后发现,项目默认通过两种方式触发自动运行:

  1. 定时任务:通过cron_convert.shcron_change_time文件配置的定时任务
  2. 环境变量驱动:检测到CONFIG环境变量时自动执行

要禁用自动运行,我们需要同时处理这两种触发机制。

2. 移除定时任务配置

首先检查并删除项目中的定时任务配置文件:

# 查看当前定时任务配置
cat cron_convert.sh cron_change_time

# 删除自动运行配置
rm cron_convert.sh cron_change_time

这些文件通常包含将项目部署为定时任务的脚本,删除后可防止系统定期自动执行步数修改。

3. 修改入口文件执行逻辑

打开main.py,定位到文件末尾的主执行逻辑:

if __name__ == "__main__":
    # 北京时间
    time_bj = get_beijing_time()
    if os.environ.__contains__("CONFIG") is False:
        print("未配置CONFIG变量,无法执行")
        exit(1)
    else:
        # 初始化参数和执行逻辑...
        execute()

我们需要修改这段代码,添加一个手动执行开关:

if __name__ == "__main__":
    # 北京时间
    time_bj = get_beijing_time()
    # 添加手动执行开关
    MANUAL_RUN = os.environ.get("MANUAL_RUN", "False").lower() == "true"
    if not MANUAL_RUN:
        print("请设置 MANUAL_RUN=true 环境变量以手动执行")
        exit(1)
    if os.environ.__contains__("CONFIG") is False:
        print("未配置CONFIG变量,无法执行")
        exit(1)
    else:
        # 初始化参数和执行逻辑...
        execute()

4. 配置手动步数参数

修改get_min_max_by_time函数,使其优先读取环境变量中设置的固定步数范围:

def get_min_max_by_time(hour=None, minute=None):
    # 优先读取环境变量中的固定步数设置
    fixed_min = os.environ.get("FIXED_MIN_STEP")
    fixed_max = os.environ.get("FIXED_MAX_STEP")
    
    if fixed_min and fixed_max:
        return int(fixed_min), int(fixed_max)
        
    # 否则使用默认的时间加权算法
    if hour is None:
        hour = time_bj.hour
    if minute is None:
        minute = time_bj.minute
    time_rate = min((hour * 60 + minute) / (22 * 60), 1)
    min_step = get_int_value_default(config, 'MIN_STEP', 18000)
    max_step = get_int_value_default(config, 'MAX_STEP', 25000)
    return int(time_rate * min_step), int(time_rate * max_step)

5. 验证手动执行功能

完成上述修改后,我们可以通过以下命令手动执行步数修改:

# 克隆项目仓库
git clone https://gitcode.com/gh_mirrors/mimo/mimotion
cd mimotion

# 配置必要的环境变量
export CONFIG='{"USER":"your_email@example.com","PWD":"your_password"}'
export MANUAL_RUN=true
export FIXED_MIN_STEP=10000
export FIXED_MAX_STEP=12000

# 手动执行步数修改
python3 main.py

手动配置步数的高级技巧

1. 创建快捷执行脚本

为了简化手动执行流程,可以创建一个run_manual.sh脚本:

#!/bin/bash
# 设置固定步数范围(10000-12000步)
export FIXED_MIN_STEP=${1:-10000}
export FIXED_MAX_STEP=${2:-12000}
export MANUAL_RUN=true

# 确保CONFIG变量已设置
if [ -z "$CONFIG" ]; then
    echo "请先设置CONFIG环境变量"
    exit 1
fi

# 执行步数修改
python3 main.py

赋予执行权限并使用:

chmod +x run_manual.sh
./run_manual.sh 8000 10000  # 设置8000-10000步

2. 多账号批量管理

如果需要管理多个账号,可以创建一个账号配置文件accounts.json

{
    "accounts": [
        {"user": "account1@example.com", "password": "pass1"},
        {"user": "account2@example.com", "password": "pass2"}
    ],
    "push_plus_token": "your_token_here"
}

然后修改执行脚本,循环处理每个账号:

#!/bin/bash
# 批量手动执行多账号步数修改

# 读取账号列表
ACCOUNTS=$(jq -c '.accounts[]' accounts.json)

# 设置固定步数
MIN_STEP=10000
MAX_STEP=12000

# 遍历账号并执行
for account in $ACCOUNTS; do
    USER=$(echo $account | jq -r '.user')
    PASS=$(echo $account | jq -r '.password')
    
    echo "正在处理账号: $USER"
    export CONFIG="{\"USER\":\"$USER\",\"PWD\":\"$PASS\"}"
    export FIXED_MIN_STEP=$MIN_STEP
    export FIXED_MAX_STEP=$MAX_STEP
    export MANUAL_RUN=true
    
    python3 main.py
    
    # 等待30秒,避免请求过于频繁
    sleep 30
done

3. 步数规划与日常管理

为了使步数更真实可信,建议根据实际生活习惯制定步数规划表:

日期星期步数范围备注
周一至周五工作日8000-10000模拟正常上下班通勤
周六休息日5000-7000模拟周末轻度活动
周日休息日12000-15000模拟周末户外运动

可以创建一个月度规划脚本monthly_plan.sh,根据日期自动选择合适的步数范围:

#!/bin/bash
# 根据日期自动选择步数范围

# 获取今天是星期几(1-7,1是周一)
DAY_OF_WEEK=$(date +%u)

# 根据星期设置不同的步数范围
if [ $DAY_OF_WEEK -ge 1 ] && [ $DAY_OF_WEEK -le 5 ]; then
    # 工作日
    MIN=8000
    MAX=10000
elif [ $DAY_OF_WEEK -eq 6 ]; then
    # 周六
    MIN=5000
    MAX=7000
else
    # 周日
    MIN=12000
    MAX=15000
fi

# 执行步数修改
./run_manual.sh $MIN $MAX

常见问题与解决方案

1. 环境变量配置不生效

问题:设置了FIXED_MIN_STEPFIXED_MAX_STEP后,步数仍然按照时间算法生成。

解决方案

  • 检查环境变量是否正确设置:echo $FIXED_MIN_STEP $FIXED_MAX_STEP
  • 确保变量值为纯数字,不含引号和单位
  • 检查main.py中是否正确实现了环境变量读取逻辑

2. 账号认证失败

问题:执行时提示"登录异常"或"获取accessToken失败"。

解决方案

  • 检查账号密码是否正确
  • 确认账号是否开启了两步验证(可能导致API登录失败)
  • 尝试手动登录小米运动APP,确认账号状态正常
  • 更换网络环境或等待一段时间后重试(IP限制)

3. 步数不更新到微信/支付宝

问题:小米运动APP中步数已更新,但微信/支付宝未同步。

解决方案

  • 检查小米运动APP中是否已绑定微信/支付宝
  • 在小米运动APP中手动触发同步
  • 确认第三方平台(微信/支付宝)的运动权限已开启
  • 等待10-15分钟,同步可能存在延迟

总结与展望

通过本文介绍的方法,我们成功禁用了mimotion项目的自动运行功能,并实现了手动配置步数的需求。关键步骤包括:

  1. 移除定时任务配置文件
  2. 添加手动执行开关环境变量
  3. 修改步数生成算法,支持固定步数范围
  4. 创建便捷的执行脚本和管理工具

这种方法不仅解决了自动运行带来的困扰,还提供了更灵活、更精准的步数控制方式。未来可以进一步扩展,添加步数历史记录分析、智能推荐合理步数范围等功能,使整个工具更加完善。

掌握手动配置技巧后,你可以根据自身需求,随时调整步数,既避免了自动化带来的风险,又能保持数据的真实性和可信度。记住,技术工具应该服务于人,而非控制人。合理使用开源工具,享受科技带来的便利!

【免费下载链接】mimotion 小米运动刷步数(微信支付宝)支持邮箱登录 【免费下载链接】mimotion 项目地址: https://gitcode.com/gh_mirrors/mimo/mimotion

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值