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

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

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

此前根据对澳洲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

上一篇:linux中的阻塞机制及等待队列【转】


下一篇:白云区“项目云”大数据平台建成