我的名片能运行Linux和Python,还能玩2048小游戏,成本只要20元

liftword4个月前 (01-21)技术文章29

晓查 发自 凹非寺
量子位 报道 | 公众号 QbitAI

猜猜它是什么?印着姓名、职位和邮箱,看起来是个名片。可是右下角有芯片,看起来又像是个PCB电路板。

其实它是一台超迷你的ARM计算机,不仅能够运行Linux系统,有Python解释器,连上电脑还能玩2048小游戏。

而且只需6秒就能快速启动操作系统。

当然,它也是一个电子名片,系统中可以存入你的简历信息、照片。

这是一位嵌入式工程师George Hilliard作品,整个名片的成本才20元,却已经拥有如此多的功能,难怪让不少网友惊叹,一天之内就在Hacker News上收获2000多赞。

下面让我们一起来看看他是如何制作的吧。

设计和组装

在合理的设计下,这张名片的成本极低,PCB、芯片和其他电子器件加起来,总成本不超过3美元

如何选择一款成本低廉且可用的处理器,是这个项目最关键的部分。

经过大量的研究,George选择了深圳全志公司的F1C100s,选择它的原因是太XX的便宜了(damn cheap),且集成了RAM和CPU。

这款芯片是他在淘宝上买的(不得不让人感叹万能的淘宝)。其他元器件均购自LCSC。

George小哥在JLC上制作了PCB,花8美元得到了10块电路板,颜色是磨砂黑,看起来高端大气上档次。

不过制作完的PCB还是有点小问题:USB接口不够长,很难与多数端口稳定连接;芯片引脚有错,必须手动弯曲调整。

由于这些零件的尺寸很小,George小哥决定使用便宜的回流焊。而且他有激光切割机,可以制作焊锡膏丝印模板。

在涂好焊锡膏后,他手动贴上了元器件。零件和焊锡膏均符合RoHS规定。

由于手动贴一个电子器件需要10秒,因此George小哥尽量减少了贴片的数量来降低工作量。

最后附上完整的物料成本:

这里只包括硬件成本,一张名片需要2.88美元,折合人民币大约20元。

能跑Linux和Python

这款名片能够做什么?

由于尺寸和成本的原因,名片卡缺少I/O接口,不能再外接其他设备。尽管如此,George还是设法将很多有趣的东西塞入了固件中。

Shell

将名片的USB接口插上电脑,大约6秒内即可启动超级精简的Linux系统。电脑会将其显示为USB闪存驱动器和虚拟串行接口。

名片通过虚拟串行接口提供shell服务,我们可以登录root账户,访问以下程序:

  • rogue:经典的Unix游戏《地牢爬虫》


  • 2048:曾经风靡全球的数字游戏《2048》控制台版本
  • fortune:各种名人名言,为了给其他功能腾出空间,并不包括完整的数据库。
  • micropython:一个简化版的Python解释器。

这个名片包含一个超级精简的Linux系统,和一个简化版的Python解释器MicroPython,登录shell后还能运行rogue、2048小游戏。

模拟闪存驱动器

在编译过程中,构建工具会生成一个小的FAT32镜像,并将其添加到UBI分区。Linux小工具子系统会将其作为存储设备呈现给PC。

George在里面放上了自己的简历和摄影作品,可以在源代码中查看到这些内容。

DIY资源

小哥在GitHub上开源了所有的代码、电路原理图,至于FC100s芯片如何开发,官方有技术文档可供参考。

如果你有兴趣,也可以去试试。

博客地址:
https://www.thirtythreeforty.net/posts/2019/12/my-business-card-runs-linux/#source-code

源代码:
https://github.com/thirtythreeforty/businesscard-linux

电路原理图:
https://www.thirtythreeforty.net/media/F1C100s_Datasheet_V1.0.pdf

FC100s技术文档:
https://www.thirtythreeforty.net/media/F1C100s_Datasheet_V1.0.pdf
https://www.thirtythreeforty.net/media/Allwinner_F1C600_User_Manual_V1.0.pdf

量子位 QbitAI · 头条号签约

关注我们,第一时间获知前沿科技动态

相关文章

运维必备!用Python管理多个Linux服务器的连接与命令执行

引言:代码实现多个Linux服务器的SSH连接,支持添加、删除连接,执行命令,并返回标准输出。可以在需要时批量处理多个服务器,避免了手动逐个登录和执行命令的繁琐过程。代码封装如下:# -*- codi...

pdb,让python文件在linux中跑起来

近期在项目自动化脚本编写中,经常会在本地pycharm中写好脚本,然后上传到linux中运行。由于局限于网络的一些原因,本地pycharm无法调试这些py文件,只有linux上才有py运行所需要的模...

深入探究 Linux 程序加载与运行:聚焦 exec 系统调用

在计算机技术的深邃领域,理解程序于操作系统中的加载与运行机制,犹如探索神秘知识宝库。此前已涉 CPU 执行机器码、安全机制与系统调用原理等,现深入 Linux 内核核心,聚焦 x86 - 64 架构的...

Linux系统升级Python版本的编程实践

摘要:Python是一种面向对象的解释型计算机程序设计语言,具有丰富和强大的库, 广泛应用于系统管理任务的处理和Web编程。Python丰富的标准库,提供了适用于各个主要系统平台的源码或机器码。其特点...

可以在Linux上运行Windows软件吗(linux能运行win软件吗?)

Linux与Windows是什么首先需要回答Linux与Windows是什么?它们都属于操作系统的范畴,是一种软件,一种特殊的软件,而不是硬件(看的见摸的着),而且从某种意义上来说操作系统是计算机或者...

在Android手机上运行 Python?Termux可以!

Termux 是一个 Android 终端仿真器和 Linux 环境,允许用户在 Android 设备上运行各种命令行工具和编程语言。Termux 提供了一个完整的 Linux 环境,包括 Bash、...