news 2026/6/14 23:57:01

做久坐提醒+拉伸指导工具,设定工作时长,久坐超一小时自动提醒,推送三分钟简易拉伸动作(图文步骤),记录每日拉伸次数。

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
做久坐提醒+拉伸指导工具,设定工作时长,久坐超一小时自动提醒,推送三分钟简易拉伸动作(图文步骤),记录每日拉伸次数。

1. 实际应用场景描述

在现代办公环境中,许多白领、程序员、设计师等长时间坐在电脑前工作,容易导致:

- 颈椎、腰椎问题

- 血液循环不畅

- 精神疲劳

虽然知道要活动,但往往忘记或拖延。

本工具适用于办公室、居家办公、学生自习等场景,帮助用户:

- 设定工作时长

- 久坐超过 1 小时自动提醒

- 推送 3 分钟简易拉伸动作(图文步骤)

- 记录每日拉伸次数,形成健康数据

2. 痛点分析

痛点 影响 解决方案

忘记起身活动 健康问题累积 自动提醒

不知道做什么拉伸 动作不科学或放弃 提供标准图文指导

缺乏坚持动力 难以养成习惯 记录数据,可视化进步

提醒方式单一 容易被忽略 可扩展为桌面弹窗/声音/消息推送

3. 核心逻辑讲解

1. 计时逻辑

- 启动后记录开始工作时间

- 每隔 1 小时检查是否超时

- 超时则触发提醒

2. 提醒与推送

- 弹出窗口或打印到终端

- 从预设拉伸动作库中随机选取一组 3 分钟动作

- 显示图文步骤(文本模拟)

3. 数据记录

- 每次完成拉伸,记录日期和次数

- 数据存储在 JSON 文件

- 可统计每日/每周拉伸频率

4. 扩展性

- 接入 GUI(Tkinter/PyQt)

- 接入系统通知(plyer)

- 接入数据库存储长期数据

- 接入 BI 工具分析健康趋势

4. 项目结构

stretch_reminder/

├── data/

│ └── stretch_data.json # 拉伸动作库

│ └── record.json # 拉伸记录

├── modules/

│ ├── __init__.py

│ ├── timer.py # 计时与提醒

│ ├── stretcher.py # 拉伸动作选择与展示

│ └── recorder.py # 记录拉伸次数

├── main.py # 主程序入口

├── README.md # 说明文档

└── requirements.txt # 依赖

5. 核心代码

"modules/timer.py"

import time

class WorkTimer:

def __init__(self, work_minutes=60):

self.work_seconds = work_minutes * 60

self.start_time = None

def start(self):

self.start_time = time.time()

def check_overdue(self):

if self.start_time is None:

return False

elapsed = time.time() - self.start_time

return elapsed > self.work_seconds

"modules/stretcher.py"

import random

STRETCH_DATA = [

{

"name": "颈部放松",

"steps": [

"坐直,缓慢将头向右侧倾斜,左耳靠近左肩,保持15秒",

"换左侧重复",

"前后点头各10次"

]

},

{

"name": "肩部绕环",

"steps": [

"双肩向上耸起,保持5秒",

"向后绕环10次",

"向前绕环10次"

]

},

{

"name": "背部伸展",

"steps": [

"猫牛式:双手双膝撑地,吸气塌腰抬头,呼气拱背低头",

"重复10次"

]

}

]

def get_random_stretch():

return random.choice(STRETCH_DATA)

"modules/recorder.py"

import json

import os

from datetime import date

RECORD_PATH = "../data/record.json"

def record_stretch():

today = str(date.today())

if os.path.exists(RECORD_PATH):

with open(RECORD_PATH, 'r', encoding='utf-8') as f:

data = json.load(f)

else:

data = {}

data[today] = data.get(today, 0) + 1

with open(RECORD_PATH, 'w', encoding='utf-8') as f:

json.dump(data, f, ensure_ascii=False, indent=2)

"main.py"

from modules.timer import WorkTimer

from modules.stretcher import get_random_stretch

from modules.recorder import record_stretch

import time

def main():

work_minutes = int(input("设置工作时长(分钟): ") or 60)

timer = WorkTimer(work_minutes)

print("工作计时开始... (按Ctrl+C停止)")

timer.start()

try:

while True:

time.sleep(10) # 每10秒检查一次

if timer.check_overdue():

print("\n⏰ 您已久坐超过 {} 分钟,请起来活动!".format(work_minutes))

stretch = get_random_stretch()

print(f"\n🧘 推荐拉伸: {stretch['name']}")

