538浏览
查看: 538|回复: 0

[项目分享] 【Mind+Python】NFC录入信息和excel存储信息(一)

[复制链接]
本帖最后由 Nick-ccq 于 2021-3-27 17:21 编辑

校园门禁一(NFC录入信息和excel存储信息)

前言

  
Mind+1.7.0迎来了目前火热的Python模式,这一版本的发布却引来很多人的使用。废话不多说,直接上项目讲解。

在使用之前先给大家看一下简单的教程简介,以防在使用中出现错误后不知所措。

Python教程

最新版本Mind+下载链接

Mind+ Python模式使用教程大家可以到官方教程中查看:Mind+Python模式教程

项目分析

实现表格储存NFC信息,首先要利用pinpong库,来控制硬件获取NFC信息,读取该卡信息后写入表格,用于信息存储。xlwt是 Python 用来在 Excel 写入数据和格式化数据的工具包,可以实现指定表单、指定单元格的写入。

准备工作

软件方面

安装库文件

1.pinpong库

2.xlwt

硬件连接

程序代码


# -*- coding: utf-8 -*-

import time
from pinpong.board import Board
from pinpong.libs.dfrobot_pn532 import PN532
import xlwt
import datetime
Board("uno").begin()  #初始化,选择板型和端口号,不输入端口号则进行自动识别

nfc = PN532()

workbook = xlwt.Workbook(encoding = 'acsii') #创建一个workbook 设置编码
worksheet = workbook.add_sheet('student') #用add_worksheet添加一个新的工作表,student是表名

student ={}  #建立一个空的字典
block_num = 2 #NFC写入块

while not nfc.begin():
  print("initial failure")
  time.sleep(1)
print("Please place the info card/tag on module..... ")

def parse_data(read_data):
  if read_data != None:
    print("read success! data is ", end=" ")
    print(read_data)
  else:
    print("read failure!")

a = input("请输入录入学生人数:")  #输入录入学习人数
a = int(a)  #转化为整形
worksheet.write(0,0,'学号') #指定表格的行和列,写入数据
worksheet.write(0,1,'姓名')
worksheet.write(0,2,'温度')
worksheet.write(0,3,'时间')
style = xlwt.XFStyle()
style.num_format_str = 'M/D/YY'
global i,j
i=1
j=0
while True: 

    if a == 0 :
        break 
    else :
      num = input("请输入学生学号:") 
      name = input("请输入学生姓名:")
      student[num] = name 
      print("请放入卡片!录入信息")
      a=a-1
      while not (nfc.scan()==True):
        pass
      while not (nfc.get_information()!=None):
        pass 
      if nfc.write_data(block_num, num):
        print("录入成功", num,student[num])
        worksheet.write(i,0,num)
        worksheet.write(i,1,student[num])
        worksheet.write(i,3,datetime.datetime.now(),style)
        i = i+1
        workbook.save('student.xls')

调试

1.键盘输入录入学生人数(NFC的标签卡和人数是一一对应的)

2.键盘输入学号和姓名,回车按下,等待卡片放入

3.卡片识别成功后,提示录入信息成功(两个学生录入完成,终止录入)

4.打开表格

演示图

总结

在表格中大家看到了温度,因为这篇是一个类似校园门禁的项目,目前只是如何把信息放入表格,下一篇帖子会体现口罩识别和温度检测,并且会把学生体温放表格中。

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

本版积分规则

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

硬件清单

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

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

mail