拯救你的久坐不起!用树莓派改造站立式办公桌:在随机时间升降,还有阻力检测功能

简介: 拯救你的久坐不起!用树莓派改造站立式办公桌:在随机时间升降,还有阻力检测功能

不知道有多少家长和文摘菌的一样,每次打电话都要强调身体问题,尤其是久坐了一定要站起来走走。

虽然有时候会很不耐烦,但这个说法并不是没有科学依据。

此前根据对澳洲63,048位中年男性的调查,每天坐着超过4小时就会显著增加诸如高血压、心脏病、糖尿病、癌症等慢性病的风险,坐的时间越久,得这些病的可能性越高。

更可怕的是,得病的几率和身体BMI无关,也就是说,就算是养成了每天健身的习惯,也挽回不了久坐对身体的危害。

这也同样引起了一位medium博主David Kong的担忧,对他来说,每天都有47%的清醒时间在工作,如果一直保持坐着的姿态,那必然对身体会造成极大的负担。

而作为一位慢生产力黑客,Kong十分喜欢对周围的事物进行优化,比如他现在的这个电动的坐立办公桌。

但很快Kong发现,这张办公桌并没有帮助他改善成天坐立不起的状态,哪怕他在手机上设置了提醒事项,但也会心理作祟,“我现在太累了,再坐一会我就站起来”。

于是,Kong决定对他的办公桌优化一下,让办公桌能按计划站起来。

Kong表示,自己从一开始并不期待这个项目能成功,那么最终结果怎样呢,来和文摘菌一起看看吧~

站立式办公桌大改造计划

首先,我们把这个桌子拆开看看。

取下几颗螺丝后,可以看到一排整齐排列的针脚。虽然这些针脚并不是专门为需要高效率的工作人群准备的,但也算是“歪打正着”,等会儿它们可有着大用处。

正确连接控制盒中的引脚,随即便可模拟按下控制盒前面的按钮。

真正需要做的是按一个按钮,将桌子升到站立高度。Kong表示,他并不担心站得太久,因此也就不需要过于复杂的控制器,在坐和站之间来回切换。最关键的是,大概每隔一小时左右,就把桌子升上去。

Kong发现,每隔30-60分钟在坐和站之间切换,是他保持活跃的好方法,不仅可以改善姿势,还能有效减少背部/颈部/膝盖的疼痛。

这个办公桌上有几个可编程的按钮,按下后可以直接将办公桌升到预设的高度,比如按钮1为坐姿高度,按钮2为站姿高度。

当把左边第三个针脚和右边第二个针脚连接起来时,按钮2的信号被发送到了控制书桌的微控制器上。他在这两个针脚上各焊了一根线,连接起来时,就可以使桌子升高。

那么,我们怎么以自动化的方式连接这些电线呢。

我们知道,继电器是一种简单的芯片,当在控制引脚上发送一个小电流时,它允许你连接两条线。继电器种类也有很多,在这里我们选择一个有4个引脚的固态继电器,东芝TLP222A,该继电器大约只有6毫米宽。

现在,还需要一些方法在控制引脚上以固定的时间间隔发送小电流。

再介绍一种常见的小芯片,555定时器。它的功能就是以固定的时间间隔连接电路,不过该定时器是为非常短的时间间隔而设计的,当试图把间隔提高时,就变得不那么可靠了。

于是,在这里我们可能需要在一个更复杂的电路中使用一系列的555计时器,不过,可以想见其复杂程度了。

与此同时,Kong订购了一个最简单最基本的Raspberry Pi Zero,但它已经能满足这个简单项目的所有需求了。

由于这个项目不需要用到完整的图形界面,也就没必要去连接显示器和带有键盘和鼠标的USB接口。Kong决定,只用自己的Macbook为树莓派编程。

树莓派没有以太网端口,所以在安装上进行了一些调整,使能够通过USB从Macbook SSH连接到树莓派。

现在就有了一个运行树莓派的终端。

SD卡上的Raspbian操作系统已经安装了Raspberry Pi Python库,所以还需要为其编程。

整个过程要做的,就是打开Python终端,输入import gpiozero,准备好用Python脚本来控制我的引脚,继而触发继电器并移动桌子。

在这里,Kong写了一个极其简单的Python脚本,在45到60分钟之间的一个随机时间间隔内触发树莓派上的一个GPIO引脚。

据Kong本人描述,之所以选择一个随机的时间间隔,是因为他不想去计划和期待桌子上升,而是希望它更加有机和不自觉。

当然,如果你有不同的节奏和想法,也可以调整下面的脚本。

from gpiozero import LED # The LED library allows easy pin control
from time import sleep
import randomrelay = LED(17) # I connected the relay to pin 17 and groundwhile True:

    relay.on()
    sleep(1)
    relay.off()
    sleep(random.randint(45, 60) * 60)

将脚本保存到/home/pi/Documents/moveDesk.py中,然后在/etc/rc.local中添加一行:

python /home/pi/Documents/moveDesk.py

将命令添加到/etc/rc.local中,意味着它将在树莓派启动时始终运行。

