技术爱好者喜欢把一些旧的电子产品改造成全新的玩意儿。这次有人在1993年的老游戏《毁灭战士》上下了功夫,把它弄到了一个智能电压力锅里去了。智能家电现在越来越多,给生活带来了方便,不过厂家一般都把它们的功能锁得死死的,不让用户随便折腾。最近有个叫Aaron Christophel的人就把他的Cook4Me牌子的智能电压力锅大改了一番。这个锅原本是为了远程控制和下载食谱而设计的,里面有乐鑫科技的ESP32芯片用来联网,还有Arm架构的瑞萨R7S721031VZ处理器负责前面板那个LCD屏幕。系统日志里提到了“Espressif”,这就给探索内部结构开了个头。Christophel动手拆了它的外壳,发现底部主要是加热控制和温度感应的部件,由STMicroelectronics的微控制器管着;前面板则是交互的核心,板子上除了ESP32和瑞萨处理器,还有128MB闪存、128MB RAM,以及触控和显示的驱动。这些配置其实已经跟早期的开发平台差不多了。 要想让锅变成游戏机,最大的麻烦是要拿到系统的控制权。Christophel先试了试读ESP32的闪存,发现被加密了或者跟云有联系就不好弄。他就转而去主处理器那边下手。通过SWD接口从瑞萨芯片里导出了固件之后,他通过逆向工程破解了LCD屏幕初始化的代码,搞懂了怎么驱动屏幕和触控。然后他就把自己改好的固件刷进去了。游戏《毁灭战士》因为开源代码还有硬件需求不高,一直被当作是测试移植效果的好东西。Christophel把这个游戏的代码编译到了电压力锅的硬件上。更巧妙的是他把触摸屏分成了不同的区域当按键用,把原本选菜单的界面变成了一个能用的“手柄”。试玩的时候发现游戏运行很流畅。 这事儿不光是好玩儿。它说明现在很多家电用的通用芯片和模块其实有富余的算力和接口来做更多的事。这既说明半导体技术进步了硬件性能好,也说明厂家给产品定功能的时候有点保守。不过这也让人担心物联网设备的安全问题。这次改锅的时候挺容易就拿到了调试权限还修改了固件,如果接口没有好好防护的话,坏人就很容易利用这个漏洞。所以消费级的物联网产品怎么在可定制性、开放性和安全性之间找平衡,还是个大问题。从更大的角度看这种“非常规平台移植”其实是技术爱好者社区的一种传统做法。他们通过逆向工程来挑战设备的极限不仅能练技术还能给工业设计提建议。Aaron Christophel把电压力锅变成游戏机的这个例子很有创意也很有深度。它展示了嵌入式硬件在原本功能之外的灵活性就像一面镜子一样反映出了智能设备在方便、开放和安全之间的矛盾。 现在万物互联的时代这样的探索肯定会让大家都在想:手里这些智能设备到底能干啥是不是由用户自己说了算的?技术一直在发展怎么用好这些技术带来的可能性才是最关键的。