关于st25系列NFC标签简单介绍及st25TV系列用于门禁读取时的注意事项总结
关于st25系列NFC标签简单介绍及st25TV系列用于门禁读取时的注意事项总结
文章目录
- 关于st25系列NFC标签简单介绍及st25TV系列用于门禁读取时的注意事项总结
- 1. 前言
- 2. ST25 NFC/RFID系列标签介绍
- 3. ST25TV系列选择
- 4. ST25TV02K开发相关参考文档
- 5. ST25TV02K相关工具
- 6. stm32实现读取st25TV02K NFC
- 6.1 方案选型
- 6.2 基础代码框架
- 6.3 结合数据手册实现新接口
- 6.4 读写密码需要实现的接口注意事项
- 7. 最后
1. 前言
由于之前使用的M1卡作为门禁卡时容易被复制的情况,目前选用了st25TV系列NFC来作为门禁卡,并启用其带有的数据区加密功能,读取数据区数据时必须先发送密钥,否则只能读取卡号和0区,因此只要确保加密密钥的不易破解性,那么门禁卡也就不容易被复制了,针对该系列的读写程序已经开发完成,这里总结一下相关坑点,避免后续走弯路。
2. ST25 NFC/RFID系列标签介绍
这个可以通过st官网查看,有中文,目前主要包括:ST25TA、ST25TB、ST25TN、ST25TV几个系列的NFC标签,使用的场景和读写协议存在差异:https://www.st.com/zh/nfc/st25-nfc-rfid-tags.html
ST25TA:该系列产品支持NFC应用如标签、NFC令牌、NFC智能标贴、NFC名片(虚拟卡)。它可用于包括消费电子、计算机外设、游戏设备、家用电器、工业自动化和医疗产品在内的各种应用。(https://www.st.com/zh/nfc/st25ta-series-nfc-tags.html)
ST25TB:ST25TB系列RFID标签兼容ISO14443标准,可以支持公共交通和活动票务等应用。 它们提供了先进的RF性能,包括计数超过40亿次的计数器。(https://www.st.com/zh/nfc/st25tb-series-nfc-tags.html)
ST25TN:ST25TN系列可与Android/iOS NFC手机和NFC Forum兼容读写器通信,为各种消费者参与、产品信息和智能标签场景提供非常广泛的可能性。这种高性价比ST25TN系列面向多种应用,如游戏、服饰鞋类、消费性包装品、运动产业、酒水,并在成本与性能之间取得了良好的平衡。(https://www.st.com/zh/nfc/st25tn-series-nfc-tags.html)
ST25TV:ST25TV Type 5 NFC标签IC是首个结合ISO/IEC 15693标准长距离通信的便利性和篡改检测能力的解决方案。与其他NFC类型标签相比,ST25TV标签更容易被读取,从而改进了产品设计的用户体验。产品设计者和制造商现在可以使用更小的NFC标签和贴纸,这些标签和贴纸更安全且更容易安装,以增强与客户的互动。这种独特的解决方案可以在整个产品生命周期(从制造点到销售点的消费者互动,以及后续阶段)中使用。它赋予了日常消费品数字化生命。ST25TV标签可用于基于云管理的品牌保护,比如葡萄酒和白酒、药品和奢侈品等不同应用领域的防伪/篡改检测。它们还可以与远程HF RFID读写器一起用于产品识别以及物流和可追溯性应用。(https://www.st.com/zh/nfc/st25tv-series-nfc-tags.html)
3. ST25TV系列选择
主要根据需要的存储空间进行选择,比如你需要1k左右的空间来存储门禁数据扩展也不会太多,则可以使用ST25TV02K,其工作频率为13.56 MHz的2-Kbit EEPROM标签IC,具有64位UID和密码,基于ISO/IEC 15693和ISO/IEC 18000-3模式1,即2k字节的数据区空间,8字节的UID,可以基于ISO/IEC 15693协议进行读写。(选择产品可以参考:https://www.st.com/zh/nfc/st25tv-series-nfc-tags.html#products)
4. ST25TV02K开发相关参考文档
直接在文档页面下载数据手册和一些文档:
https://www.st.com/zh/nfc/st25tv02k.html#documentation
5. ST25TV02K相关工具
https://www.st.com/zh/nfc/st25tv02k.html#tools-software
有相关的测试软件可供使用,包括Windows PC、ios、Android等,对应的SDK是Java的。
6. stm32实现读取st25TV02K NFC
6.1 方案选型
还是老问题了,之前我就说过,门禁这块其实可以Android直接读卡,但是原有方案使用stm32单片机来读取,然后再通过串口发送给Android端,这个历史缘由我也找到了,因为这部分的卡读取方案是由一个没有Android的stm32做的刷卡touch来的,为了快速在Android门禁机上实现,直接把这个touch的stm32通过Android上的串口连接起来了,Android端就不用再开发这块了,直接定义协议和stm32交互就可以了(实际上Android端开发的话相关的sdk之类的更多更方便),真是个悲伤的故事。
6.2 基础代码框架
stm32读取该NFC我们使用的15693协议,上面看到也可以使用18000-3,这块可以直接在网上买相关的开发套件,一般会给到各种协议的示例程序。
如果没有的话可以参考st这里的固件源代码:https://www.st.com/content/st_com/zh/products/embedded-software/st25-nfc-rfid-software/stsw-st25r002.html
是通过st的论坛找到的,但是你可能需要根据自己的情况进行调试:https://shequ.stmicroelectronics.cn/forum.php?mod=viewthread&tid=618387&extra=
根据自己的协议实现即可,15693这里还是能用的,虽然没有实现所有的接口,但是基础的读写之类的都是有的,至少不用自己去整时序直接操作寄存器了:
6.3 结合数据手册实现新接口
这里以st25v02k为例进行说明,如何借助上面st上找到的固件源码实现其它的适用于本产品的接口。
下载datasheet这里不再说了,一般是英文的,但是也有可能是中文的,比如st25v02k这个就是中文的,虽然仍然晦涩:
你需要先看一下对应包括哪些接口(我这里所谓的接口就是指访问设备时的协议实现接口):
从这里可以看到Inventory、Select、Read Single Block、Write Single Block、Read Multiple Blocks、Get System information这些指令接口在搜到的固件源码中已经有了,我们接下来实现新的接口就可以了,比如:Write Password、Present Password、Read Configuration、Write Configuration、Set Untraceable mode、Get Random Number。
但是有个问题,我们该实现哪些接口,这些接口如何组合使用,目前没有好的方法,除非你买一个官方的开发板,里面有现成的示例demo,否则你可能就得试了。
6.4 读写密码需要实现的接口注意事项
接下来就是我们要实现的读写密码这块了,固件代码中没有这块,我们要实现对st25v02K NFC的加密该如何做,读数据前解密又如何做?根据数据手册,看起来write password是比较像写密码的,反正中间花了很多时间啃datasheet和尝试,最终总算理清了整个处理过程,这里总结一下。
写密码:初始化->选卡->获取随机数->发送密钥->写密码->写配置。
读数据:初始化->选卡->获取随机数->发送密码->读数据。
注意点:
- 1、present password相当于发送密码进行校验,出厂密码为全0;
- 2、写完密码后需要调用写配置的接口修改卡状态为加密状态,卡不会自动根据密码是不是全0修改自身状态为加密状态,需要自己修改配置,否则密码写进去了,下次判断卡还是未加密状态;
- 3、每次读数据前都需要发送密码进行校验,校验通过才能调用读取多块数据的接口读到数据,否则读不到数据;
- 4、判断卡是否已加密可以通过读配置这个接口来判断;
7. 最后
目前主要用到的NFC卡大部分都是符合14443a、14443b、15693协议的,包括公交卡、身份证、门禁卡、手环手表手机的NFC等等,所以找一个开发板研究一下这几个协议对于NFC这块的开发会比较有帮助;此外,封装库和sdk以及提供demo和帮助文档对于芯片推广是非常有必要的,否则直接去操作芯片恐怕大家集成起来会比较困难,持续性的提供维护和帮助服务也是非常重要的,比如Android开发和stm32开发的官方帮助文档就比较全面,很多时候在官网中就可以找到很好的解决方案。
关于st25系列NFC标签简单介绍及st25TV系列用于门禁读取时的注意事项总结相关推荐
- openresty开发系列10--openresty的简单介绍及安装
openresty开发系列10--openresty的简单介绍及安装 一.Nginx优点 十几年前,互联网没有这么火,软件外包开发,信息化建设,帮助企业做无纸化办公,收银系统,工厂erp,c/s架构偏 ...
- 苹果7pnfc功能门禁卡_苹果下个月终于要开放NFC权限了!iphone一秒变身门禁卡
原标题:苹果下个月终于要开放NFC权限了!iphone一秒变身门禁卡 当我们开始习惯用iPhone的NFC功能进行移动支付,苹果公司要进一步开放NFC芯片功能,它将能用来充当钥匙,可以打开房门车门. ...
- id门禁卡复制到手机_手机NFC有哪些功能?怎么设置手机门禁卡?别浪费了手机的NFC功能...
NFC功能早前都运用一些手机旗舰机中,随着手机技术的发展,现在有许多的手机都有NFC的功能,那手机中的NFC只是个摆设吗?NFC不仅仅有不依靠数据网络.安全稳定的特点,其实还有许多你不知道的功能!比如 ...
- IPFS技术系列之IPFS简单介绍
前言 随着社会网络的不断发展,当前时代人们对网络资源的渴求越来越大,从文本.图片乃至视频文件.然而在人们的日常使用中,传统的HTTP协议的诟病一一浮现出来,于此同时其他的传输协议也不断兴起,IPF ...
- 【Qt】控件——QPlainTextEdit使用简单介绍:常用方法及信号、逐行读取编辑框的内容、使用自带的快捷菜单、作为日志显示窗口
Qt控件-QPlainTextEdit使用 参考链接: https://blog.csdn.net/seniorwizard/article/details/109726147; https://bl ...
- pn532未发现nfc设备_NFC手机手环脱机模拟加密门禁卡,你get了吗?
目标:将门禁卡.考勤卡.会员卡.停车卡.电梯卡等等各种卡模拟进手机里,模拟后可用手机代替刷卡,无需root,不用电脑 背景介绍: 1. 前言 目前,IC卡已被广泛应用于身份识别.金融消费.安全认证 ...
- ngrok工具的介绍与使用,以及使用此工具时注意的事项
1.前几天,有个同学分享了一个工具,叫ngrok,ngrok是一个反向代理,通过在公共的端点和本地运行的Web服务器之间建立一个安全的通道.详细介绍可以看百度百科的介绍:ngrok介绍 ,下面我来介绍 ...
- Android NFC 标签读写Demo与历史漏洞概述
文章目录 前言 NFC基础 1.1 RFID区别 1.2 工作模式 1.3 日常应用 NFC标签 2.1 标签应用 2.2 应用实践 2.3 标签预览 2.4 前台调度 NFC开发 3.1 NDEF数 ...
- ShardingSphere(一)ShardingSphere简单介绍及相关概念
一.ShardingSphere简单介绍 出现背景:当数据库数据巨大时,数据库读写性能将变得很低,为了解决此问题,设计时,可以将数据进行分别存储于不同数据库.不同表中,以降低单表量数量大问题:Shar ...
最新文章
- UC伯克利最新深度强化学习课程上线,视频已上传到B站
- 架构师之路 — 分布式系统 — 分布式事务难题
- linux automake-1.16 编译错误 Try `--no-discard-stderr' if option outputs to stderr
- ExtJs之gridPanel的属性表格,编辑表格,表格分页,分组等技巧
- 读书笔记_代码大全2第七章_高质量的子程序
- 独占一行 html_HTML基础-语义化标签
- 【Ids4实战】最全的 v4 版本升级指南
- 什么是CAS机制?(进阶篇)
- 使用保险丝结构管理MQ和ESB的大型部署,第I部分
- 刘志明 | 知识图谱及金融相关
- GUI编程tkinter模块常用参数(python3)
- 在运行hadoopdb\hive\hadoop源码时不能正确调用自定义core-site.xml等配置文件
- java扫描局域网中可用ip_使用java线程扫描局域网ip简单方案
- Audiority Big Goat Mac(模拟建模复古失真插件)
- 【WPF】Slider 任意位置拖动
- blastn、blastp、blastx、tblastn和tblastx的区别与用法
- Windows自带工具提取颜色得到十六进制颜色码
- 新手免费搭建个人网站
- 百度地图API去掉百度logo信息等
- 消灭害虫V1.0 | EliminatePests V1.0
热门文章
- Red Hat 认证工程师(RHCE)
- win7计算机里不显示摄像头,win7没有摄像头图标怎么办|win7显示摄像头图标的方法...
- java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal
- [转载]java图片缩放处理
- 双十一活动三个阶段分别需要做什么,双十一怎样引流,双十一怎样开直通车
- 后羿采集器怎么导出数据_数据采集教程_智能模式_基本操作流程_后羿采集器
- Asus EeePC X101上网本为MeeGo带来新的生机
- Office 2007兼容工具包
- Ubuntu20.04桌面系统快速上手教程
- C语言简单的键盘玩扫雷小游戏(完结)