然后把两根线从桌子的控制板上焊接到继电器的两个“输出”引脚上,把继电器的两个控制引脚直接焊接到树莓派上。

最后,把树莓派插入一个USB电源,这个桌子就能正常工作了。

不仅学会了使用树莓派,还养成了健康的节奏

根据Kong的“售后体验”,这个桌子已经完美无缺地运行了几个月,目前也没有必要进行调整。随机的45-60分钟间隔效果很好,他每天都有了更多的时间站立。

在设计这个桌子之前,Kong尝试了各种方法,但都会以分散注意力作为代价,而且还不得不有意识地选择站立,以使自己保持坐和站的健康节奏。现在,这种健康的节奏是自动发生的,有时候,办公桌开始向上移动时,他也会不自觉地跟着站起来。

需要注意的是,这张桌子有一个阻力检测功能。如果办公桌开始上升,遇到一些物体的阻挡,它就会停止并倒退回去。如果不这样安排的话,当本人不在身边时,办公桌自行上升,可能会打破一些东西或伤害到别人。

Kong表示,他知道用一个Linux服务器来移动办公桌的升降是非常过分的。但是它又便宜又简单,还让他学会了如何使用树莓派,何乐而不为呢?

不过,由于疫情影响,Kong已经搬离了这个办公楼,目前他们在WeWork的新办公区,这里可没有站立式办公桌。Kong表示,他会试图进行一些探索,就让我们期待一下吧~

相关报道:
https://medium.com/@davidkongfilm/how-i-hacked-my-standing-desk-with-a-raspberry-pi-a50ed14c7f6f

相关文章
|
1月前
|
编解码
Jetson 学习笔记(十四):降低远程操控延时-修改屏幕分辨率
这篇文章是关于如何通过修改屏幕分辨率来降低Jetson Nano在远程操控时的延时。
58 3
Jetson 学习笔记(十四):降低远程操控延时-修改屏幕分辨率
|
缓存 网络协议 数据挖掘
如何使用弱网环境来验证游戏中的一些延迟问题
如何使用弱网环境来验证游戏中的一些延迟问题
|
存储 数据采集 监控
时间窗口分析:优化上网行为管理软件性能的关键策略
有一句古话说得好,谋定而后动。今天咱们来聊一下如何通过时间窗口的分析算法来提高上网行为管理软件的性能。这个方法绝对是个赢家,不仅能帮你辨识和应对网络上的古怪行为,还能让带宽用得更明智,网络安全护航,非常厉害!以下是通过时间窗口的分析算法可以有效提高上网行为管理软件的性能的一些方法和步骤——
197 0
|
监控 算法 调度
转:时间片轮转算法对电脑监控软件的影响
时间片轮转算法是操作系统中常用的一种进程调度算法,它就像是个大调度师,负责把CPU时间切成小块,让一帮进程轮番上阵,保证大家都有公平的机会争夺计算力,好让系统不再卡顿。现在,要是把这时间片轮转算法和电脑监控软件捆绑在一起,就像是一对独特的组合拳,会激发出一堆影响。比如监控效率会变得咋样,员工的个人秘密会不会被窥探,还有系统的资源会不会被合理利用,用户体验会不会哭唧唧?下面,我们就一起来探讨一下时间片轮转算法对电脑监控软件的影响——
92 0
|
数据库
机房重构上下机时间记录问题
机房重构上下机时间记录问题
84 0
|
存储 运维 监控
一个开关就让服务网格变快 —— 概述篇
作为业内首个全托管Istio兼容的阿里云服务网格产品ASM,一开始从架构上就保持了与社区、业界趋势的一致性,控制平面的组件托管在阿里云侧,与数据面侧的用户集群独立。ASM产品是基于社区Istio定制实现的,在托管的控制面侧提供了用于支撑精细化的流量管理和安全管理的组件能力。通过托管模式,解耦了Istio组件与所管理的K8s集群的生命周期管理,使得架构更加灵活,提升了系统的可伸缩性。从2022年4月
一个开关就让服务网格变快 —— 概述篇
[解决]:【TeamViewer作为个人用途免费,但仅可使用在有限数量的设备上。您已经到达可使用设备的上线】
[解决]:【TeamViewer作为个人用途免费,但仅可使用在有限数量的设备上。您已经到达可使用设备的上线】
428 0
|
Kubernetes 监控 安全
一个开关就让服务网格变快——实验篇
作为业内首个全托管Istio兼容的阿里云服务网格产品ASM,一开始从架构上就保持了与社区、业界趋势的一致性,控制平面的组件托管在阿里云侧,与数据面侧的用户集群独立。ASM产品是基于社区Istio定制实现的,在托管的控制面侧提供了用于支撑精细化的流量管理和安全管理的组件能力。通过托管模式,解耦了Istio组件与所管理的K8s集群的生命周期管理,使得架构更加灵活,提升了系统的可伸缩性。从2022年4月
一个开关就让服务网格变快——实验篇
一个解决视频切换花屏的方案
指挥传递RTP的是RTCP,那么RTCP中有没有介绍传递I帧的命令呢?我抱着这样的疑问进行了下搜索,解决方法RFC已经帮我们定义好了。
一个解决视频切换花屏的方案