“Microduino nRF24组网NFC电脑解锁/zh”的版本间的差异
(→概述) |
|||
第90行: | 第90行: | ||
**叠堆 | **叠堆 | ||
[[File:Microduino_nfc_nrf4.jpg||600px|center|thumb]] | [[File:Microduino_nfc_nrf4.jpg||600px|center|thumb]] | ||
− | ** | + | **下载需要使用到的所有的库,放到Arduino IDE编译器文件夹里的libraries文件夹内; |
− | ** | + | **修改匹配电子标签的卡号,使用NFC自带库将ID读取出来,打开Adafruit_NFCShield_I2C\examples\iso14443a_uid的示例程序,把“ Serial.print(" 0x");Serial.print(uid[i], HEX); ”改成“Serial.print(uid[i]); ”我们要的是uid[i]的值,改完编译通过后选择好板卡直接下载,下载成功打开串口监视器,刷卡就能识别出卡号了; |
+ | **打开我们的“Microduino_nfc_nrf_send”程序,“dataCard_one[4]”和“dataCard_two[4]”数组用来存放匹配卡号,玩家把他改成自己的卡号就行,编译通过后选择好板卡直接下载; | ||
*步骤三:搭建节点 | *步骤三:搭建节点 | ||
第122行: | 第123行: | ||
==视频== | ==视频== | ||
http://v.youku.com/v_show/id_XNjk5NjM2Mjc2.html | http://v.youku.com/v_show/id_XNjk5NjM2Mjc2.html | ||
+ | |||
+ | ==方案二:采用Microduino 32U4作为USB设备== | ||
+ | 这里32U4相当于我们方案一里的AVR-USB-HID设备和Microduino核心板,因此我们只需要再叠加一个MIcroduino nRF24就可以搭建一个节点了。玩家不再需要焊接电路板了。 | ||
+ | |||
+ | **调试: | ||
+ | 我们使用到的是Arduino自带的USB库,用他来实现模拟键盘数据输入。 | ||
+ | 步骤一:使用32U4和NFC搭建一个模拟键盘 | ||
+ | 下载测试程序: | ||
+ | 该程序实现通过NFC电子标签将指定的字符(模拟键盘按下值)在文本文档中打印出来。 | ||
+ | [[File:Microduino_nfc_nrf8.jpg||600px|center|thumb]] | ||
+ | 玩家需要注意程序的几点: | ||
+ | 玩家参考方案一更改自己成的卡号 | ||
+ | “Keyboard.write();”函数只按一次按键,“Keyboard.press()”函数一直按住按键,要配合“Keyboard.releaseAll()”函数一起使用; | ||
+ | 输入大小写字母数字直接用单引号,例如按下大写字母M:“Keyboard.write(‘M’);”,输入特殊案件则在hardware\arduino\cores\arduino里的“USBAPI.h”文件可以看到特殊按键名称,方法例如按下回车:“Keyboard.write(KEY_RETURN);” | ||
+ | 步骤二:搭建网关 | ||
+ | 和方案一一样,这里不详细介绍 | ||
+ | 步骤三:搭建节点 | ||
+ | 只需要一个Microduino 32U4和一个MIcroduino nRF24模块即可 | ||
+ | [[File:Microduino_nfc_nrf9.jpg||600px|center|thumb]] | ||
+ | [[File:Microduino_nfc_nrf10.jpg||600px|center|thumb]] | ||
+ | |||
+ | 程序换成microduino_nrf_nfc_receive_32u4即可 | ||
+ | 玩家需要更换成自己的密码(模拟按键值) | ||
+ | 玩家可以在D6引脚接上LED指示灯观看nRF24是否正常通讯,有数据连接则LED灯点亮。 | ||
+ | [[File:Microduino_nfc_nrf11jpg||600px|center|thumb]] | ||
+ | ==比较== | ||
+ | *方案二比方案一更简单直接 | ||
+ | *方案二不用焊接电路 | ||
+ | *方案二可以一个NFC直接控制一台电脑也可以一个NFC同时控制多台电脑。 | ||
|} | |} |
2014年4月18日 (五) 04:07的版本
目录概述
原理该系统采用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网关
Microduino 网关节点
其他硬件设备
文档使用到UsbKeyboard库下载地址:https://github.com/suapapa/arduino_library_UsbKeyboard 使用到RF24库下载地址:https://github.com/maniacbug/RF24/ 使用到NFC库下载地址:https://github.com/adafruit/Adafruit_NFCShield_I2C 调试
AVR-USB-HID设备识别电压要满足在2.8-3.6V之间,这里只介绍一种方法将Microduino供电改成3.3V,将Microduino-Core上的电源选择零电阻更换到3.3V接口上,这样I/O口电压就可以满足了。另一种方法没改变Microduino -Core的解法,采用稳压管稳压,详细参考:http://www.microduino.cc/wiki/index.php?title=Lesson_5--Microduino_Simulates_Computer_Keyboard
原理图原理介绍: 1.两个68Ω电阻起到限流和保护功能,防止意外情况损坏电脑的USB端口或单片机端口。 2.是为2.2kΩ上拉电阻,用来区分总线的状态。如果上拉电阻连接到D +和+5 V,它是一种高速USB设备,否则连接到D-和+5 V,用作低速设备。键盘的传输速率不高在我们的实验,所以connenct到D-为低速设备。 3.3.3V稳压芯片用来给系统供电,并使Microduino核心板I/O口电压在3.3V左右,便于识别USB设备。
我们搭建两路节点,因此在网关程序中只定义了两路,用“x”的值选择节点,用户如果需要增加节点,只需要增加判断卡号语句和“x”的值就可以实现。
将网关供电,并且节点通过AVR-USB-HID设备接入电脑,分别让NFC识别电子标签,观察记事本返回的数据是否与电脑设置的密码匹配,匹配成功即可开始控制。 结果系统搭建完毕,当网关读取到电子标签1,节点1的电脑能自动如入密码,进行解锁,当网关读取到电子标签2,节点2的电脑能自动如入密码,进行解锁,实现瞬间对电脑解锁。 难点
注意问题
视频http://v.youku.com/v_show/id_XNjk5NjM2Mjc2.html 方案二:采用Microduino 32U4作为USB设备这里32U4相当于我们方案一里的AVR-USB-HID设备和Microduino核心板,因此我们只需要再叠加一个MIcroduino nRF24就可以搭建一个节点了。玩家不再需要焊接电路板了。
我们使用到的是Arduino自带的USB库,用他来实现模拟键盘数据输入。 步骤一:使用32U4和NFC搭建一个模拟键盘 下载测试程序: 该程序实现通过NFC电子标签将指定的字符(模拟键盘按下值)在文本文档中打印出来。 玩家需要注意程序的几点: 玩家参考方案一更改自己成的卡号 “Keyboard.write();”函数只按一次按键,“Keyboard.press()”函数一直按住按键,要配合“Keyboard.releaseAll()”函数一起使用; 输入大小写字母数字直接用单引号,例如按下大写字母M:“Keyboard.write(‘M’);”,输入特殊案件则在hardware\arduino\cores\arduino里的“USBAPI.h”文件可以看到特殊按键名称,方法例如按下回车:“Keyboard.write(KEY_RETURN);” 步骤二:搭建网关 和方案一一样,这里不详细介绍 步骤三:搭建节点 只需要一个Microduino 32U4和一个MIcroduino nRF24模块即可 程序换成microduino_nrf_nfc_receive_32u4即可 玩家需要更换成自己的密码(模拟按键值) 玩家可以在D6引脚接上LED指示灯观看nRF24是否正常通讯,有数据连接则LED灯点亮。 比较
|