for step in stretch['steps']:

print(f" - {step}")

input("完成拉伸后按回车记录次数...")

record_stretch()

print("✅ 今日拉伸次数已记录")

timer.start() # 重置计时

except KeyboardInterrupt:

print("\n程序已退出")

if __name__ == "__main__":

main()

6. README.md

# 久坐提醒 + 拉伸指导工具

基于 Python 的健康辅助工具,定时提醒久坐用户进行拉伸,并记录每日拉伸次数。

## 功能

- 自定义工作时长

- 超时自动提醒

- 随机推送 3 分钟拉伸动作

- 记录每日拉伸次数

## 使用方法

1. 安装依赖:`pip install -r requirements.txt`

2. 运行:`python main.py`

3. 设置工作时长,程序会自动提醒并指导拉伸

## 数据存储

- 拉伸动作库:`data/stretch_data.json`

- 拉伸记录:`data/record.json`

7. 核心知识点卡片

知识点 说明

定时器逻辑 基于时间戳判断是否超时

随机选择

"random.choice" 实现动作随机推送

JSON 数据存储 轻量级持久化记录

模块化设计 分离计时、动作、记录逻辑

大数据与BI延伸 可分析长期健康趋势,生成报表

8. 总结

本项目是一个久坐提醒 + 拉伸指导工具,结合了大数据与商务智能中的数据采集与分析理念,帮助用户养成健康习惯。

后续可扩展:

- GUI 界面(Tkinter/PyQt)

- 系统通知(plyer)

- 数据库存储(SQLite/MySQL)

- BI 可视化(Matplotlib/Power BI 接口)

如果你需要,可以生成

"requirements.txt" 并打包成带 GUI 的完整版本,甚至提供 Web 仪表盘查看拉伸统计。

利用AI高效解决实际问题,如果你觉得这个工具好用,欢迎关注我!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 12:17:11

【简单小项目】从零用C语言实现贪吃蛇

前言:贪吃蛇这个小游戏很适合将前面我们学习到的C语言知识和数据结构中的链表做个总复习并实践,所以本文将带领大家逐步实现贪吃蛇游戏,并学习一些实现这个小游戏所必须掌握的前置知识(win32) 1.小游戏展示 游戏界面&…

作者头像 李华
网站建设 2026/6/15 12:24:33

基于开源AI大模型S2B2C商城系统的无人店铺售卖难点解决方案研究

摘要:本文聚焦无人店铺售卖过程中面临的客户与商品识别、交易判断、商品识别与支付流程等难点,深入探讨人工智能视觉技术结合开源AI大模型S2B2C商城系统在解决这些难题中的应用。通过分析该系统在客户画像构建、商品管理、交易监控及支付流程优化等方面的…

作者头像 李华
网站建设 2026/6/15 12:19:10

未来之窗昭和仙君(六十三)可编程子窗口操作功能—东方仙盟练气期

可编程子窗口操作功能说明书 cyberwin_fairyalliance_webquery 未来之窗昭和仙君 一、功能概述 本功能提供了一系列方法用于操作元素的子节点,特别是针对 iframe 元素的处理,能够获取元素的所有子节点(包括文本节点、注释节点、iframe 内容…

作者头像 李华
网站建设 2026/6/15 14:23:41

Linux驱动学习笔记:SPI子系统中的内核线程初始化

进入(KWorker_Thread) 来源:SPI 子系统的标准机制。在 __spi_sync -> __spi_queued_transfer 内部,代码会将消息挂入队列,并无条件地唤醒后台工作线程 (kthread_queue_work)。时机:虽然用户线程已经开始…

作者头像 李华
网站建设 2026/6/15 16:01:58

Flutter for OpenHarmony:从零开始认识基础组件

Flutter for OpenHarmony:从零开始认识基础组件 作者:灰灰勇闯IT 时间:2026年1月 适用环境:OpenHarmony 4.0 Flutter for OpenHarmony SDK 本文目标:帮助初学者快速掌握在 OpenHarmony 上使用 Flutter 构建 UI 的核心…

作者头像 李华
网站建设 2026/6/15 18:32:30

Redis 高可用进阶(一):主从复制核心逻辑全解析

Redis 高可用进阶(一):主从复制核心逻辑全解析 Redis 主从复制深度解析 Redis 主从复制是 Redis 高可用体系中最基础、也是最核心的能力。很多人会“用”,但未必真正“懂”。真正理解主从复制,你才会明白 Redis 为什么能在大规模分布式系统中稳定运行多年。 本文整合内…

作者头像 李华