tag 标签: 读卡器

相关博文
  • 热度 7
    2022-3-31 11:01
    2687 次阅读|
    0 个评论
    用PN532模块制作一个OLED显示的NFC读卡器
    NFC(近场通信)在两个小环形天线之间使用磁感应,常用于各种智能卡的读写。项目采用Arduino Uno开发板读取PN532 NFC模块卡,显示器采用0.96″I2C OLED小屏幕。 使用的物料清单如下: Arduino Nano开发板 Adafruit PN532 RFID/NFC模块 SSD1306 0.96″OLED显示器 跳线 面包板 Arduino IDE(集成开发环境) Adafruit PN532 NFC近场通讯模块兼容Arduino设备,运用UART串口进行通讯。可用USB to UART转换器,通过电脑进行测试。用户也可根据自己需要,利用管脚改变数据传输方式,如IIC、SPI等。 该PN532 NFC近场通讯模块基于NXP PN532芯片,包含80C51微控制器内核,集成了13.56MHz下的各种主动/被动式非接触通信方法和协议,支持6种不同的工作模式: 读写器模式,支持ISO/IEC 14443A / MIFARE机制 读写器模式,支持 FeliCa机制 读写器模式,支持ISO/IEC 14443B机制 卡操作模式,支持ISO 14443A / MIFARE机制 卡操作模式,FeliCa机制 ISO/IEC18092,ECM340点对点 首先,我们按照电路图将PN532模块和OLED显示器连接到Arduino开发板: GND (Ground) GND VCC (Power supply) 5V SDA (Data) A4 SCL (Clock) A5 为读卡器更先进,我们采用Adafruit PN532 library,这个数据库兼容Arduino UNO/Nano板,支持I2C or SPI通信模式。下载Adafruit PN532库、Adafruit GFX库和SSD1306 OLED库,将如下代码上传到Arduino Nano开发板: #include #include #include #include #include #define PN532_IRQ (2) #define PN532_RESET (3) // Not connected by default on the NFC Shield #define SCREEN_WIDTH 128 // OLED display width, in pixels #define SCREEN_HEIGHT 64 // OLED display height, in pixels #define OLED_RESET 4 // Reset pin # (or -1 if sharing Arduino reset pin) #define SCREEN_ADDRESS 0x3C ///< See datasheet for Address; 0x3D for 128x64, 0x3C for 128x32; Adafruit_PN532 nfc(PN532_IRQ, PN532_RESET); Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET); void setup(void) { Serial.begin(115200); while (!Serial) delay(10); // for Leonardo/Micro/Zero Serial.println("Hello!"); nfc.begin(); if (!display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS)) { Serial.println(F("SSD1306 allocation failed")); for (;;); // Don't proceed, loop forever } uint32_t versiondata = nfc.getFirmwareVersion(); if (! versiondata) { Serial.print("Didn't find PN53x board"); while (1); // halt } // Got ok data, print it out! Serial.print("Found chip PN5"); 24) & 0xFF, HEX); Serial.print("Firmware ver. "); 16) & 0xFF, DEC); 8) & 0xFF, DEC); display.clearDisplay(); display.setCursor(0, 0); //oled display display.setTextSize(1); display.setTextColor(WHITE); display.print("Found chip PN5"); 24) & 0xFF, HEX); display.setCursor(0, 20); //oled display display.setTextSize(1); display.setTextColor(WHITE); display.print("Firmware ver. "); 16) & 0xFF, DEC); display.print("."); 8) & 0xFF, DEC); nfc.setPassiveActivationRetries(0xFF); // configure board to read RFID tags nfc.SAMConfig(); Serial.println("Waiting for an ISO14443A card"); display.setCursor(0, 40); //oled display display.setTextSize(1); display.setTextColor(WHITE); display.print("Waiting for NFC Card"); display.display(); } void loop(void) { boolean success; uint8_t uid , &uidLength); if (success) { Serial.println("Found a card!"); Serial.print("UID Length: "); Serial.print(uidLength, DEC); Serial.println(" bytes"); Serial.print("UID Value: "); display.clearDisplay(); display.setCursor(10, 0); //oled display display.setTextSize(1); display.setTextColor(WHITE); display.print("UID Length:"); display.print(uidLength, DEC); display.print(" bytes"); display.setCursor(35, 20); //oled display display.setTextSize(1); display.setTextColor(WHITE); display.println("UID Value: "); display.setCursor(5, 35); //oled display for (uint8_t i=0; i < uidLength; i++) { Serial.print(" 0x"); Serial.print(uid , HEX); display.print(" 0x"); display.print(uid , HEX); display.display(); } Serial.println(""); // Wait 1 second before continuing delay(1000); } else { // PN532 probably timed out waiting for a card Serial.println("Timed out waiting for a card"); } } 上传成功后就可以开始测试了。OLED显示器将显示固件版本1.6,并询问是否扫描卡片。 将银行卡、旅行卡、公交卡等NFC卡靠近PN532 NFC模块板,PN532将读取字节长度和UID值,并显示在OLED屏幕上。 字节长度有时是4位,有时是7位,这取决于卡的发卡机构的设定。如果不喜欢这个OLED显示器,也可以改用串口监视工具Serial Monitor来显示UID值和字节长度。
  • 热度 3
    2020-9-13 15:15
    4292 次阅读|
    1 个评论
    【2020意法半导体开发大赛】智能种植管理应用(1)
    承蒙面包板社区和意法半导体的厚爱,这次顺利申请到了ST25R3916开发板套餐。本次申请是希望在学校开展的金佛手种植实践智能化大棚建设中试用其智能化管理的价值应用。怎奈在收到开发板套餐的兴奋中无缘无故被一个官司缠身,两周来没有空去上电试用一下开发板套件,今天要抽出一点时间来验证一下应用,然后继续应对恼人的官司,等结束后再好好开发一下它的具体应用功能。先看一下应用环境:目前可以实现远程监控、远程控制喷灌、自动定时喷灌的智能大棚环境。 NFC(近场通信)顾名思义,是一种短距高频的无线电技术,在13.56MHz频率运行于20厘米距离内。目前近场通信已通过成为ISO/IEC IS 18092国际标准、EMCA-340标准与ETSI TS 102 190标准。其传输速度有106 Kbit/秒、212 Kbit/秒或者424 Kbit/秒三种,相比于蓝牙的传输速率小很多,但是连接、设置速度快,便于实时传输。本次获得的意法半导体ST25R3916开发板套餐,已经是一个比较完善的可直接应用的NFC读卡、识别应用系统。 本次获得的意法半导体ST25R3916开发板套餐,由NFC读卡器(含天线)板和MCU读写控制板两部分组成。读卡器板的核心是一颗ST25R3916芯片,MCU读写控制板带了一块带触控功能的液晶显示屏,使用起来十分便捷。 在MCU读写控制板的背面是一颗STM32L476VGT6的ARM内核32位单片微处理器,同时还自带了板载ST-LINK调试编程接口,方便对MCU进行程序编写和调试。 套餐中还带了三张空白的NFC标签卡,是印刷了电路和天线的贴纸,可以方便地贴在手机背面,方便随身携带,NFC标签最重要的功能是进行身份识别。对于智能化种植实践管理的大棚来说,进入者可以通过读卡器控制电子门锁,通过识别身份自动记录人工进入管护的时间,智能回溯智能种植活动中人工、管护活动进行过程。 当MCU读写控制板进入读写就绪状态时,只要NFC控制卡就能读取到,进行身份识别,简单连接就能实现门禁钥匙功能,更重要的是能够记录进出的时间点,实现智能化的干预行为记录回溯。 除了三张空白的NFC标签,开发板包装内还有个小袋子,里面有一大一小两个NFC标签,应该是可以适用于不同的应用场景,小标签只有一元硬币大小用起来应该会非常方便、便携。 MCU读写控制板还自带了一个标签信号强度的测试功能,方便测试标签是否良好、最远的读取距离,也是一个很方便的功能。目前就把这个设想罗列在这里,功能实现和扩展开发留待后面逐步去实现。
  • 热度 31
    2013-1-24 21:18
    12742 次阅读|
    0 个评论
    Wiegand(韦根)协议和RS485/RS422/RS232协议都是在门禁系统广泛应用的数据通信协议。Wiegand协议具有简单、通用的优点,但Wiegand协议通信的距离较短,一般短于30m。Wiegand读卡器的缺点就是RS485/RS422读卡器的优点。由于RS485/RS422传输的信号为差分信号,大大提高了抗干扰的能力,使RS485/RS422传输的距离大大提高,本产品采用9600bit/s的情况下可达1400m但由于没有一个让各厂家广泛接收的基于RS485/RS422的通信协议,所以RS485/RS422读卡器应用的广泛度远远不及Wiegand读卡器。 为了让广泛应用的Wiegand读卡器适用于读卡器与控制器距离较远的场合,需延长Wiegand信号的传输距离,WPT2123韦根协议转发器转换器就是实现此目的而设计的。 2.1韦根通讯协议: Wiegand(韦根)协议是由摩托罗拉公司制定的一种通讯协议,它适用于涉及门禁控制系统的读卡器和卡片的许多特性;其协议并没有定义通讯的波特率、也没有定义数据长度韦根格式主要定义是数据传输方式:Data0 和 Data1 两根数据线分别传输0和1.现在应用最多的是26bit,34bit,36bit2.1韦根通讯协议: Wiegand(韦根)协议是由摩托罗拉公司制定的一种通讯协议,它适用于涉及门禁控制系统的读卡器和卡片的许多特性;其协议并没有定义通讯的波特率、也没有定义数据长度韦根格式主要定义是数据传输方式:Data0 和 Data1 两根数据线分别传输0和1.现在应用最多的是26bit,34bit,36bit 2.1韦根通讯协议: Wiegand(韦根)协议是由摩托罗拉公司制定的一种通讯协议,它适用于涉及门禁控制系统的读卡器和卡片的许多特性;其协议并没有定义通讯的波特率、也没有定义数据长度韦根格式主要定义是数据传输方式:Data0 和 Data1 两根数据线分别传输0和1.现在应用最多的是26bit,34bit,36bit  
  • 热度 27
    2012-8-22 14:16
    1009 次阅读|
    0 个评论
      为低成本地实现具有以太网接口的读卡器,提出一种采用W7100新型网络微处理器的方案。该读卡器包括以太网传输、读IC卡和USB传输功能。W7100芯片不同于以往采用的以太网控制器。该芯片内置硬件TCP/IP协议栈且包含一个与8051微处理器二进制代码兼容的8位微处理器内核。只需要执行简单的网络传输命令即可实现以太网通信,而不涉及以太网协议。另外该芯片内置以太网物理层可直接连接内置变压器的RJ45插座,而不需要专用的物理层芯片。读卡器采用MFRC500实现读写IC卡功能、采用CH341T实现USB接口。实际应用结果表明该款读卡器运行稳定。没有出现无法刷卡和无法传输的情况。   本文作者是来自南京理工大学计算机学院的温冬伟、王平立和宋斌,全文发表在《电子设计工程》2011年第9期。   更多有关W7100的博文请看这里: W7100例程学习之ADC应用http://blog.iwiznet.cn/?p=691 用W7100,做自己的HTTP服务器 http://blog.iwiznet.cn/?p=684 W7100学习笔记 -W7100部分固件(firmware)解析http://blog.iwiznet.cn/?p=677 什么是API函数以及如何使用W7100A进行初始化(TCPIPCore)?(二)http://blog.iwiznet.cn/?p=628   也可进入我们的官方网站或博客查看更多。 如果您对WIZnet的产品或是技术感兴趣,请随时与我们联系。 可以直接留言或登录WIZnet官方网站:http://www.iwiznet.cn 公司微博是: http://weibo.com/wiznet2012 公司博客是:http://blog.iwiznet.cn/
  • 热度 16
    2010-12-7 14:08
    1398 次阅读|
    0 个评论
    读卡器解决方案
相关资源