Verwenden Sie die Funktion get_time(), um den aktuellen Zeitstempel abzurufen und zwei Werte zurückzugeben.
Wobei present_date auf den Tag genau und present_time auf die Sekunde genau ist.
attendance
=
False
GPIO.output(GreenPin, GPIO.LOW)
GPIO.output(RedPin, GPIO.HIGH)
print("Reading...Please place the
id, text
=
reader.read()
print("ID: %s\nText: %s"
GPIO.output(RedPin, GPIO.LOW)
GPIO.output(GreenPin, GPIO.HIGH)
Zuerst setzen wir attendance auf False, was bedeutet, dass niemand eingestempelt wird.
Setzen Sie dann GreenPin auf niedrige Stufe, um sie zu beleuchten, und RedPin auf hohe Stufe, um sie auszuschalten,
was anzeigt, dass das aktuelle Anwesenheitssystem normal funktioniert.
Wenn jemand einstanzt, werden die ID und die Textinformationen der Karte gedruckt. Wenn die rote LED an und die
grüne LED aus ist, bedeutet dies, dass der Check-in erfolgreich war und das Ergebnis an Cloud4RPi gesendet wird.
Während dieser Zeit befindet sich das Anwesenheitssystem im Ruhezustand, bis der nächste Zyklus beginnt (das grüne
Licht leuchtet).
if not id in
attendance_list:
attendance
attendance_list.append(id)
present_date, present_time
attendance_statistics[id]
open('attendance_sheet.'
with
attendance_statistics.items()]
Stellen Sie zuerst fest, ob die ID in attendance_list durch eine if-Anweisung dupliziert wird, wenn nicht,
bedeutet dies, dass der Punch-In gültig ist und übergeben Sie die ID-Informationen an attendance_list.
Dann erhalten wir den aktuellen Zeitstempel und verwenden die ID als Schlüssel des Wörterbuchs
attendance_statistics und present_time als Wert des entsprechenden Schlüssels. Auf diese Weise spei-
chert das attendance_statistics-Wörterbuch die Punch-Zeit der aktuellen ID.
Schließlich schreiben wir das Wörterbuch attendance_statistics in eine .csv-Datei und benennen die Datei
als 'attendance_sheet.'' + present_date + '.csv', damit wir die Anwesenheitsliste in zeitlicher
Reihenfolge speichern.
Bemerkung: Wenn Sie den Namen der Person in das MFRC522 RFID geschrieben haben, ersetzen Sie die id durch
text und Ihr Anwesenheitsblatt wird den Namen der Person aufnehmen.
def
get_num():
return
Gibt die Länge von attendance_list zurück, d.h. die Anzahl der Teilnehmer.
1.10. 4 IOT
%
(id,text))
=
True
[f.write('{0}
{1}\n'.format(key, value))
len(attendance_list)
card...")
=
get_time()
=
present_time
+
present_date
SunFounder Da Vinci Kit
+
'.csv', 'w')
f:
as
for
key, value
in
419