我用树莓派黑了我的站立式办公桌

2021-07-25 21:56:11

我是一个长期的生产力黑客。我喜欢优化一切,尤其是我的工作设置。我认为,考虑到我大约 47% 的醒着时间都花在工作上,因此非常慎重地让我的工作体验达到最佳状态是很有意义的。像今天的许多上班族一样,我在工作时有一张电动坐站两用办公桌。 (我在家里自制了自己的机械式坐站两用办公桌,但那是另外一回事了) 刚开始使用时,我非常兴奋,但很快我发现自己整天坐着,尽管办公桌很花哨。我发现很难养成站立的习惯。我什至尝试在手机上设置提醒以站起来,但即便如此,也太容易忽略,也太容易说“我现在很累。几分钟后我会站起来。”所以我决定看看是否有某种方法可以让我的办公桌自动化,这样它就会按计划上升,无论我是否愿意站立。坦率地说,我没想到这个工程项目会成功,但我想我会试着拆开我办公桌的控制箱,看看里面有什么。

我取下几个螺丝,然后……瞧!一排针整齐地暴露在正前方。我想它们是为了测试而添加的,也许?我不认为 Poppin 在设计这些盒子时会想到像我这样的生产力黑客,但这些别针正是我所需要的。我的控制箱中的引脚在正确连接时模拟了按下控制箱正面的按钮。我真正需要做的就是按下一个按钮:这个按钮可以将桌子升高到站立高度。我不担心太多的站立(我累了一段时间后自然坐下),所以我不需要一个复杂的控制器来在坐和站之间以及各种间隔之间来回切换。我所需要的只是每隔一小时左右把桌子送上来。我发现每 30-60 分钟在坐和站之间切换是保持活跃、改善姿势和减少背部/颈部/膝盖疼痛的好方法。我的桌子上有几个可编程按钮,按下后可将桌子直接发送到预设高度,我已经将按钮 1 设置为我的坐姿高度,将按钮 2 设置为我的站立高度。当我将左侧的第三个引脚与右侧的第二个引脚连接时,将按钮 2 信号发送到控制桌子的(我假设)微控制器。我在每个引脚上焊接了一根电线,所以现在我有两根电线,当连接时,可以抬高我的桌子。下一个问题是如何以自动化方式连接这些电线。显而易见的答案是继电器。

继电器是一个简单的芯片,当您通过控制引脚发送小电流时,它允许您连接两根电线。继电器的种类很多,但我选择了一个非常简单的 4 针固态继电器,即东芝 TLP222A。它很小(大约 6 毫米宽)。现在,我需要某种方法来定期通过控制引脚发送小电流。有一个很常见的小芯片叫做555定时器。它完全符合我的要求(以固定间隔连接电路),但它是为非常短的间隔(例如不到一秒)而设计的,并且当您尝试将其提高到 1000 时变得不那么可靠。我可能需要更复杂的电路中的一系列 555 定时器。绝对可行,但不是那么简单,而且以后更改间隔会很复杂。另一方面,多年来我一直在等待一个使用 Raspberry Pi 的借口,这似乎是一个绝佳的机会,所以我决定使用 Raspberry Pi。我订购了 Raspberry Pi Zero,这是最简单、最基本的版本。它没有所有的花里胡哨,但它为这个简单的项目提供了我需要的一切,而且只需 5 美元(!)。我从 Ada Fruit 订购了 Pi Zero、一个外壳和一张带有 Raspbian 操作系统的 Micro SD 卡。总共约20美元。对于这个简单的项目,我不需要完整的图形界面,所以我没有费心连接显示器和带有键盘和鼠标的 USB 集线器。我决定只用我的 Macbook 为 Pi Zero 编程。 Pi Zero 没有以太网端口,因此对安装进行了一些调整,允许我通过 USB(使用 USB“数据线”)从我的 Macbook SSH 到我的 Pi。很酷吧? SD 卡上的 Raspbian 操作系统已经安装了 Raspberry Pi Python 库,所以我已经准备好开始对 Pi 进行编程了。

我所要做的就是打开一个 Python 终端,输入 import gpiozero,然后我准备好用 Python 脚本控制我的引脚(触发继电器并移动桌子)。我编写了一个非常简单的 Python 脚本,它以 45 到 60 分钟之间的随机间隔触发我的 Pi 上的一个 GPIO 引脚。我选择了一个随机间隔,因为我不想计划并期望桌子上升,计算间隔之间的时间量。我希望它更有机、更无意识。如果您希望您的办公桌以不同的节奏移动,可以很容易地调整下面的脚本。 from gpiozero import LED # LED 库允许简单的引脚控制 from time import sleep import random relay = LED(17) # 我将继电器连接到 pin 17 和接地,而 True:relay.on() sleep(1) relay.off( ) sleep(random.randint(45, 60) * 60) 将命令添加到 /etc/rc.local 意味着它会在树莓派启动时一直运行(并且永远运行)。如果 Pi 因任何原因断电,我不想通过 SSH 重新启动脚本。然后我将两根电线从桌子的控制板上焊接到继电器的两个“输出”引脚上,然后将继电器的 2 个控制引脚直接焊接到 Pi 上。凌乱,不是很优雅,但我认为这将在它的余生中隐藏在我的桌子下,所以我没有太费心去把它弄得漂亮。

然后我只是将 Pi 插入 USB 电源块,然后……它起作用了! 🙌 就是这样。我把 Pi 塞在桌子底下的其他一些电缆下面,将电线固定到位以确保我没有踩到它们,然后我就开始参加比赛了。它已经完美运行了几个月了,我根本不需要调整它。结果证明,随机的 45-60 次间隔对我来说非常棒,而且我现在每天站立的时间更多,这对我的背痛有很大影响。在进行此设置之前,我必须使用通知(分心 - 不利于集中注意力)作为提醒,并且我还必须有意识地选择站立(自我消耗),以使自己保持健康的坐姿和站立节奏。现在,健康的节奏会自动发生。有时,桌子开始向上移动,我在它上升时不自觉地站起来,甚至没有意识到发生了什么。注意:我在大流行前完成了所有这些工作。从那以后,我们公司已经超出了那个办公室,搬到了一个由 Wework 管理的新空间......那里没有任何站立式办公桌😢我现在正在探索新的方法来破解我的新工作设置。