20美元的宜家台灯算力有多强?运行《毁灭战士》操作丝滑,最初竟是受假新闻启发

简介: 20美元的宜家台灯算力有多强?运行《毁灭战士》操作丝滑,最初竟是受假新闻启发

每逢佳节逛宜家的你,或许知道这款神奇的LED电灯。

这款售价大约20美元的电灯TRÅDFRI,可以随时进行调暗或调亮、设定想要的颜色,以及拿来玩《毁灭战士》。

是的,你没有看错。

因为TRÅDFRI的颜色调整功能,可以想象,其内部拥有一个计算机系统,而只要对其稍加改造,《毁灭战士》什么的,根本不在话下。

还是不信?实机演示一段:
怎么样,除了屏幕略小以外,整个操作手感还是相当丝滑的。

接下来就和文摘菌一起来揭秘这个神奇的电灯吧~

被假新闻“欺骗”,要完成《毁灭战士》的夙愿

这个项目的来源还要追溯到一条假新闻。

去年多家外媒报道,有人成功地在验孕棒上运行了《毁灭战士》。

但其实,整个项目是在PC端运行的,所以作者并没有将其移植到验孕棒或Cortex M4板上。

但不管怎么样,这不失为一个有创意的想法。

在一次偶然的机会下,next-hack的一个团队发现宜家TRÅDFRI LED1923R5灯具有很好的 MCU,以及96+12kB的RAM(总共108kB),1MB的闪存,和一个80MHz的Cortex M33。

更准确地说,这款新的宜家灯使用来自Silicon Labs的MGM210L射频模块,该模块是基于EFR32MG21射频微控制器。

台灯到货后,要用切割器将灯的塑料顶部弹出,同时还需要切割将其固定到位的胶水。之后,取下两个小螺丝,用小钳子取下LED PCB。

然后就可以移除金属散热器,以露出高压AC/DC转换器,用钳子将它从灯中拉出。拆卸完成后大概是这样:

但其实,文摘菌要在这里拆个台,TRÅDFRI台灯不是必需的,我们需要的只是它内部的MGM210L模块而已。(工具灯实锤)

然后,需要从PCB中取出电源线和IO线。为此,他们使用了一块原型板,将其成型为接受带有RF模块的DC-DC板。为了后续安装的方便也可以在上面做一个切口。

电线连接到三个接头,将模块插入另一个原型板,该板将包含该项目的所有其他内容。

接着,还需要把电线直接焊接到DC-DC板触点上,3个母头用于连接射频板,连接2针接头的音频部分。从背部看,已经变得眼花缭乱了。

毕竟这还只是一个电灯,还需要额外配备一个显示器,在这里选择廉价的彩色1.8英寸TFT 160×128 SPI显示器。该显示器具有兼容的ILI9163或ST7735S控制器,并且它们需要以16MHz运行。

由于最终处理器不足以存储WAD文件(共享软件版本至少为4.1MB)。综合考虑之下,他们选用了外部SPI存储器。

在输入设备上,由于《毁灭战士》需要最少的键数是7或8,74HC165移位寄存器是不二之选。

距离《毁灭战士》正式运行还有亿步

在编程上,该器件使用任何兼容JLink的SWD编程器进行编程。在编程结束时,可能会收到错误消息提示,直接忽略就行。

在GitHub中,存在已经转换好的共享软件DOOM1.wad(mg21DOOM1.wad)。如果WAD与共享软件版本不同,需要将其转换为与此端口兼容的特定格式。

GitHub链接:
https://github.com/next-hack/MG21DOOM

转换后的WAD需要通过YMODEM协议发送到内部闪存。对于此,还需要一个USB到TTL UART的转换器。

上传wad的时候,记得打开设备电源,然后按住“use”“change weapon” 和“alt”,以启动Ymodem接收。

下载完成后重置设备,你就能看到《毁灭战士》开始运行了!

想要了解安装过程中的细节部分,以及注意事项,可以点击下方链接:
https://next-hack.com/index.php/2021/06/12/lets-port-doom-to-an-ikea-tradfri-lamp/

《毁灭战士》,永远的神!

在黑客界,有一项由来已久的传统,那就是在看似不能运行《毁灭战士》的设备上,尝试去运行。

目前,这款开源射击游戏已经可以在广告牌卡车、烤面包机以及灯泡等各种设备上运行了。

比如2014年,澳大利亚黑客团队在ATM机上成功运行了《毁灭战士》。该团队使用ATM机上自带的控制按钮,没有借助外置控制器,不过他们仍然需要自制的软件和特定的电路板来将取款按键映射成开枪按键。

