本帖最后由 梨子12333 于 2020-10-9 20:24 编辑

最早接触的NFC算是学校的校园一卡通了,还有在POS机上刷银行卡了,当时还好奇怎么卡上有个wifi图标.还往POS机上一贴就行了.当时引起我极大兴趣.在诺基亚(移动通讯业务)没卖身之前,曾在发布会上说过要推进NFC便捷支付及其他应用场景,然而不久这个业务部门就被卖给田牌(微软)了,田牌接手后也曾推出旗舰_撸妹1520也确实搭载了全功能NFC而且还是可以无线充电的那种.在当时这做法很超前,不过消费者不了解再加上应用场景很少使用所以当时消费者并不感冒这项技术,鄙人当初尝了个鲜买了个撸妹,只可惜只有2%市场的windows phone应用匮乏,也就用无线充充电.时隔多年,因NFC的各项优点再次回到大家视野.

时闲逛论坛看到意法半导体在搞NFC设计大赛,本着学习和支持一下的想法报了个名, 没想到竟然中了,在此感谢官方的活动,几天后收到快递小哥送来包裹.嗯~拆箱点赞好评一键三联.
P00824-181102.jpg P00824-181108.jpg P00824-181047.jpg P00824-181116.jpg P00824-181123.jpg

这个是使用STM32L476RGT6的超低功耗NUCLEO底板和NFC动态标签扩展板.
模块化设计,UNO和ST morpho两种连接器,可以像玩积木一样搭建原型.板载虚拟串口,转接板都省了,非常方便

P00824-181716.jpg P00824-181543.jpg
来张特写,锡量刚刚好,做工不错.
P00824-182207.jpg P00824-182122.jpg
主角ST25DV04K,这是一个动态标签,简言之就是比普通标签多了一个I2C(可以MCU访问),LPD(低功耗),GPO(可编程中断),EH(能量收集),功能强大.价格低廉.

刚开始是想给音箱加个NFC蓝牙配对标签的,这样手机放上去就可以连接,想了想用动态标签就配个对实在太浪费,加上这两天天也冷,就想到个更好(懒)的主意.

应用思路如下:
做一个带有NFC动态标签的车载手机支架,功能实现上车后手机放入支架即可触发手机连接车机蓝牙,然后MCU再写入启动酷狗音乐的NDEF信息,如果需要导航就按下按键就能启动地图软件,配合地图软件语音输入目的地.从而实现上车即走(尤其冬天),解放双手.也避免了开车过程中使用手机带来的安全隐患.
首先介绍下这两个,

NFC蓝牙配对

蓝牙提供了一种 OOB(out-of-band)NFC 配对模式.这为我们用 NFC Tag 实现蓝牙从设备与主机
建立连接提供了便捷通道, 从而省去了主机蓝牙搜寻的过程, 提搞了蓝牙配对的速率及准确性.

Android应用程序记录

在Android 4.0(API级别14)中引入的Android应用程序记录(AAR)可确保在扫描annfc标签时启动应用程序。AAR具有嵌入NDEF记录内的应用程序的程序包名称。您可以将AAR添加到您的NDEF消息的任何NDEF记录中,因为Android会在整个NDEF消息中搜索AAR。如果找到anAAR,它将根据AAR中的程序包名称启动应用程序。功能的实现就是利用这两个,无需依赖APP,只要手机支持NFC即可.而且NFC耗电量极低,几乎可以忽略不记.硬件使用的是STM32L476底板和ST25DV04K扩展板,以及BT201蓝牙板(模拟车机音响),因为支持uart串口且功能强大成本低廉.

先看一下蓝牙配对:在"lib_NDEF_Bluetooth.h"头文件中 Ndef_Bluetooth_OOB_t 结构体下定义了多个成员,针对配对只需要指定蓝牙类型和蓝牙地址即可(前两个,也是必填项),其他是可选的.

再然后是AAR: 在"lib_NDEF_AAR.h"头文件中有结构体成员PackageName,赋值给它包名即可,
官方提供的X-CUBE-NFC4软件包,可以使用MX来配置生成初始代码,软件包中提供了配置教程和帮助文档,也可以在软件包下直接打开官方例程,这里我根据文档用的mx来配置生成初始代码. X-CUBE-NFC4.chm (1.91 MB, 下载次数: 1)