一、硬件接口和连接NFC天线说明:
主板上板载NFC芯片ST25DV04K,该芯片通过CPU的I2C4进行控制,电路图如下:
使用板载NFC功能需要外接天线,接线如图
二、下载和安装测试软件
测试软件源码下载:
Linux-NFC Source File
下载后测试软解压缩后,里面有 Android和Linux 2个文件夹,
Linux文件夹里面是NFC测试软件源码,需要在开发板Linux下编译并运行使用.
Android文件夹里面是配套使用的APP,需要安装到有NFC功能的手机里面.
安卓APP源码
Android App Source Code
三、测试NFC功能
3.1编译Linux-NFC源码
本源码使用到libgpiod库,需要在开发板上安装libgpiod库。
#安装libgpiod库及头文件
sudo apt -y install libgpiod-dev
编译测试程序源码和运行测试程序.
#编译 NFC 测试软件源码
jb@X1:~/linux-spi/linux/$ make
#运行测试软件
jb@X1:~/linux-spi/linux/$ sudo ./test_NFC
测试NFC运行后,通过键盘输入数据实现不同功能
#运行测试程序
jb@X1:~/linux-spi/linux/$ sudo ./test_NFC
#写标签:youyeetoo.cn
jb@X1:~/linux-spi/linux/$ 1
#写标签:安卓启动微信APP
jb@X1:~/linux-spi/linux/$ 2
#写数据到FTM
jb@X1:~/linux-spi/linux/$ 3
#退出程序
jb@X1:~/linux-spi/linux/$ 0
已知问题:
试验测试发现:ubuntu 重启多次后,NFC对应I2C设备序号可能会发生变化,有时候是/dev/i2c-4,大多时候是/dev/i2c-5
若发现链接NFC失败,可以切换一下I2C序号,修改方法,测试文件test_NFC.cpp的main函数中对应修改,如图所示:
3.2 安卓手机中安装下载的测试程序NFC2023v1.1_20230927_debug.apk
这里用安卓手机为例,手机需要支持NFC功能,且开启该功能,
如图:测试NFC用安卓APP,打开软件后,手机需要靠近NFC天线板进行测试.
上部分:主要是日志,
下部分:手机通过NFC把数据传输到X1 SBC开发版.
三、NFC测试程序Qt界面
1)先"连接设备"
2)主要操作:
X1 SBC向手机APP传数据区域:开发版NFC芯片发数据给APP
X1 SBC收到手机NFC的数据区域:根据中断读取来自手机NFC数据。
“写标签:风火轮官网”:通过NDEF把www.youyeetoo.cn写入到芯片中做标签
“写标签:启动微信”:把微信启动方式写入标签.这样安卓NFC手机扫一下就能启动微信
测试程序qt界面样例源码和如何编译使用,请参考如下页面:
http://wiki.youyeetoo.cn/zh/x1/linux/qt-build