“Microduino nRF24组网NFC电脑解锁/zh”的版本间的差异
(→原理图) |
(→关于Apple Mac电脑解锁) |
||
(未显示同一用户的27个中间版本) | |||
第1行: | 第1行: | ||
+ | {{Language|Microduino nRF24 set up network and NFC unlock computer}} | ||
{| style="width: 800px;" | {| style="width: 800px;" | ||
|- | |- | ||
第16行: | 第17行: | ||
==材料清单== | ==材料清单== | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
{|class="wikitable" | {|class="wikitable" | ||
第36行: | 第22行: | ||
|模块||数量||功能 | |模块||数量||功能 | ||
|- | |- | ||
− | |Microduino- | + | |[[Microduino-CoreUSB/zh]]||2||核心板, 下载程序和供电 |
|- | |- | ||
− | |Microduino- | + | |[[Microduino-nRF24/zh]] ||2||组网、无线通信 |
|- | |- | ||
− | |Microduino- | + | |[[Microduino-NFC/zh]] ||1||读取电子标签 |
− | |||
− | |||
|} | |} | ||
第54行: | 第38行: | ||
|} | |} | ||
==文档== | ==文档== | ||
− | + | 使用到UsbKeyboard库下载地址:[https://github.com/suapapa/arduino_library_UsbKeyboard arduino_library_UsbKeyboard] | |
− | + | 使用到RF24库下载地址:[https://github.com/maniacbug/RF24 RF24] | |
− | + | 使用到NFC库下载地址:[https://github.com/adafruit/Adafruit_NFCShield_I2C Adafruit_NFCShield_I2C] | |
− | + | 测试程序下载地址:[https://github.com/Microduino/Microduino_Tutorials/tree/master/Microduino_Advanced_Tutorial/Microduino_nrf_NFC Microduino_nrf_NFC] | |
− | ==''' | + | =='''方案一:单个Microduino-CoreUSB解锁'''== |
==调试== | ==调试== | ||
− | + | 步骤一:堆叠Microduino-CoreUSB和Microduino-NFC模块,看起来像这样: | |
− | + | [[File:Microduino_nfc_nrfVersion1_1.png||600px|center|thumb]] | |
− | + | ||
− | + | 步骤二:下载Microdiono_nfc_32u4.ino的代码,编译运行 | |
− | + | ||
− | + | 该程序实现通过NFC电子标签将指定的字符(模拟键盘按下值)在文本文档中打印出来。 | |
− | + | ||
− | + | 玩家需要注意程序的几点: | |
− | + | ||
− | + | 1.玩家参考方案一更改自己成的卡号 | |
− | + | ||
− | + | 2.“Keyboard.write();”函数只按一次按键,“Keyboard.press()”函数一直按住按键,要配合“Keyboard.releaseAll()”函数一起使用; | |
− | + | ||
− | + | 3.输入大小写字母数字直接用单引号,例如按下大写字母M:“Keyboard.write(‘M’);”,输入特殊案件则在hardware\arduino\cores\arduino里的“USBAPI.h”文件可以看到特殊按键名称,方法例如按下回车:“Keyboard.write(KEY_RETURN);” | |
− | [[File: | + | |
− | + | 步骤三:用NFC标签靠近感应区,这是你的电脑如果打开个记事本的话应该会出现microduino字样: | |
− | + | [[File:Microduino_nfc_nrfVersion1_2.png||600px|center|thumb]] | |
− | + | ||
− | + | ==结果== | |
− | + | 当你的电脑进入休眠状态后,通过刷NFC就可以代替你用键盘输入密码解锁了。 | |
+ | |||
+ | =='''方案二:采用Microduino-CoreUSB搭建网关多节点'''== | ||
+ | |||
+ | |||
+ | **调试: | ||
− | + | 步骤一:搭建网关 | |
− | |||
− | |||
− | |||
− | |||
**下载需要使用到的所有的库,放到Arduino IDE编译器文件夹里的libraries文件夹内; | **下载需要使用到的所有的库,放到Arduino IDE编译器文件夹里的libraries文件夹内; | ||
**修改匹配电子标签的卡号,使用NFC自带库将ID读取出来,打开Adafruit_NFCShield_I2C\examples\iso14443a_uid的示例程序,把“ Serial.print(" 0x");Serial.print(uid[i], HEX); ”改成“Serial.print(uid[i]);Serial.print(","); ”我们要的是uid[i]的值,改完编译通过后选择好板卡直接下载,下载成功打开串口监视器,刷卡就能识别出卡号了; | **修改匹配电子标签的卡号,使用NFC自带库将ID读取出来,打开Adafruit_NFCShield_I2C\examples\iso14443a_uid的示例程序,把“ Serial.print(" 0x");Serial.print(uid[i], HEX); ”改成“Serial.print(uid[i]);Serial.print(","); ”我们要的是uid[i]的值,改完编译通过后选择好板卡直接下载,下载成功打开串口监视器,刷卡就能识别出卡号了; | ||
**打开我们的“Microduino_nfc_nrf_send”程序,“dataCard_one[4]”和“dataCard_two[4]”数组用来存放匹配卡号,玩家把他改成自己的卡号就行,编译通过后选择好板卡直接下载; | **打开我们的“Microduino_nfc_nrf_send”程序,“dataCard_one[4]”和“dataCard_two[4]”数组用来存放匹配卡号,玩家把他改成自己的卡号就行,编译通过后选择好板卡直接下载; | ||
− | + | 步骤二:搭建节点 | |
− | + | 只需要一个Microduino 32U4和一个MIcroduino nRF24模块即可 | |
− | [[File: | + | [[File:Microduino_nfc_nrf9.jpg||600px|center|thumb]] |
− | + | [[File:Microduino_nfc_nrf10.jpg||600px|center|thumb]] | |
− | [[File: | + | |
我们搭建两路节点,因此在网关程序中只定义了两路,用“x”的值选择节点,用户如果需要增加节点,只需要增加判断卡号语句和“x”的值就可以实现。 | 我们搭建两路节点,因此在网关程序中只定义了两路,用“x”的值选择节点,用户如果需要增加节点,只需要增加判断卡号语句和“x”的值就可以实现。 | ||
**测试程序修改 | **测试程序修改 | ||
− | *** | + | ***打开“microduino_nrf_nfc_receive_32u4”程序,节点一下载程序时需要确认语句“const uint16_t this_node = 1 ;”的值为1,节点二下载程序时需要确认语句“const uint16_t this_node = 2 ;”的值为2;这样避免了数据冲突。 |
***更改密码,需要更改key函数里面的按键值,在UsbKeyboard库的UsbKeyboard.h里面,可以看到模拟键对应的值,只是一部分,不过基本够用,玩家可以参考更改自己的按键值(密码),确认完毕编译成功之后便可下载。 | ***更改密码,需要更改key函数里面的按键值,在UsbKeyboard库的UsbKeyboard.h里面,可以看到模拟键对应的值,只是一部分,不过基本够用,玩家可以参考更改自己的按键值(密码),确认完毕编译成功之后便可下载。 | ||
− | |||
− | |||
− | |||
− | |||
− | == | + | *步骤三:先用记事本调试 |
− | + | 将网关供电,并且节点通过Microduino-CoreUSB设备接入电脑,分别让NFC识别电子标签,观察记事本返回的数据是否与电脑设置的密码匹配,匹配成功即可开始控制。 | |
+ | |||
+ | 玩家需要更换成自己的密码(模拟按键值) | ||
+ | 玩家可以在D6引脚接上LED指示灯观看nRF24是否正常通讯,有数据连接则LED灯点亮。 | ||
+ | |||
+ | ==关于Apple Mac电脑解锁== | ||
+ | |||
+ | 本例的程序也适用于苹果电脑 | ||
+ | |||
+ | 请使用[[https://github.com/wasdpkj/Microduino-IDE/tree/master/arduino-1.0.6-macosx Microduino-macosx-IDE]]来加载程序,运行程序测试,如下图: | ||
+ | [[File:Microduino_nfc_nrf11.png||600px|center|thumb]] | ||
==难点== | ==难点== | ||
− | |||
*Microduino NRF24组网,无线通讯; | *Microduino NRF24组网,无线通讯; | ||
*Microduino NFC电子标签识别。 | *Microduino NFC电子标签识别。 | ||
==注意问题== | ==注意问题== | ||
− | |||
*目前Microduino NFC能够识别iso14443a型号的电子标签; | *目前Microduino NFC能够识别iso14443a型号的电子标签; | ||
*节点和电脑匹配好;否则密码相反。 | *节点和电脑匹配好;否则密码相反。 | ||
第125行: | 第114行: | ||
==视频== | ==视频== | ||
http://v.youku.com/v_show/id_XNjk5NjM2Mjc2.html | http://v.youku.com/v_show/id_XNjk5NjM2Mjc2.html | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
2014年12月30日 (二) 05:13的最新版本
Language | English |
---|
目录概述
原理该系统采用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设备传入密码至电脑(实质是模拟电脑键盘输入键盘值),这样就实现电子标签瞬间对电脑进行解锁。 材料清单
其他硬件设备
文档使用到UsbKeyboard库下载地址:arduino_library_UsbKeyboard 使用到RF24库下载地址:RF24 使用到NFC库下载地址:Adafruit_NFCShield_I2C 测试程序下载地址:Microduino_nrf_NFC 方案一:单个Microduino-CoreUSB解锁调试步骤一:堆叠Microduino-CoreUSB和Microduino-NFC模块,看起来像这样: 步骤二:下载Microdiono_nfc_32u4.ino的代码,编译运行 该程序实现通过NFC电子标签将指定的字符(模拟键盘按下值)在文本文档中打印出来。 玩家需要注意程序的几点: 1.玩家参考方案一更改自己成的卡号 2.“Keyboard.write();”函数只按一次按键,“Keyboard.press()”函数一直按住按键,要配合“Keyboard.releaseAll()”函数一起使用; 3.输入大小写字母数字直接用单引号,例如按下大写字母M:“Keyboard.write(‘M’);”,输入特殊案件则在hardware\arduino\cores\arduino里的“USBAPI.h”文件可以看到特殊按键名称,方法例如按下回车:“Keyboard.write(KEY_RETURN);” 步骤三:用NFC标签靠近感应区,这是你的电脑如果打开个记事本的话应该会出现microduino字样: 结果当你的电脑进入休眠状态后,通过刷NFC就可以代替你用键盘输入密码解锁了。 方案二:采用Microduino-CoreUSB搭建网关多节点
步骤一:搭建网关
步骤二:搭建节点 只需要一个Microduino 32U4和一个MIcroduino nRF24模块即可 我们搭建两路节点,因此在网关程序中只定义了两路,用“x”的值选择节点,用户如果需要增加节点,只需要增加判断卡号语句和“x”的值就可以实现。
将网关供电,并且节点通过Microduino-CoreUSB设备接入电脑,分别让NFC识别电子标签,观察记事本返回的数据是否与电脑设置的密码匹配,匹配成功即可开始控制。 玩家需要更换成自己的密码(模拟按键值) 玩家可以在D6引脚接上LED指示灯观看nRF24是否正常通讯,有数据连接则LED灯点亮。 关于Apple Mac电脑解锁本例的程序也适用于苹果电脑 请使用[Microduino-macosx-IDE]来加载程序,运行程序测试,如下图: 难点
注意问题
视频 |