RFID
RFID
物联网必不可少会接触到RFID,国内比较常见的RFID读卡驱动芯片有两款。一款是NXP的RC522这系列的,非常稳定,当然也相对较贵,另一款是复旦微电子的FM1702系列,国产的便宜没得说,今天调的就是它了。对这个我也没有深入去学习,毕竟是非常成熟的东西了,直接从网上下个例程驱动修改一下就行(http://www.elecfans.com/soft/6/2015/20150414368305.html),今天主要就记录一下主要的快速学习过程和调试遇到的一些问题。
首先要了解一样新鲜事物,那必须得知道它的原理和过程,RFID是射频识别技术,分为很多种,这里说的是低频无源非接触式的,原理就是MCU通过操作FM1702芯片发送一串数据到射频天线上,天线产生对应的磁场,利用磁生电的原理,使靠近的卡片线圈中产生电流,这就实现了数据传输。那么作为金钱保存的卡片,不可能像内存一样发个地址数据就出来了吧,所以第一步就是学习卡片。卡片有很多种,我使用的是M1卡,主要呢是了解卡片如何实现数据的存储和读取。如图1-1是网上比较通用简洁的中文翻译文档,不过发现了一处错误,此处的例子应该是001状态时的。
图1-1
当了解了卡片是如何存储的,这时候就来看网上的这个例程,1千多行代码,不要被吓到了,其实封装得挺好的,主要看main函数,发现主要就在图1-2这个函数里做处理,基本每个case就处理一个功能。耐心跟几次就大致了解了寻卡、选择卡、防冲突这些功能函数,大致了解之后就开始移植驱动了,然后调试验证寻卡函数,只要能调通这个函数,后面的就水到聚成了。
图1-2
最后是我遇到的一个大问题,当卡片靠近读卡器的时候,卡片明显发热,而且寻卡时而成功时而失败,这时候我开始怀疑硬件了,最可能的地方肯定是天线了,模电的东西最难搞。可能是瞎猫撞上死耗子,直接被我锁定了天线的并联电容,经过调整电容的大小后,一切正常。最后的最后一定要一一验证函数功能,懒是一种好事,做底层的,有些再急也是不能省的,否则地基不稳,以后的高楼必然塌。验证函数功能后,有时间的话最后再瞧一眼,做一些稍微的改进,使以后的调用更方便。
对于天线的问题关系到产品的稳定性,还是值得探讨的。深夜了,这个问题过两天再补上。
RFID的更多相关文章
- RFID考试背诵
简答题: 简述RFID标准多元化的原因: 由不同的技术因素.利益因素导致: 工作频率分布在低频至微波的多个频段中,频率不同,技术差异大. 作用距离的差异导致标准不同:因为应答器分为有源.无源两种工作方 ...
- 基于 Arduino 的 RFID 识别实验
http://www.it165.net/embed/html/201512/3287.html 2015年12月04日(周五) 上午 博士的智能卡实验--RFID识别实验,基于51单片机: 我们的 ...
- C# RFID windows 服务 网络协议方式
上篇话说是串口方式操作RFID设备. 下面介绍网络协议方式. 设备支持断线重连. 那我们的服务也不能差了不是. 所以这个服务类也是支持的哦. 不解释上代码: namespace Rfid { /// ...
- RFID电子标签天线的印刷
RFID 电子标签技术又称RFID(Radio FrequencyIdentification)射频识别技术,是一种非接触式的自动识别技术,通过相距几厘米到几米距离内传感器发射的无线电波,可以读取RF ...
- RFID应用范围
RFID应用范围 (1)物流: 物流过程中的货物追踪,信息自动采集,仓储应用,港口应用,邮政,快递 (2)零售: 商品的销售数据实时统计,补货,防盗 (3)制造业: 生产数据的实时监控,质量追踪,自动 ...
- RFID标签
定义: RFID无线射频识别是一种非接触式的自动识别技术,它通过射频信号自动识别目标对象并获取相关数据,识别工作无须人工干预,可工作于各种恶劣环境.RFID技术可识别高速运动物体并可同时识别多个电子标 ...
- IC/RFID/NFC 关系与区别
IC卡 (Integrated Circuit Card,集成电路卡) 有些国家和地区也称智能卡(smart card).智慧卡(intelligent card).微电路卡(microcircuit ...
- C# RFID windows 服务 串口方式
话说RFID以前很火所以整理一下一年前自己处理的RFID程序,放源码. 一开始觉得他是个很神奇的东西. 包含串口通讯和网络通讯. 由于网络通讯设备太贵,所以国内的设备基本上都是在外置一个比较便宜的模块 ...
- RFID Hacking④:使用ProxMark3 破解门禁
文中提及的部分技术可能带有一定攻击性,仅供安全学习和教学用途,禁止非法使用! 0×00 前言 国际黑客大会Defcon传统之一:开锁!因为黑客认为锁也是一种安全挑战.我们在黑客题材电影.电视剧中也常常 ...
- DIY FSK RFID Reader
This page describes the construction of an RFID reader using only an Arduino (Nano 3.0 was tested, b ...
随机推荐
- 关于hibernate4.3版本之后org.hibernate.service.ServiceRegistryBuilder被弃用
之前一直都是使用hibernate4.2.21的我,有一天突然没有使用本地的jar包而是让IDEA自动下载最新版本的hibernate5.2.2之后,发现有几个经常使用的方法报错了. -这真是让我惊了 ...
- centos7 二进制安装MySQL5.7.22
1.详细描安装的过程 1.1关闭防火墙 systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service ...
- How do I list subversion repository's ignore settings
If it is Windows and you are using TortoiseSVN, then right-click on a folder of the working copy, go ...
- 实现socketChannel 通信例子
https://blog.csdn.net/qq_33935895/article/details/79678345
- java普通类如何调用Spring的Service层?
首先在Service层上面添加 @Service("myService") 然后,在main方法中调用,String[]中为配置文件,如下所示: ApplicationContex ...
- SQL Server判断数据库、表、存储过程、函数是否存在
--判断数据库是否存在 if exists (select * from sys.databases where name = '数据库名') drop database [数据库名] --判断表是否 ...
- SQLite介绍
优点:轻量级.绿色组件.单一文件.跨平台.查询效率极高.使用事务插入速度极快.支持limit分页. 适合查询速度要求较高,内存占用较少的场合,尤其是嵌入式操作系统,如各种手机操作系统,低并发web(9 ...
- golang之panic,recover,defer
defer,recover: 运行时恐慌一旦被引发,就会向调用方传播直至程序崩溃. recover内建函数用于“拦截”运行时恐慌,可以使当前的程序从恐慌状态中恢复并重新获得流程控制权. recover ...
- Linux automake命令
1)automake 使用教程 http://loftor.com/archives/automake.html 2)configure.in Makefile.am解析 http://blog.cs ...
- loadrunner--步长(Pacing)的设置及作用
Pacing时间的设置需要根据使用您系统的用户的行为来决定. 如果您那边的用户在您的系统上做完一套操作后不会做下一套,则可能不需使用Pacing. 如果您那边用户在系统上需要不断地做同样的操作,比如他 ...