拉卡拉的手机刷卡器,这小东西看着不起眼,其实挺厉害的

各位朋友,咱们今天来聊个挺有意思的东西,就是拉卡拉的手机刷卡器。这小东西看着不起眼,其实挺厉害的。你说它是POS机吧,也不像,更像是个U盘,直接插在手机耳机孔里用的。只要把它给手机接上,再把手机上的拉卡拉App打开,咱们平时的那个手机立马就变成了一个能刷卡、缴费、充值、转账的全能支付工具了。跟那些只能用来刷卡的传统POS机一比,这确实方便多了。 把它拆开看看里头有啥。外面的壳子一拧开,巴掌大的一块电路板就露出来了。别看它样子简单,这可是整个设备的“大脑”。你看那一块儿迷你锂电池就占了大半壁江山,专门用来支撑它进行上万次的刷卡任务呢。为了把电池塞进去,机身做得稍微大了点,但换来的是超长的待机时间。连续刷上两个小时的卡,充一次电就能搞定。 再看看那个耳机插头里面的玄机。虽然看起来只是个普通的耳机孔,但里面藏着四条线:左声道(L)、右声道(R)、麦克风(M),还有地线(Gnd)。现在的国产手机像联想、中兴啥的,用的大多是国家标准的线序;而苹果、三星、小米这些手机走的又是国际标准。拉卡拉在里头装了个切换电路,能自动识别线序,“插上就能刷”,省得咱们手动切换了。 电路板最右边那个绿豆大小的芯片也挺关键的,它负责把声音信号转成数字信号。刷卡的时候它先把手机传来的模拟声音解码成指令;再把磁条卡的信息变成音频送回去给手机处理。整个过程全在硬件层面就搞定了,连手机Root权限都不需要给它,各家银行的网银客户端也不用装。 刷卡流程其实也不难懂。打开App点一下“刷卡”,App就通过AudioTrack给L和R发通知信号。芯片收到了信号就等着卡片插进去,卡上的信息就被读取了。接着芯片把这些数据编成9600Hz或者4800Hz的音频通过麦克风线送回手机。App用AudioRecord采样、解码以后就能拿到完整的卡号了。如果交易没成功,就会给你个错误提示;最后再跟拉卡拉的服务器完成支付清算。 想让耳机孔传输这么多的数据并不容易,得靠几个关键点来保证:调制方式、采样率还有纠错机制。拉卡拉用的是调幅(AM)调制,9600Hz用来传主要数据,4800Hz当校验用。要是手机麦克风只能听低频信号,它就自动切到4800Hz去传输,保证数据一点不丢。 那个自动识别线序的功能也挺厉害的。通过内部的MCU监测L、R、M三线的电压差,能在几毫秒内判断出手机的标准是什么样子的,然后自动切换解码的逻辑。这样不管你用什么牌子的手机都能插上去直接用。 采样率这块儿也很讲究。实测发现同样一段16kHz的信号,三星手机需要44.1kHz的采样率才能正常工作;而HTC One X用96kHz反而更稳当。所以App里头预先准备了好几套采样率备用方案,启动的时候自动匹配上一个最合适的方案。 说到安全这块儿就有点复杂了。官方说里面有个带唯一密钥的安全芯片用RSA加密保护密码的安全;不过我拆开之后也没找到独立的安全模块啊。现在这套系统主要靠硬件隔离和协议加密来保证安全;不过少了CA证书和电子签名验证这一块。说白了就是物理防护还能再加强一下。 虽然现在拉卡拉只把数据单向“推”给手机App用;其实L和R这两个通道也可以反向传输指令啊。以后要是能把指纹验证、OTP短信、硬件级加密这些功能搬到芯片里头去用双向通讯;那安全等级肯定会更高一步;还能支持远程支付、门禁、会员卡验证这些新玩法呢。小小的耳机孔说不定就是下一代IoT网关的起点哦!