我正在尝试为医院开发 Android 应用程序。在本系统中需要利用NFC技术将android手机数据库中存储的患者信息获取到台式电脑中。有什么地方可以使用 NFC USB 读取设备(ACR122U NFC 智能卡读写器 RFID Writer 5 Mifare USB)将数据从手机传输到我的台式电脑?
真实的场景是,在医院里,当一个人想要获取一些测试结果时,他会到达柜台并将移动设备放在安装在柜台上的 NFC 读取器设备上,完成所有细节关于患者的信息应转移到柜台的台式机上。
我不想传输太多信息,如果有任何方法可以使用 NFC 将存储在移动数据库中的患者 ID 传输到桌面就足够了。
最佳答案
根据您想与 ACR122U NFC 读写器结合使用的 NFC 设备,您有多种选择:
如果您只需要在一个方向上交换单个消息(数据包),您可以使用点对点模式。然而,对等协议(protocol)栈相对复杂(与其他替代方案相比)。此外,Android 的内置 Beam 功能将请求用户对每次消息传输进行确认(Beam UI)。
如果您只需要支持 Android 4.4 或更高版本的 Android 设备(即便如此,并非所有 Android NFC 设备都受支持,请参阅 this ),您可以在读取器/写入器模式下使用 ACR122U。在读写器模式下,ACR122U 可以与非接触式智能卡进行通信。查看reader's manual如何访问此类 ISO/IEC 14443-4 非接触式智能卡。在 Android 端,您将使用基于主机的卡仿真 (HCE) 模式。查看Android documentation关于它在 Android 4.4 及更高版本上的工作原理。
在我看来,最好的选择是在卡仿真模式下使用 ACR122U。在卡模拟模式下,ACR122U 可用于模拟标签/非接触式智能卡,Android 设备可以像任何其他 NFC 标签/非接触式智能卡一样检测到该卡。您可以找到示例,例如 libnfc .另见 this answer关于如何使 ACR122U 进入卡仿真模式。此选项可用于所有 Android 版本(以及 BlackBerry 和一些额外的努力,甚至在 Windows Phone 上)。在这种情况下,电话将作为通信中的读卡器(询问器)部分,而 ACR122U(和连接的 PC)将成为卡(受控组件)。使用类似 inverse reader mode 的技术你可以扭转这种关系。
关于android - 通过 NFC 将数据从 Android 设备传输到 PC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24096356/