jp112sdl hat geschrieben:
Du müsstest dir noch 2 set-Methoden (setDeviceSerial, setDeviceID) in die Wiegand Lib einbauen und dann aus dem Hauptsketch aus sowas machen wie
Klingt kompliziert.
jp112sdl hat geschrieben:
Was hast du denn vor, dass du direkt in der Wiegand-Bibliothek einbauen willst?
Du erinnerst Dich sicher noch an meinen Wunsch, einen Taster mit einzubauen ("MixDevice").
Da der Sketch mit OLED Display zu groß wurde, habe ich die Portabfrage,
einfachhalber direkt in die "Wiegand.cpp" eingebaut und sende bei "digitalRead(CLOSE_PIN1)==HIGH" eine feste Chip ID.
Das funktioniert auch gut und passt mit 97% noch in den Flashspeicher des Arduinos.
Auf meiner Platine habe 2 Taster vorgesehen.
Damit könnte man z.B.: einen als Klingeltaster und einen zum Verschließen der Tür missbrauchen.
NUM_CHANNELS habe ich momentan mit 20 laufen, dann sind noch 18 Kanäle für Chips, PINs oder Fingerprints übrig.
Um den Sketch noch ein bisschen dynamischer zu gestalten, würde ich für die Taster, statt der festen Chip ID,
gerne eine ID, in Abhängigkeit von der Device ID oder Device Serial, generieren.
z.B.: Device ID: 8215EB
Taster1: 8215EB01
Taster2: 8215EB02
Mitlerweile habe ich die Taster Abfrage komplett in die "RFID.h" eingebaut, damit bleibt die "Wiegand.cpp" unverändert.
Code: Alles auswählen
#ifdef USE_WIEGAND
if ((rdrDev.available()) || (digitalRead(CLOSE_PIN1)==HIGH) || (digitalRead(CLOSE_PIN2)==HIGH)) {
unsigned long wgAddr = rdrDev.getCode();
if (digitalRead(CLOSE_PIN1)==HIGH) {
wgAddr = 10815001; // Chip ID Taster 1
}
if (digitalRead(CLOSE_PIN2)==HIGH) {
wgAddr = 10815002; // Chip ID Taster 2
}
Gruß
Marcel