大数跨境
0
0

“随便”=地狱开局?程序员手搓Flutter代码+焊接树莓派,终结女友的“今晚吃什么”世纪难题

“随便”=地狱开局?程序员手搓Flutter代码+焊接树莓派,终结女友的“今晚吃什么”世纪难题 GitCode开源探索
2025-09-10
0
导读:技术不只是工作中的工具,还可以是生活关系的润滑剂。

男:“今晚吃什么?”

女:“随便。”

男:“火锅?”

女:“不行,味道太大。”

男:“烤肉?”

女:“太油腻,我要减肥。”

……

男:“那你想吃什么?”

女:“随便!!!”

现实生活中,不少人都经历过这种循环对话,轻则无奈,重则二人还能吵上一架。对普通人来说,这是日常困扰;对高情商的人来说,是考验;而在程序员眼里,这就是一个亟待优化的“决策问题”。

日前,为了让生活更轻松,一位名为 Makerinator 的软件工程师就想出了一个相当极客的解决办法。他自制了一台名叫 Decisioninator 的小设备,帮情侣解决每天最难的问题——“今晚到底吃什么?” ,自己还笑称它“拯救了我的婚姻”。


01

从“吃什么”到“全能决策机”

乍一看,Decisioninator 有些像 80、90 后记忆中游戏厅里的“老虎机”,等你按下按钮来博一把运气。

图片

其实玩法也差不多——正如上图所示,Decisioninator 上面显示着一长串餐厅标识,一个红的一个蓝的。左边的大红按钮负责“开转盘”,右边的小蓝按钮则是“换模式”,比如:今晚去哪家餐厅、家务该怎么分、约会去哪儿,或者电影夜该看什么。

没错,本来它只是为了解决情侣们最经典的世纪难题——“晚饭吃啥?”。结果 Makerinator 玩着玩着,就把应用场景扩展到一堆生活小难题:谁洗碗、去哪儿约会、晚上可以看什么电影……都能交给它来决定。

以选择“吃什么”为例,按下按钮后,虚拟转盘会“旋转”,直到选中其中一家餐厅。一旦机器发出声音,所有情侣、夫妻之间的争论就结束了。

Makerinator 打趣道,Decisioninator 简直就是犹豫症患者的终极解题器,让那些原本可能引发小争吵的问题瞬间迎刃而解。


02

幕后英雄: Raspberry Pi + Flutter

据 Makerinator 介绍,Decisioninator 这款“决策神器”是他第二次尝试的结果。

第一次实践是在几年前,他组装了一个焊接套件,上面的 LED 灯会随机停在一个位置。当时 Makerinator 构思了一整套概念,甚至用 3D 打印了一个外壳。遗憾的是,Makerinator 始终对这个项目不满意,于是最终放弃了。

图片

时隔几年,他再次回到原点,只不过不同的是,他想出了一个全新且改良的计划。

简单来看,全新版的 Decisioninator 核心是一块树莓派 4。和常见的树莓派项目不同,Makerinator 没有安装完整的操作系统,而是采用了轻量级 Raspbian Lite,这个版本省去了桌面界面,只保留最精简的命令行环境。

图片

这种选择的好处很明显:

  • 性能更轻快:没有桌面环境占用内存和 CPU。

  • 稳定性更高:Lite 系统干净、简洁,少了多余进程,就更不容易出 bug 或拖慢响应。

  • 启动更迅速:没有桌面加载,开机即进入命令行,应用能第一时间跑起来,体验像“一按即用”的专用设备,而不是一台需要等待加载的迷你电脑。

  • 功耗更低:树莓派本身就以低功耗著称,再配合 Lite 系统,整体能耗更小,长时间运行也更省心。

换句话说,Makerinator 相当于把树莓派“变身”成一块专门跑 Decisioninator 应用的硬件平台,而不是一台通用计算机。

由此,这样的取舍让设备能把更多硬件资源直接让给具体的应用。

在软件层面,Makerinator 基于 flutter-pi 开源库开发了一个 Flutter 应用。众所周知,Flutter 通常用于移动端应用,它为 Decisioninator 的 DSI 显示屏带来了流畅的动画和精致的界面。

图片

而动画和界面交互则交给 Flame 游戏引擎。Flame 是一个用于 2D 开发的模块化 Flutter 游戏引擎,非常适合 Decisioninator 那种线性但带“幸运轮”风格的界面,同时还让动画和碰撞检测变得轻松容易。

