立即注册
查看: 472|回复: 0

基于微信硬件平台的蓝牙读卡器研究

已绑定手机
发表于 2022-3-1 18:50:16 | 显示全部楼层 |阅读模式 来自 广东省深圳市
摘要:随着移动技术的快速发展,特别是4G技术问世以来,带有智能操作系统的移动手机迅速普及,这给大规模移动物联网的发展带来了机遇,目前,以移动智能手机为核心,市场上出现了许许多多的移动外设,如健康手环等,极大地方便了人们的生活;随着微信的广泛应用,微信推出了微信硬件应用平台,通过该平台,蓝牙、WIFI等无线外设可以方便地实现设备、人与服务的连接;基于微信硬件技术平台的这一原理,北京智芯微电子科技有限公司进行了微信蓝牙便携式读卡器的技术研究,这一研究以嵌入式硬件技术、无线蓝牙通信技术、微信硬件平台为基础;提出了微信蓝牙读卡器的技术方案,利用该读卡器可以在手机微信上实现对智能 IC卡的信息读取;研究结果表明,该技术方案可行、新颖、实用,这一技术方案开辟了移动读卡器研究的新路径,具有重要意义。

IC卡读卡器是读写IC卡的机具设备,早前大多数读卡器通过 USB通讯线连接到 PC机才能够使用,这种方式的弊端就是移动性和便携性较差。在移动技术快速发展的今天,随着智能手机的迅速普及以及大规模物联网的快速发展,IC卡读卡器也迎来了跨越式发展,由以前的只支持 PC 机的 Windows 系统发展到可以支持手机的 Android和IOS系统,因此 IC卡读卡器正向着小型化、便携化的方向发展,当前大多数移动式读卡器的开发模式是在硬件读卡设备上集成一个蓝牙模块,然后通过蓝牙与手机的蓝牙通讯,这种方式需要在手机上开发一款 APP应用软件。而本文所研究的读卡器是基干微信硬件平台技术开发,用户可以通过微信在自己的手机上实现对接触式IC卡的读卡、写卡等操作,与 APP读卡器相比,微信读卡器降低了开发成本,节省了项目资源,研究了利用微信操作读卡器的方法,对于读卡器的发展与应用具有重要意义。

1、基于微信硬件平台的蓝牙读卡器
1.1 研究背景
在我们的日常生活中,每家每户都有许许多多的各种卡,电卡、水卡、燃气卡、银行卡等,目前除银行卡外,很多行业的 IC卡,在用户需要充值或查询时,大多需要去柜台或者自助值机,排队现象是一个普遍的现象,耗费了很多时间成本,浪费了很多社会资源,特别是遇到意外的突发的情况,比如夜里着急用电的时候,却突然断电,而营业厅又比较远,或者已经关门;在比如你想知道家里还有多少电、多少水、多少气的时候,想查询下卡内余额。如果营业厅就像影子一样,随时在你身边多好。
自 2010年以来,随着苹果 IOS系统、谷歌 Android系统的逐步成熟与商业化,智能手机如雨后春笋般迅速普及,而随着 3G乃至4G技术的发展,以及移动资费的不断下调,智能手机用户不断增长,据CNNC中国互联网发展统计调查显示,截止 2016年12月。我国网民规模达7.31亿,互联网普及率 53.2%,与此同时手机网民规模达6.95亿,网民中使用手机上网的人群的占比由 2015年的 90.1%提升至95.1%,移动互联网的迅猛发展,使得很多读卡器商家也看到了巨大商机。近5年来,基于移动智能手机开发了很多种类读卡器,如基于手机音频口的音频读卡器、基于手机 USB接口的OTG 读卡器、基于手机蓝牙的蓝牙读卡器等,不过这些手机都需要开发单独的应用APP软件。
自 2011年腾讯推出微信以来,伴随着移动手机的发展,微信以其实用、高效的特点迅速占领了市场,用户数不断增长,截止 2016年12 月,微信活跃用户数已经近乎超越 QQ,通过微信公众平台,微信实现了人与人的连接,目前不断涌现的企业公众号或订阅号,实现了人与服务的连接,在此基础上,2014年底,基于微信公众平台,微信推出了微信硬件平台,通过平台规定的连接协议,各种智能设备如蓝牙设备、WIFI设备和其他移动网络设备都能方便的接入微信,完成设备—人一服务的连接。

1.2 系统架构与工作流程
微信蓝牙读卡器基于微信硬件平台技术,系统架构主要由蓝牙读卡器、手机微信、微信后台、厂商云等 4个部分组成,微信硬件平台的接入需要 2 个阶段,开发阶段和正式上线与发售阶段,本文论述的是开发阶段,在开发阶段需要分3步,即申请测试号、开通设备功能和设备开发。申请测试号和设备功能开通按照微信硬件平台的规定在网上提交材料即可完成,这里不再赘述。设备开发需要完成读卡器的软硬件开发以及手机微信测试号功能开发,微信蓝牙读卡器的使用流程如图 1 所示。
1.jpg

