工作中有场景需要用到微型UHF RFID读卡器,原来使用的产品是基于音频接口通信的微型读卡器,该读卡器支持Android和iOS系统,使用过程当中发现了各种各样的问题,问题列举如下:
基于音频接口通讯,会消耗宿主机大量电量
音频通讯在使用过程当中需要调节宿主机操作系统的系统音量为最大,稍微不注意的话当使用耳机的时候会被巨大的噪音感动哭
电池使用充电锂电池,容量370毫安,全负荷使用大概只能使用3-4小时
音频通讯依赖宿主机硬件,不是所有的机器都可以使用
UHF RFID模块基于韩国PHYCHIPS PR9200芯片开发,长时间运行稳定性不佳
为了解决上面的问题,采用现有的硬件(为了开发简单,基于Arduino平台)组装了一个基于BLE的微型UHF RFID读卡器原型,所需的硬件都可以在淘宝采购到,列举所需材料如下:
Arduino开发板,采用了DFRobot出品的 Bluno Beetle,开发板基于ATmega328,集成了TI的CC2540,可以直接用来通过BLE做串口透传,对应的产品wiki库:Bluno Beetle控制器 兼容Arduino
-
UHF RFID模块采用了一款集成度超高的芯片,低功耗设计,整体功耗如下图:
另开发难度低,加上几个电阻和电容就可以直接使用了,我使用的是已经集成外围电路和天线的版本,接上电源和串口就可以直接使用了,对应链接:UHF RFID读写模块,产品说明:FI-301A-25 UART 串口超高频读写器规格书 -
供电部分,锂电池充放电实际使用发现很麻烦,所以原型供电选用的是干电池电池盒,4节7号电池盒
-
产品外壳,外壳采用3D打印,我使用的3D打印机是 Cetus3D,今年众筹的产品,3D建模软件用的是MagicaVoxel,方便简单,居家旅行好帮手,对应的MagicaVoxel文件:盒子,盒子上盖
设计思路:依托于Arduino平台,利用Arduino对UHF RFID模块进行供电和控制,同时由Arduino与上位机通讯并转发对应指令给UHF RFID模块,监测UHF RFID模块串口收到的信息并转发给上位机,UHF RFID模块和Bluno Beetle都基于低功耗设计,整体功耗非常低,使用4节7号电池可以使用10-12小时左右,同时可以快速更换电池,免去了充电的问题
Arduino开发板和UHF RFID模块连接示意图如下
硬件部分完毕,下一篇文章会介绍软件部分,软件部分分为Arduino部分代码和对应的上位机代码(iOS和Android)
最终完成如图: