【Mind+Python】NFC录入信息和excel存储信息(一)

2021-03-272.2万
AI 快速预览详细 收起
本文介绍了如何使用Mind+Python模式实现NFC信息录入并存储到Excel表格中的项目。首先安装pinpong库和xlwt库,然后通过硬件连接读取NFC信息,并将数据写入Excel表格。适用于STEM教育,帮助学生掌握编程与硬件结合的技能。

校园门禁一(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.打开表格

演示图

总结

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

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(6)
花生编程
花生编程
校园门禁,赞
花生编程
花生编程
好厉害啊!大神!
三春牛-创客
三春牛-创客
来学习了,感谢分享!
三春牛-创客
三春牛-创客
不错,赞!
zbh
zbh
大佬,请问运行后没有出现excel表格是怎么回事啊
徐咏晖
徐咏晖
大佬你好,运行程序在40到42时出错怎么搞
Nick-ccq
Nick-ccq
作者
回复徐咏晖
40行,变量赋值问题
- 没有更多了 -