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

机器之心报道git

参与:蛋酱程序员

有一说一,头发多的程序员要是熬夜搞起手工来,效率高的可怕。github

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

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

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

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

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

把门禁卡作成通常人用不起的样子idea

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

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

固然,卡片太多了也很烦恼。好比常常站在闸机面前,在一堆卡片中翻来翻去才找到须要的那张,这真的不够优雅。因此稚晖君决定,把这些卡片,通通装进一张电子卡片里。

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

一、能够储存多张卡片信息;

二、卡片内容能够擦写;

三、具有 NFC 标签功能;

四、带屏幕;

五、能够经过 APP 设置显示内容;

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

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

接下来,咱们来学习一下制做过程。

制做方法

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

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

而后是设计 PCB,由于只有两层,因此这部分(听说)比较轻松:

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

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

通过验证,这张卡片的灵敏度仍是很是理想的:

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

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

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

搞错了,再来:

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

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

或者展现我的专属二维码:

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

很多人点进来默默看完以后表示:「看不懂看不懂」。

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

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

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

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

最后送上完整视频:

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

往期好文合集

极简纯硬件充/放电LED指示电路,你学会了吗?

某电商平台卖爆了的LED台灯,老梁带你分析三色调光LED台灯电路!

C语言#和##链接符在项目中的应用(漂亮)

老宇哥手把手教你分析阻容降压电路,你GET到了吗?

脑洞大开!看老外如何创意DIY机械段码时钟,超详细教程内附视频及全部文件代码