这些人还希望能利用上ATM机上的其它硬件部分,比如用菜单按钮更换武器、用数字键盘来控制人物移动或者让小票打印机打印出玩家完成的游戏关卡。

同年,英国一个研究小组利用佳能PIXMA打印机的web界面修改打印机的固件,从而运行了这款经典游戏。

但这也引起了人们的担忧。该作者就表示,“如果你能在打印机上运行《毁灭战士》,那么你也可以做一些更恶意的事。毕竟在公司环境中,没有人会去怀疑打印机。”

安全和发明脑洞,似乎无法兼得,对于如此矛盾,你怎么看,欢迎在评论区留言讨论~

相关报道:
https://www.vice.com/en/article/3aqa9y/you-can-play-doom-on-an-ikea-lamp
https://next-hack.com/index.php/2021/06/12/lets-port-doom-to-an-ikea-tradfri-lamp/

相关文章
|
Kubernetes 调度 Docker
深入探讨容器编排技术:从Docker到Kubernetes
容器编排在现代IT中日益关键,从Docker到Kubernetes,助力应用的自动化部署和扩展。Docker提供容器技术,打包应用及环境为镜像,通过引擎、镜像、容器、网络和存储组件实现隔离运行。Kubernetes作为高级容器编排平台,管理Pod(多容器集合),其核心包括API服务器、控制器管理器、调度器和Kubelet。Kubernetes集群由Master和Worker节点构成,实现Pod的高效调度和运行。
|
机器学习/深度学习 人工智能 自然语言处理
探索AI在文本生成中的应用与挑战自动化测试框架的搭建与实践
【8月更文挑战第27天】本文将深入探讨人工智能(AI)在文本生成领域的应用,包括其技术原理、实际应用案例以及面临的主要挑战。通过分析AI文本生成的工作原理和实际效果,我们将揭示这项技术如何改变内容创作、新闻撰写、对话系统等多个领域。同时,我们也将讨论AI文本生成带来的伦理和质量问题,以及如何平衡创新与风险,确保技术的健康发展。
|
运维 Java Maven
Dockerfile实践java项目
通过上述实践,我们可以看到,Dockerfile在Java项目中扮演着至关重要的角色,它不仅简化了部署流程,提高了环境一致性,还通过多阶段构建、环境变量配置、日志管理、健康检查等高级特性,进一步增强了应用的可维护性和可扩展性。掌握这些实践,将极大地提升开发和运维团队的工作效率。
575 1
|
SQL Oracle 关系型数据库
MySQL、SQL Server和Oracle数据库安装部署教程
数据库的安装部署教程因不同的数据库管理系统(DBMS)而异,以下将以MySQL、SQL Server和Oracle为例,分别概述其安装部署的基本步骤。请注意,由于软件版本和操作系统的不同,具体步骤可能会有所变化。
1482 3
|
并行计算 算法 Python
Dantzig-Wolfe分解算法解释与Python代码示例
Dantzig-Wolfe分解算法解释与Python代码示例
|
SQL 存储 分布式计算
菜鸟数据中台技术演进之路
通过中台的各技术域能力的建设,技术人员在极少的投入下,就可以支撑数倍的分析人员进行数字化运营工作。3 年时间里,菜鸟走过了从人力支撑到中台支撑的历程。
|
数据采集 存储 监控
【建议收藏】|某大型金融集团内部数据治理实战总结
近几年,企业都在做数字化转型。 数字化转型是为了使组织更好地适应数字时代的变革,提高效率、降低成本、增强竞争力。是将业务和流程数字化,以实现更快、更准确、更可靠的数据处理和决策。是以数据驱动的精细化运营、业务创新增长和商业模式创新。
1598 0
【建议收藏】|某大型金融集团内部数据治理实战总结
|
算法
MATLAB | 插值算法 | 一维interpl插值法 | 附数据和出图代码 | 直接上手
MATLAB | 插值算法 | 一维interpl插值法 | 附数据和出图代码 | 直接上手
944 0
|
存储 算法 安全
【数据结构之旅】「线程锁算法专项」引领你走进CLH队列锁机制原理世界
【数据结构之旅】「线程锁算法专项」引领你走进CLH队列锁机制原理世界
513 1
【数据结构之旅】「线程锁算法专项」引领你走进CLH队列锁机制原理世界
|
云计算 开发者 知识图谱
与开发者社区一起成长
开发者社区是由阿里提供的一个开发者、技术人员、阿里服务人员之间互相交流的社区,提供技术博文,技术问答,技术视频,实践等产品和服务,汇聚海量精品云计算使用和开发经验,致力于帮助技术人快速成长与发展,营造开放的云计算技术生态圈!
1091 0
与开发者社区一起成长