技术宅自制超迷你智能NFC名片:一张平平无奇的门禁卡,如何变身为用不起的样子?

橙三吉。 提交于 2020-10-08 04:26:59
有一说一,头发多的程序员要是熬夜搞起手工来,效率高的可怕。

机器之心报道,参与:蛋酱。

一款火柴盒大小的电子卡片,集公司工牌、小区门禁卡、食堂饭卡于一身,到哪儿都能刷。奇怪,竟然也没人拦。

最近,B 站 UP 主「稚晖君」自制的超迷你智能 NFC 卡片火了。小巧玲珑的卡片,自带电子墨水屏,可以模拟各种 IC 卡,搭配 APP 还能任意设置显示内容……

这一硬核 DIY 教程在发布的 30 个小时内,视频播放量已经突破百万,光点赞量就超过了十万。

最重要的是,他已经将代码开源了。感兴趣的话,你也可以动手试试(在你能看懂的前提下)。

项目地址:https://github.com/peng-zhihui/L-ink_Card

把门禁卡做成一般人用不起的样子

话说,这个 idea 最初是怎么来的呢?

嗯,创意源于生活。比如每个人身上肯定都有很多张 IC 卡,公司的工牌、食堂的饭卡、小区门禁卡等等,这些都是 IC 卡。

当然,卡片太多了也很烦恼。比如经常站在闸机面前,在一堆卡片中翻来翻去才找到需要的那张,这真的不够优雅。所以稚晖君决定,把这些卡片,统统装进一张电子卡片里。

动手之前,首先构思一下需要添加的功能:

1、可以储存多张卡片信息;

2、卡片内容可以擦写;

3、具备 NFC 标签功能;

4、带屏幕;

5、可以通过 APP 设置显示内容;

6、最重要的是,迷你,迷你,迷你。

如此量身定制的「一卡通」,想必使用起来一定会高效且优雅。

接下来,我们来学习一下制作过程。

制作方法

首先是方案的选型,稚晖君选择了「ST25DV」,可以看作是一个 NFC 的物理层芯片。选择这一款的原因是它支持能量采集(Energy-Harvesting)。「ST25DV」可以将其通过线圈获取到的能量传输给主控芯片或其他芯片使用。

当然,这个能量是十分微弱的,功率大概只够点个 LED 灯。在主控芯片的选择上,稚晖君选择的是 STM32 的超低功耗产品线中的 L051。

然后是设计 PCB,因为只有两层,所以这部分(据说)比较轻松:

唯一有点麻烦的是印制电路板,稚晖君一共打样了四次。因为板子焊好之后有时会出现无反应的状态,这个问题和 NFC 读卡器的发射功率有关,最终稚晖君用一颗 CR2032 的纽扣电池解决了这个问题。

电路做好之后,是外壳设计环节。通过调节左边的拨轮可实现不同卡片的切换,显示屏右下方的物理按键可用来刷新屏幕和导通电池。

经过验证,这张卡片的灵敏度还是非常理想的:

说到这里,这张卡片当然不只是用来刷刷刷了。只需要再加上那么一点点的改造,它还能做到更多。

在最开始的构想中,还有通过 APP 设置显示内容的功能。稚晖君拿出了之前做过的一个计算机视觉的移动端推理框架应用,拿来改改就能用。

这个 APP 里面集成了多个功能模块,比如图像输出显示,只要把卡片贴近手机,就可以将任何图像传输到显示屏上。稚晖君先用自己的自拍照做了示例:

搞错了,再来:

出于低功耗方面的考虑,卡片使用的是电子墨水屏,只有黑和白两种颜色,无法显示灰色。虽然「栩栩如生」是做不到了,但作为一名优秀的计算机视觉算法工程师,稚晖君使用 Dithering 抖动算法实现了点阵屏对灰度屏的模拟,让转化后的头像显得更加自然。

另外,这张卡片也可以用来记录待办清单:

或者展示个人专属二维码:

网友:教程看完了,我退下了

不少人点进来默默看完之后表示:「看不懂看不懂」。

稚晖君介绍说,这张卡片不仅可以用来取代需要随身携带的一堆 IC 卡,还可以用来当作一个随身的副屏或者名片。目前只是第一版方案,之后会在 APP 里扩展更多的 CV 算法功能模块,比如卡通风格迁移(工作忙,项目抽空更新)。

包括外观,后续也会重新设计。在下一版方案中,黑白墨水屏也会换成彩色屏幕,同时添加卡片现场复制和软件卡模拟等功能。

最后,来重点介绍一下稚晖君本人。

2018 年研究生毕业于电子科技大学,目前就职于 OPPO 上海研究院 AI 实验室,职位是 AI 算法工程师。目前正致力于自研深度学习推理框架与移动计算平台的异构加速相关技术。个人称号为「野生钢铁侠」,喜欢干脆面和可乐,且保持着浓密的发量。

最后送上完整视频:https://www.bilibili.com/video/BV1Cf4y1y7KT?from=search&seid=17039464882429969437

参考链接:http://www.pengzhihui.xyz/about/

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!