移植libnfc到Android并结合蓝牙spp操作pn532读卡之概述

整理一个半年前做的好玩的东西,连线图在此:http://blog.csdn.net/chenxupro/article/details/8795725

主要思路是蓝牙串口模块HC-05连接nfc芯片pn532的TTL串口,Android手机通过蓝牙连接HC-05,修改libnfc的buses中的uart_posix.c代码,将它改造成通过Android蓝牙(bluetooth spp协议)提供的接口,发送串口读写指令操作pn532。

libnfc部分属于JNI层,采用NDK编译,UI层调用下层的函数。

完整代码在此:https://sourceforge.net/projects/androidbluesppnfc/

核心代码为:AndroidBlueSppNfc.c+uart_bluespp.c+mfoc.c+AppMain.java

AndroidBlueSppNfc.c为列出卡,读卡UID,模拟卡UID,发送消息等功能。

uart_bluespp.c为uart_posix.c结合蓝牙spp改写,相当于新增了一种名为bluespp的总线。

mfoc.c是另一个开源项目mfoc里的调用部分,在这里用于读取卡内部的数据,由于学校一卡通我们之前已经破解,所以直接设定了key去读取(为了避免不必要的麻烦,共享出的代码里去掉了这个key,以及上层java代码里计算卡内信息部分的代码)。

AppMain.java是整个软件的上层UI部分,用于menu选择,结果显示,代码很简单。

感谢小明(http://jointxmg.com/)提供pn532板子,感谢Bigroomer们提供饭卡测试^_^。

增加这么个转接设备和软件后普通的Android手机也具备了NFC的功能哟!

效果图在此:



  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值