程序員自制超迷你智能NFC名片:一張平平無奇的門禁卡,如何變身爲用不起的樣子?...

Python實戰社羣

Java實戰社羣

長按識別下方二維碼,按需求添加

掃碼關注添加客服

進Python社羣▲

掃碼關注添加客服

進Java社羣

轉自:機器之心

一款火柴盒大小的電子卡片,集公司工牌、小區門禁卡、食堂飯卡於一身,到哪兒都能刷。奇怪,竟然也沒人攔。

最近,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 算法功能模塊,比如卡通風格遷移(工作忙,項目抽空更新)。

包括外觀,後續也會重新設計。在下一版方案中,黑白墨水屏也會換成彩色屏幕,同時添加卡片現場複製和軟件卡模擬等功能。

程序員專欄 掃碼關注填加客服 長按識別下方二維碼進羣

近期精彩內容推薦:  

 再見!螞蟻金服

 微信支付的架構到底有多牛?

 API 接口四連問!就問你,怕不怕!

 Python這麼慢,爲啥大公司還在用?

在看點這裏好文分享給更多人↓↓

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章