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. 当前触发事件的两种方式(onclick) 和 ('id') 获取

    1. <input type='text' onclick = 'Clickon(this)'> <script> function Clickon(num){ num.sty ...

  2. MYSQL 存储过程通用

    返回随机时间 函数 )) ) CHARSET utf8 BEGIN )); -- 随机天数 60天以内随机天数 )); -- 随机小时 ));-- 随机分 ));-- 随机秒 ); IF type = ...

  3. 枚举Enum转换为List,获取枚举的描述

    代码: public class EnumberHelper { public static List<EnumberEntity> EnumToList<T>() { Lis ...

  4. Golang之interface(多态,类型断言)

    多态用法 package main //一种事物的多种形态,都可以按照统一的接口进行操作 //多态 import ( "fmt" "math/rand" &qu ...

  5. php快速获取所有的自定义常量用户常量

    快速获取自定义的常量.用户常量 echo "<pre>"; print_r(get_defined_constants(true)['user']); echo &qu ...

  6. asp.net网站全局控制文件内注册事件

    在管理ASP.NET网站的时候,有时会对网站整体做出控制,这时把这些代码写在global.asax内可以做到全局控制. 未添加任何代码的global.asax文件如下: <script runa ...

  7. 前端传递对象列表到WebApi

    public Int64 objectPOC(JObject jsonWrapper) { dynamic jsonValues = jsonWrapper; JArray jsonInput = j ...

  8. Git config 配置文件

    一.Git已经在你的系统中了,你会做一些事情来客户化你的Git环境.你只需要做这些设置一次:即使你升级了,他们也会绑定到你的环境中.你也可以在任何时刻通过运行命令来重新更改这些设置. Git有一个工具 ...

  9. eclipse mac

    在mac下安装eclipse,挺简单的.只是字体会发虚,有点麻烦. 安装完成后,双击eclipse图标,显示包内容,contents--info.plist,在</dist>前加<k ...

  10. DATASNAP远程方法返回TSTREAM正解

    DATASNAP远程方法返回TSTREAM正解 DATASNAP远程方法返回TSTREAM,如果数据大小超过32K是会报错的.许多DELPHIER栽在这个上头,甚至开始怀疑TSTREAM返回数据的可行 ...