Hallo zusammen
Ich brauch nochmal eure hilfe kurze vorgeschichte:
Ich habe vorher das lesegerät RDM6300 verwendet ging auch ohne Probleme (siehe original scatch)
Das was auskommentiert ist, war das alte lesegerät.
Ich wollte das jetzt duch ein MFRC522 ersetzten und da fängt das an.
File "/home/pi/lcdtest/functions.py", line 18, in read_rfid
reader = SimpleMFRC522.read(5)
TypeError: unbound method read() must be called with SimpleMFRC522 instance as first argument (got int instance instead)
Und da hänge ich irgenwie fest.
Gruß stefan
Python
#!/usr/bin/python3
# coding=utf-8
# Datei functions.py
import serial
import pymysql
import sys
from mfrc522 import SimpleMFRC522
#reader = SimpleMFRC522()
# Auslesen der RFID-Transponder
def read_rfid():
reader = SimpleMFRC522()
#MIFAREReader = MFRC522.MFRC522()
#ser.baudrate = 9600
#reader = SimpleMFRC522.read(5)
#reader.close()
#reader = SimpleMFRC522.replace(b'\x02', b'' )
#reader= SimpleMFRC522.replace(b'\x03', b'' )
return reader
# Datei functions.py, Fortsetzung
class DB():
def __init__(self):
db = pymysql.connect(host="localhost", user="root",
passwd="test", db="rfid")
db.autocommit(True)
self.cur = db.cursor()
def close_db( self ):
self.cur.close()
# Datei functions.py, Fortsetzung
def add_user(self,rfid_id, name):
add=self.cur.execute("INSERT INTO user (rfid, name) " + "VALUES (%s,%s)", (rfid_id, name))
def mysql_read(self, rfid_id):
a=self.cur.execute("SELECT id, name, timestamp, rfid " + "FROM user WHERE rfid = %s" ,rfid_id)
id = 0
name = 0
timestamp = 0
rfid = 0
for row in self.cur.fetchall():
id = int(row[0])
name = str(row[1])
timestamp = str(row[2])
rfid = str(row[3])
return id, name, timestamp,rfid
def update_timestamp(self, rfid_id):
a=self.cur.execute("UPDATE user SET timestamp = NOW() " + "WHERE rfid = %s" ,rfid_id)
Alles anzeigen
Geänderter code
Python
#!/usr/bin/python3
# coding=utf-8
# Datei functions.py
import serial
import pymysql
import sys
from mfrc522 import SimpleMFRC522
reader = SimpleMFRC522()
# Auslesen der RFID-Transponder
def read_rfid():
reader = SimpleMFRC522()
MIFAREReader = MFRC522.MFRC522()
#ser.baudrate = 9600
reader = SimpleMFRC522.read(5)
reader.close()
reader = SimpleMFRC522.replace(b'\x02', b'' )
reader= SimpleMFRC522.replace(b'\x03', b'' )
return reader
# Datei functions.py, Fortsetzung
class DB():
def __init__(self):
db = pymysql.connect(host="localhost", user="root",
passwd="test", db="rfid")
db.autocommit(True)
self.cur = db.cursor()
def close_db( self ):
self.cur.close()
# Datei functions.py, Fortsetzung
def add_user(self,rfid_id, name):
add=self.cur.execute("INSERT INTO user (rfid, name) " + "VALUES (%s,%s)", (rfid_id, name))
def mysql_read(self, rfid_id):
a=self.cur.execute("SELECT id, name, timestamp, rfid " + "FROM user WHERE rfid = %s" ,rfid_id)
id = 0
name = 0
timestamp = 0
rfid = 0
for row in self.cur.fetchall():
id = int(row[0])
name = str(row[1])
timestamp = str(row[2])
rfid = str(row[3])
return id, name, timestamp,rfid
def update_timestamp(self, rfid_id):
a=self.cur.execute("UPDATE user SET timestamp = NOW() " + "WHERE rfid = %s" ,rfid_id)
Alles anzeigen