图片

为了外观设计,Makerinator 选择了激光切割木材,而不是 3D 打印,这样既保留了经典感,又增添了现代气息。

Makerinator 自认不是专业木工,其自我调侃道,“要是我高中的手工课老师看到这个,他大概会撤销我的文凭”,但他依然用激光切割完成了所需的胶合板,并打造了一个迷你街机风格的机箱来安置 Decisioninator,组成一个方方正正的框架。成品不好看,但确实能用。

图片

然而,Makerinator 自述道:

一位聪明的创客曾告诉我,永远不要做你无法拆开的东西。我把这句话牢记在心,决定用磁铁来固定底部和背板。事后看来,这个设计可能太容易散架了。大多数时候磁铁能固定住,但偶尔整个东西会散成一堆。

磁铁是 用更多的胶水固定的,确切地说是 5 分钟环氧树脂。我渐渐爱上了这东西。它可以把任何东西永久地粘在任何东西上,这有好有坏。我粘磁铁的时候不够精确,这在后面给我带来了麻烦。底部和背部的面板没法像我希望的那样平整贴合,就是因为我在这里没有耐心。

与此同时,我也在组装框架的顶部。这时候我简直是在滥用这些角夹。这看起来都很丑,我的计划是用别的东西把这堆烂摊子盖住。

经过考察, Makerinator  打算升华工艺,让这个设备的外观整体看起来更精致。所谓升华工艺,就是通过加热将设计图案转印到木材上,使图案色彩鲜艳。

图片

设备由 12V 电源为 LED 提供电力,再通过降压转换器将电压降到 5V 给 Raspberry Pi 供电。

Makerinator 利用 GPIO 接口为 Pi 供电,不需要额外的电源砖,并通过排线将 DSI 显示屏连接到扩展板上。当排线在机壳里无法安装时,他用旋转工具迅速开出空间。Decisioninator 的按钮同样通过 GPIO 接口接线,可以用来旋转轮盘或切换模式。

图片


03

Makerinator 何许人也?

谈及 Decisioninator 这个项目,“正是这台小装置——加上 Flutter、激光切割和一加仑五分钟环氧胶——拯救了我的婚姻”,Makerinator 说道。

作为一名软件工程师,Makerinator 他有着典型的“程序员思维”:痴迷于自动化和优化,哪怕是微不足道的任务也要琢磨能不能再快一点、再省一点。

对他来说,花 40 个小时去自动化一个 10 秒钟的流程,是值得的;再花 40 个小时把性能提升 3 毫秒,也依然值。效率,就是信仰。

图片

这种执念不仅体现在代码和硬件上,也逐渐渗透到他的生活。比如之前和朋友在一次活动中进行礼物交换得到的叠衣板,意外成为“家庭和谐神器”,解决了夫妻间的小摩擦。

正是这件事让他意识到:技术不只是工作中的工具,还可以是生活关系的润滑剂。

在 Makerinator 身上,你能看到一个很典型的工程师特质:把生活当成待优化的系统。别人觉得是鸡毛蒜皮的小麻烦,他却会忍不住想,“这能不能建个模型?要不要写个脚本?是不是可以搞个小硬件来自动化?”

于是,在很多人眼里,这就是一个脑洞大开的 DIY 装置;但在他眼里,这简直是对“技术能不能拯救日常琐事”的一次实战演练。抓住机会,就能搞出一些有创意、好玩的项目。

参考:

https://www.youtube.com/watch?v=Qo7hUsJqTZI&t=95s

https://www.tomshardware.com/raspberry-pi/the-decisioninator-saved-my-marriage-says-software-engineer-raspberry-pi-powered-device-automates-restaurant-chore-date-night-and-movie-night-choices#xenforo-comments-3885929


【声明】内容源于网络
0
0
GitCode开源探索
GitCode官方账号,[GitCode」开源开发者平台,依托CSDN开发者社区,帮助开发者及开发者企业实现项目托管、协同研发、项目运营和生态拓展。
内容 360
粉丝 0
GitCode开源探索 GitCode官方账号,[GitCode」开源开发者平台,依托CSDN开发者社区,帮助开发者及开发者企业实现项目托管、协同研发、项目运营和生态拓展。
总阅读59
粉丝0
内容360