查看: 463|回复: 2

年会party,手环签到系统(上)

[复制链接]
本帖最后由 347945801 于 2021-2-5 14:38 编辑

又到年关了,各大公司都开始陆陆续续的筹备年会了,为了让每个员工都有极强的存在感,更为了凸显公司的科技感,我们设计了这个手环签到系统预期的效果是每个员工签到时,只需要用手环一刷,系统自动播报员工信息,展示员工靓照并签到


材料清单
Arduino Bluno x2
NFC模块 x1
华为荣耀5手环NFC版 x1烧录用NFC模块 x1
WedDecember-202012308681..png

手环开卡
我们拿到一个新手环,需要在手环上开一个门禁卡,我们写入手环NFC的数据相当于是在写门禁卡
具体的流程是在手机上打开华为“运动与健康”app,先添加手环,用蓝牙和手环连接
MonJanuary-202101182164..png
连接完成后,依次点击华为钱包->门钥匙->模拟实体门禁,然后将手环和一张空白NFC卡贴在一起,
等待门禁卡写入完成,最后在手机中删除设备,就可以完成手环NFC开卡了

写入数据
首先,我们需要了解到,手环中的NFC卡怎么写数据进去
这里我们用的NFC模块是一个串口NFC,并使用上位机烧录,为了使用这个上位机,需要先安装PL2303串口驱动
并使用注册机进行注册
TueDecember-202012298531..png
注册完成后,就能使用上位机读取数据或者写入数据了
将手环贴在NFC模块上,点击上位机的读取卡片内容,就能读取手环中NFC卡片的信息了
TueDecember-202012298728..png
图中每一行代表一条16比特的数据,每4行代表一个扇区,第一行是NFC卡的ID,我们一般不会去修改它
因此我们在其他行写入我们需要的数据(员工信息)
点击表格左上角的三角形,我们就可以修改表格中的数字了,修改后的表格会保存为一个后缀名为.dump的文件,我们要烧录的就是这个文件
TueDecember-202012292445..png
为了方便读取,我们修改第二行的数据前三位为员工工号,进行烧录
TueDecember-202012292273..png
烧录完成,员工工号就写入到了NFC中

蓝牙连接
将两个Arduino Bluno连接在电脑上,打开串口,输入+++进入AT指令模式
输入AT指令开始配置,具体方法参考Bluno Wiki
将两个Bluno分别配置成主从机,并让他们蓝牙配对

NFC读取
将主机Bluno断电,从机连接NFC模块,从NFC模块的wiki中找到PN532的库,安装到Arduino中
将下方代码烧录到从机中
  1. #include <DFRobot_PN532.h>
  2. #define BLOCK_SIZE      16
  3. #define  PN532_IRQ      (2)
  4. #define  INTERRUPT      (1)
  5. #define  POLLING        (0)
  6. DFRobot_PN532_IIC  nfc(PN532_IRQ, POLLING);  
  7. uint8_t dataRead[16] = {0};
  8. struct card NFCcard;
  9. int ret = 0;
  10. void setup() {
  11.   Serial.begin(9600);
  12.   while (!nfc.begin()) {
  13.     Serial.println("initial failure");
  14.     delay (1000);
  15.   }
  16.   //NFCcard2 = nfc.getInformation();
  17.   Serial.println("Waiting for a card......");
  18. }
  19. void loop() {
  20.   while (nfc.scan() != true) {ret = 1;}
  21.   if (ret == 1){
  22.   NFCcard = nfc.getInformation();
  23.   nfc.readData(dataRead, 1);
  24.   for (int i = 0; i < 3; i++) {
  25.     Serial.print(dataRead[i]);
  26.     Serial.print(" ");
  27.     dataRead[i] = 0;
  28.   }
  29.   Serial.println("");
  30.   }
  31.   ret = 0;
  32.   delay(100);
  33. }
复制代码

我们就能从从机的串口打印中看到打印员工工号
WedDecember-202012307728..png
再将主机连接到电脑上,打开主机串口打印
WedDecember-202012301183..png
我们的蓝牙传输已经完成下图就是我们的签到系统的运行过程(未完待续)
FriFebruary-202102059969..png






pATAq  版主

发表于 2021-1-3 08:33:29

感谢分享,这个上位机软件叫什么名字
回复

使用道具 举报

347945801  中级技师
 楼主|

发表于 2021-1-4 08:45:42

pATAq 发表于 2021-1-3 08:33
感谢分享,这个上位机软件叫什么名字

这是一个淘宝卖家提供的,用来烧录的NFC板也是在他那买的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2021 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail