查看“Microduino nRF24组网NFC电脑解锁/zh”的源代码
←
Microduino nRF24组网NFC电脑解锁/zh
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{{Language|Microduino nRF24 set up network and NFC unlock computer}} {| style="width: 800px;" |- | ==概述== *项目名称: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设备传入密码至电脑(实质是模拟电脑键盘输入键盘值),这样就实现电子标签瞬间对电脑进行解锁。 [[File:Microduino_nfc—nrf.jpg||600px|center|thumb]] ==材料清单== {|class="wikitable" |- |模块||数量||功能 |- |[[Microduino-CoreUSB/zh]]||2||核心板, 下载程序和供电 |- |[[Microduino-nRF24/zh]] ||2||组网、无线通信 |- |[[Microduino-NFC/zh]] ||1||读取电子标签 |} ===其他硬件设备=== {|class="wikitable" |- |电子标签 ||1||相当于电脑身份证 |- |USB数据线 ||3||供电 |} ==文档== 使用到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);” 步骤三:用NFC标签靠近感应区,这是你的电脑如果打开个记事本的话应该会出现microduino字样: [[File:Microduino_nfc_nrfVersion1_2.png||600px|center|thumb]] ==结果== 当你的电脑进入休眠状态后,通过刷NFC就可以代替你用键盘输入密码解锁了。 =='''方案二:采用Microduino-CoreUSB搭建网关多节点'''== **调试: 步骤一:搭建网关 **下载需要使用到的所有的库,放到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]的值,改完编译通过后选择好板卡直接下载,下载成功打开串口监视器,刷卡就能识别出卡号了; **打开我们的“Microduino_nfc_nrf_send”程序,“dataCard_one[4]”和“dataCard_two[4]”数组用来存放匹配卡号,玩家把他改成自己的卡号就行,编译通过后选择好板卡直接下载; 步骤二:搭建节点 只需要一个Microduino 32U4和一个MIcroduino nRF24模块即可 [[File:Microduino_nfc_nrf9.jpg||600px|center|thumb]] [[File:Microduino_nfc_nrf10.jpg||600px|center|thumb]] 我们搭建两路节点,因此在网关程序中只定义了两路,用“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里面,可以看到模拟键对应的值,只是一部分,不过基本够用,玩家可以参考更改自己的按键值(密码),确认完毕编译成功之后便可下载。 *步骤三:先用记事本调试 将网关供电,并且节点通过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 NFC电子标签识别。 ==注意问题== *目前Microduino NFC能够识别iso14443a型号的电子标签; *节点和电脑匹配好;否则密码相反。 ==视频== http://v.youku.com/v_show/id_XNjk5NjM2Mjc2.html
该页面使用的模板:
模板:Language
(
查看源代码
)
模板:Nmbox
(
查看源代码
)
返回至
Microduino nRF24组网NFC电脑解锁/zh
。
导航菜单
个人工具
创建账户
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
Welcome
首页
创客大赛
大赛详情
3D打印
安装月球车
图形化编程
操控月球车
升级月球车
编程工具下载
软件下载
Arduino
Processing
Mixly
Scratch
模块套件
Microduino 102
mCookie 102
mCookie 202
mCookie 302
IBC
其他
应用套件
四轴飞行器
平衡车
小车CUBE
音乐播放器
刷卡音乐播放器
wifi气象站
彩虹音乐触摸灯
分贝检测仪
迎门汇报
LED点阵时钟
LED点阵屏幕
硬件
mCookie
Sensor
Microduino
MicroWrt
MicroNux
MicroRobot-Core
MicroRobot-CoreESP
ideaBoard
ideaBox
MicroMV
MicroAI
帮助
常见问题
帮助
工具
链入页面
相关更改
特殊页面
页面信息