2、读卡器设计
根据微信硬件平台的系统架构,本读卡器的研发分为 3个部分,一是硬件电路设计,二是硬件底层驱动设计,三是手机微信测试号开发。以上3个部分构成了产品设备开发。
2.1 读卡器硬件电路设计
读卡器的基本功能需求如下∶
1)支持接触式IC卡接口,符合ISO/IEC 7816-3标准;2)支持蓝牙通信,蓝牙需支持微信的 WeChat AirSync 协议;
3)内置可充电锂电池,容量不小于 200mAh;4)Flash空间不小于128K,SRAM不小于48K;5)带充电状态指示和通信状态指示。
Cotex一M0 微控制器作为硬件系统的核心 MC 基于以上功能需求,本读卡器选择一款 Cotex一M0 微控制器作为硬件系统的核心 MCU,该 MCU 硬件资源丰富,包含 512K 的Flash和 48K的 SRAM,空间足够用,MCU集成 2 路7816主接口,支持与ISO/IEC7816一3标准 T=0和 T=1传输协议兼容的智能卡设备。集成USB2.0全速设备接口模块,可以实现 USB通信,此外还支持 UART、I2C、GPIO 等接口。从功能、性能看完全满足微信蓝牙读卡器功能需求。
蓝牙部分需要支持微信的开放协议 AirSync,且必须通过微信硬件平台的认证,微信硬件平台的官网有已经取得认证的蓝牙芯片和蓝牙模块的型号及供应商,为降低成本和加快研发进度,本读卡器选择北京艾威梯(IVT)的CSR 蓝牙模块。该蓝牙模块支持 BR/EDR/BLE 等蓝牙规范,支持微信的 Air-Sync协议,硬件对外接口为 UART接口,工作电压范围 2.3 ~3.6 V,最大发射功率+7 dBm,有效通信距离>5 m。
此外读卡器集成了锂电池充电电路,该电路通过4 颗 led 灯指示充电状态以及是否充电完成,锂电池标称电压 3.7V,满充电压 4.2V,另外读卡器上还有一颗led,用于指示通信状态。读卡器硬件系统如图2所示。
2.jpg

2.2 读卡器软件设计
读卡器软件部分包括 MCU 驱动部分和蓝牙模块部分,MCU与蓝牙模块之间通过 UART接口连接,通信波特率115200,8个数据位,1个停止位,无校验。
蓝牙模块对手机蓝牙接口协议为 AirSync,该协议已经封装在蓝牙模块内,对开发者而言,蓝牙模块会把 UART口传入数据流转为符合 AirSync 协议的数据包发给手机,用户无需关注蓝牙模块内的 AirSync 协议是如何实现的。
MCU部分需要开发智能卡接口程序,用于读写兼容ISO7816的智能IC卡,此外需要编写 UART接收中断处理函数,并在 UART的中断处理函数中处理与蓝牙模块的通信数据。程序主函数首先进行系统初始化,配置 MCU 工作主频并使能指令缓存模块(ICACHE),然后进行GPIO、UART、7816等接口初始化,配置通信状态指示灯闪烁三次,表示读卡器上电成功,使能蓝牙模块电源 VCC,在 while (1)循环里,程序检测UART接口是否产生接收中断,如果蓝牙模块接收到上位机(手机微信)的消息,则会产生 UART接收中断并置接收成功标志 ReceiveOK=1,然后判断消息类型,如是初始化指令,则对智能卡执行冷复位,获得IC卡的 ATR信息,并通过蓝牙模块的 AirSync 返回给上位机,如是读卡指令,则发相应 APDU指令给智能卡,智能卡产生 response 后,通过响应位 SW1、SW2判断是否读卡成功,如成功则把数据返回给上位机,如不成功,则返状态字节 SW1、SW2返给手机微信。如是写卡指令,则组织好写卡报文发给智能卡,根据IC卡响应,判断是否写卡成功,并把 SW1、SW2返给手机微信。读卡器部分程序流程如图3所示。
3.jpg

更多详细内容请下载附件查看
游客,如果您要查看本帖隐藏内容请回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

合作/建议

TEL: 19168984579

工作时间:
周一到周五 9:00-11:30 13:30-19:30
  • 扫一扫关注公众号
  • 扫一扫打开小程序
Copyright © 2013-2024 一牛网 版权所有 All Rights Reserved. 帮助中心|隐私声明|联系我们|手机版|粤ICP备13053961号|营业执照|EDI证
在本版发帖搜索
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表