Py学习  »  Python

我的名片能跑Python,还能玩2048小游戏,成本只要20元

编程派 • 4 年前 • 485 次点击  

点击上方“编程派”,选择设为“设为星标

优质文章,第一时间送达!

猜猜它是什么?印着姓名、职位和邮箱,看起来是个名片。可是右下角有芯片,看起来又像是个 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

出处:量子位

回复下方「关键词」,获取优质资源


回复关键词「 pybook03」,立即获取主页君与小伙伴一起翻译的《Think Python 2e》电子版

回复关键词「入门资料」,立即获取主页君整理的 10 本 Python 入门书的电子版

回复关键词「m」,立即获取Python精选优质文章合集

回复关键词「book 数字」,将数字替换成 0 及以上数字,有惊喜好礼哦~


题图:pexels,CC0 授权。


好文和朋友一起看~
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/52154
 
485 次点击