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的更多相关文章

  1. RFID考试背诵

    简答题: 简述RFID标准多元化的原因: 由不同的技术因素.利益因素导致: 工作频率分布在低频至微波的多个频段中,频率不同,技术差异大. 作用距离的差异导致标准不同:因为应答器分为有源.无源两种工作方 ...

  2. 基于 Arduino 的 RFID 识别实验

    http://www.it165.net/embed/html/201512/3287.html 2015年12月04日(周五) 上午  博士的智能卡实验--RFID识别实验,基于51单片机: 我们的 ...

  3. C# RFID windows 服务 网络协议方式

    上篇话说是串口方式操作RFID设备. 下面介绍网络协议方式. 设备支持断线重连. 那我们的服务也不能差了不是. 所以这个服务类也是支持的哦. 不解释上代码: namespace Rfid { /// ...

  4. RFID电子标签天线的印刷

    RFID 电子标签技术又称RFID(Radio FrequencyIdentification)射频识别技术,是一种非接触式的自动识别技术,通过相距几厘米到几米距离内传感器发射的无线电波,可以读取RF ...

  5. RFID应用范围

    RFID应用范围 (1)物流: 物流过程中的货物追踪,信息自动采集,仓储应用,港口应用,邮政,快递 (2)零售: 商品的销售数据实时统计,补货,防盗 (3)制造业: 生产数据的实时监控,质量追踪,自动 ...

  6. RFID标签

    定义: RFID无线射频识别是一种非接触式的自动识别技术,它通过射频信号自动识别目标对象并获取相关数据,识别工作无须人工干预,可工作于各种恶劣环境.RFID技术可识别高速运动物体并可同时识别多个电子标 ...

  7. IC/RFID/NFC 关系与区别

    IC卡 (Integrated Circuit Card,集成电路卡) 有些国家和地区也称智能卡(smart card).智慧卡(intelligent card).微电路卡(microcircuit ...

  8. C# RFID windows 服务 串口方式

    话说RFID以前很火所以整理一下一年前自己处理的RFID程序,放源码. 一开始觉得他是个很神奇的东西. 包含串口通讯和网络通讯. 由于网络通讯设备太贵,所以国内的设备基本上都是在外置一个比较便宜的模块 ...

  9. RFID Hacking④:使用ProxMark3 破解门禁

    文中提及的部分技术可能带有一定攻击性,仅供安全学习和教学用途,禁止非法使用! 0×00 前言 国际黑客大会Defcon传统之一:开锁!因为黑客认为锁也是一种安全挑战.我们在黑客题材电影.电视剧中也常常 ...

  10. DIY FSK RFID Reader

    This page describes the construction of an RFID reader using only an Arduino (Nano 3.0 was tested, b ...

随机推荐

  1. 【331】python 下载文件:wget / urllib

    参考:python下载文件的三种方法(去掉-) 方法一:wget import wget, os # 设置下载路径 os.chdir(r"D:/tmp") url="ht ...

  2. MVC各层的职责

    Model(模型):模型代表着核心的业务逻辑和数据(不要理解成Model只是实体类) View(视图):视图应该关注与如何展示数据,而不应该包含任何业务逻辑(业务逻辑应写在Model中) Contro ...

  3. eclipse中项目出现红色的!

    eclipse中项目出现红色的!的原因有二个:1.jdk不匹配    2.缺少jar包

  4. Centos7手动编译安装Python3

    Python3的安装方式非常的简单,首先去到Python下载目录下载想要的Python包,这里我选择了3.6.5版本 $ wget https://www.python.org/ftp/python/ ...

  5. Python运维开发基础08-文件基础

    一,文件的其他打开模式 "+"表示可以同时读写某个文件: r+,可读写文件(可读:可写:可追加) w+,写读(不常用) a+,同a(不常用 "U"表示在读取时, ...

  6. EL表达式获取值栈数据

    ---------------------siwuxie095 EL 表达式获取值栈数据 1.导入 JSTL 相关包,下载链接: (1)http://tomcat.apache.org/taglibs ...

  7. KVC(forKey,forKeyPath)

    KVC是Cocoa一个大招,非常牛逼. 利用KVC可以随意修改一个对象的属性或者成员变量(并且私有的也可以修改)  如:Person.m文件中: @implementation Person{    ...

  8. LeNet

    LeNet 模型特点 LeNet5诞生于1994年,由Yann LeCun提出,充分考虑图像的相关性.当时结构的特点如下: 1)每个卷积层包含三个部分:卷积(Conv).池化(ave-pooling) ...

  9. 删除重复记录的最新sql脚本

    delete from tb1   where id in(select t2.minnum from(select MIN(t1.id) as minnum,t1.col1 as ars ,COUN ...

  10. 网络爬虫--requests库中两个重要的对象

    当我们使用resquests.get()时,返回的时response的对象,他包含服务器返回的所有信息,也包含请求的request的信息. 首先: response对象的属性有以下几个, r.stat ...