我先上图吧,看看你是不是感兴趣:
侧面图:
正面图:
拿着它扫了一下我姥姥的裤兜:
过了几秒,手机收到一封邮件!
如果看到这你兴奋了,那么接着往下看看:
背景:半年前,我从网上看到一个视频,讲的大概是一个人站在了一个人的旁边,待了几秒,然后就知道了那个人的银行卡信息了,而且不仅是银行卡信息,甚至连持卡人的姓名,身份证号都有。我看完之后,当时就惊呆了。现在的人都这么牛了吗?于是不假思索的也从网上买了一个一模一样的NFC读卡器,幻想着自己也可以这么厉害。可是货一到,热情就没了,因为当时以为很简单,哪知研究了一下竟不知从哪下手。不过好在也没浪费,拿着它配了个钥匙。就这样一晃半年过去了……最近我又看到了这个NFC读卡器,然后还找到了自己大学时期买的树莓派,心想着,是不是可以结合一下。最终功夫不负有心人,花了好几天的时间,终于把它们拼起来了!
设备:充电宝(5v输出)、树莓派(3代)、NFC读卡器(ACRU-A9)、手机(具备热点功能)
语言:python3
流程:大概就是用充电宝充当树莓派的电源,然后把NFC读卡器连接到树莓派,并在树莓派里面执行读取银行卡的程序,读取到银行卡信息后树莓派通过手机开的热点网络将银行卡信息发送到自己的邮箱,于是手机上就能看到银行卡相关信息了。
难点:主要是如何通过NFC读卡器,从银行卡里读数据。需要通过读卡器给银行卡发送什么数据,对银行卡返回的数据做怎样的处理。
写代码前准备:虽然看着下面主代码不多,但其实里面要学很多知识,尤其是关于金融集成电路(IC)卡规范里面的内容,当时反反复复看了一个通宵才弄明白了一些。我们在写代码前大致是要先找到NFC读卡器说明文档和银行卡相关规范,了解其工作过程。NFC读卡器发送请求数据给银行卡,然后银行卡响应数据,发送和响应的这些数据都是十六进制表示的,在银行卡规范中均有详细说明。知道了命令之后,就是测试。测试我们用ACRU读卡器配套的工具(ACRUTool,可在