Microduino nRF24组网NFC电脑解锁/zh

来自Microduino Wikipedia
Radiumray9@gmail.com讨论 | 贡献2014年12月30日 (二) 03:16的版本 调试
跳转至: 导航搜索
Language English

概述

  • 项目名称:Microduino nfc电脑解锁
  • 目的:解决电脑锁屏后键盘繁琐输入密码,Microuino通过NFC结合nRF24无线通讯,通过电子标签轻松实现瞬间解锁。只要一个Microduino NFC模块配合多个电子标签就可以实现多台电脑的开启
  • 难度:高级
  • 耗时:6小时
  • 制作者:Microduino Studio-YLB

原理

该系统采用Microduino nRF24组网。主系统采用Miccroduino核心板(Miccroduino -Core或Microduino Core+或Microduino 32U4)、Microduino nRF24、Microduino NFC、Microduino FT232R这些模块作为网关。 采用Miccroduino -Core、Microduino nRF24、自制AVR-USB-HID设备作为网关节点。每个电子标签承载不同的ID号,网关识别到不同卡号的时,才向指定的节点发送命令,否者将一直等待电子标签。当节点接收到命令数据后,触发AVR-USB-HID设备传入密码至电脑(实质是模拟电脑键盘输入键盘值),这样就实现电子标签瞬间对电脑进行解锁。

Microduino nfc—nrf.jpg

材料清单

模块 数量 功能
Microduino-CoreUSB/zh 2 核心板, 下载程序和供电
Microduino-nRF24/zh 2 组网、无线通信
Microduino-NFC/zh 1 读取电子标签

其他硬件设备

电子标签 1 相当于电脑身份证
USB数据线 3 供电

文档

使用到RF24库下载地址:RF24

使用到NFC库下载地址:Adafruit_NFCShield_I2C

测试程序下载地址:Microduino_nrf_NFC

方案一:单个Microduino-CoreUSB解锁

调试

步骤一:堆叠Microduino-CoreUSB和Microduino-NFC模块,看起来像这样:

Microduino nfc nrfVersion1 1.png

步骤二:下载MicroduinoNFCComputerUnlock.ino的代码,编译运行

步骤三:用NFC标签靠近感应区,这是你的电脑如果打开个记事本的话应该会出现microduino字样:

Microduino nfc nrfVersion1 2.png

结果

系统搭建完毕,当网关读取到电子标签1,节点1的电脑能自动如入密码,进行解锁,当网关读取到电子标签2,节点2的电脑能自动如入密码,进行解锁,实现瞬间对电脑解锁。

难点

  • AVR-USB-HID设备制作,需要将USB信号线的电压限制在2.8-3.6V。电源和匹配电阻很重要;
  • Microduino NRF24组网,无线通讯;
  • Microduino NFC电子标签识别。

注意问题

  • AVR-USB-HID设备制作时别把USB的D+、D-信号线弄错;
  • 目前Microduino NFC能够识别iso14443a型号的电子标签;
  • 节点和电脑匹配好;否则密码相反。

视频

http://v.youku.com/v_show/id_XNjk5NjM2Mjc2.html

方案二:采用Microduino 32U4作为USB设备

这里32U4相当于我们方案一里的AVR-USB-HID设备和Microduino核心板,因此我们只需要再叠加一个MIcroduino nRF24就可以搭建一个节点了。玩家不再需要焊接电路板了。

    • 调试:

我们使用到的是Arduino自带的USB库,用他来实现模拟键盘数据输入。

步骤一:使用32U4和NFC搭建一个模拟键盘

下载测试程序“Microdiono_nfc_32u4”该程序实现通过NFC电子标签将指定的字符(模拟键盘按下值)在文本文档中打印出来。

玩家需要注意程序的几点: 1.玩家参考方案一更改自己成的卡号

2.“Keyboard.write();”函数只按一次按键,“Keyboard.press()”函数一直按住按键,要配合“Keyboard.releaseAll()”函数一起使用;

3.输入大小写字母数字直接用单引号,例如按下大写字母M:“Keyboard.write(‘M’);”,输入特殊案件则在hardware\arduino\cores\arduino里的“USBAPI.h”文件可以看到特殊按键名称,方法例如按下回车:“Keyboard.write(KEY_RETURN);”

步骤二:搭建网关 和方案一一样,这里不详细介绍,程序也一样。注意玩家需要更改自己的卡号。

步骤三:搭建节点 只需要一个Microduino 32U4和一个MIcroduino nRF24模块即可

Microduino nfc nrf9.jpg

程序换成microduino_nrf_nfc_receive_32u4即可 玩家需要更换成自己的密码(模拟按键值) 玩家可以在D6引脚接上LED指示灯观看nRF24是否正常通讯,有数据连接则LED灯点亮。

比较

  • 方案二比方案一更简单直接
  • 方案二不用焊接电路
  • 方案二可以一个NFC直接控制一台电脑也可以一个NFC同时控制多台电脑。