HB-UNI-Sen-RFID-RC - Anpassung für Wiegand-Leser möglich?
Moderator: Co-Administratoren
Re: HB-UNI-Sen-RFID-RC - Anpassung für Wiegand-Leser möglich?
Update:
Ich habe das HB-UNI-Sen-RFID-RC Device in der CCU jetzt umbenannt
und den AskSinAnalyzer neu gestartet.
Jetzt wird das Device geslistet.
Gruß
Marcel
Ich habe das HB-UNI-Sen-RFID-RC Device in der CCU jetzt umbenannt
und den AskSinAnalyzer neu gestartet.
Jetzt wird das Device geslistet.
Gruß
Marcel
Re: HB-UNI-Sen-RFID-RC - Anpassung für Wiegand-Leser möglich?
Hallo @all,
ich hätte da noch eine Frage
An dieser Stelle, bzw. im Bootloader wird die Device ID
und die Device Serial hinterlegt und in den Flash Speicher geschrieben.
Ich würde diese Daten gerne auf dem OLED Display ausgeben.
Wie komme ich an die Daten im Flashspeicher, und kann sie z.B. auf der Serial Konsole ausgeben?
Die Daten stehen ja leider nicht in einer Variable.
Gruß
Marcel
ich hätte da noch eine Frage
Code: Alles auswählen
// define all device properties
const struct DeviceInfo PROGMEM devinfo = {
{0xf3, 0x3c, 0x00}, // Device ID
"JPRFID0001", // Device Serial
{0xf3, 0x3c}, // Device Model
0x10, // Firmware Version
as::DeviceType::Remote, // Device Type
{0x00, 0x00} // Info Bytes
};
und die Device Serial hinterlegt und in den Flash Speicher geschrieben.
Ich würde diese Daten gerne auf dem OLED Display ausgeben.
Wie komme ich an die Daten im Flashspeicher, und kann sie z.B. auf der Serial Konsole ausgeben?
Die Daten stehen ja leider nicht in einer Variable.
Gruß
Marcel
-
- Beiträge: 12116
- Registriert: 20.11.2016, 20:01
- Hat sich bedankt: 849 Mal
- Danksagung erhalten: 2150 Mal
- Kontaktdaten:
Re: HB-UNI-Sen-RFID-RC - Anpassung für Wiegand-Leser möglich?
Serielle Konsole:
DDEVINFO(sdev);
Beispiel für LCD Display:
https://github.com/jp112sdl/HB-UNI-Sen- ... 0.ino#L258
DDEVINFO(sdev);
Beispiel für LCD Display:
https://github.com/jp112sdl/HB-UNI-Sen- ... 0.ino#L258
-
- Beiträge: 179
- Registriert: 04.05.2020, 21:31
- System: CCU
- Hat sich bedankt: 16 Mal
- Danksagung erhalten: 8 Mal
Re: HB-UNI-Sen-RFID-RC - Anpassung für Wiegand-Leser möglich?
Hallo schaue Dir mal die C (++) syntax zu "struct" an.
Dann wirst du feststellen das es sich um eine Variable handelt (die im diesen fall consant ist).
Zugriff
deine_variable=devinfo."element";
Gruß
Kai
Dann wirst du feststellen das es sich um eine Variable handelt (die im diesen fall consant ist).
Zugriff
deine_variable=devinfo."element";
Gruß
Kai
Re: HB-UNI-Sen-RFID-RC - Anpassung für Wiegand-Leser möglich?
Danke, werde das mal testen.
Gruß
Marcel
Gruß
Marcel
-
- Beiträge: 705
- Registriert: 22.05.2018, 10:23
- Hat sich bedankt: 24 Mal
- Danksagung erhalten: 120 Mal
Re: HB-UNI-Sen-RFID-RC - Anpassung für Wiegand-Leser möglich?
Nutze bitte Device::getSerial() bzw. Device::getDeviceID() - dann hast Du auch die wirklich verwendeten Daten.mcbo hat geschrieben: ↑25.06.2020, 23:02An dieser Stelle, bzw. im Bootloader wird die Device ID
und die Device Serial hinterlegt und in den Flash Speicher geschrieben.
Ich würde diese Daten gerne auf dem OLED Display ausgeben.
Wie komme ich an die Daten im Flashspeicher, und kann sie z.B. auf der Serial Konsole ausgeben?
Die Daten stehen ja leider nicht in einer Variable.
Anfragen zur AskSin++ werden nur im Forum beantwortet
Re: HB-UNI-Sen-RFID-RC - Anpassung für Wiegand-Leser möglich?
Hi,
Mein Projekt "HB-UNI-Sen-RFID-RC - Wiegand" macht Fortschritte.
Mittlerweile habe ich auch schon eine kleine Platine entwickkelt. (mein erstes KiCAD Projekt )
mit
Kann ich in der HB-UNI-Sen-RFID-RC.ino die Serial und DeviceID auslesen.
Gibt es auch eine Möglichkeit, von der "Wiegand.cpp" auf die DeviceID bzw. Serial zuzugreifen?
Hier fehlt ja das Konstrukt "sdev."
Gruß
Marcel
Mein Projekt "HB-UNI-Sen-RFID-RC - Wiegand" macht Fortschritte.
Mittlerweile habe ich auch schon eine kleine Platine entwickkelt. (mein erstes KiCAD Projekt )
mit
Code: Alles auswählen
sdev.getDeviceSerial(serial);
sdev.getDeviceID(temp);
Gibt es auch eine Möglichkeit, von der "Wiegand.cpp" auf die DeviceID bzw. Serial zuzugreifen?
Hier fehlt ja das Konstrukt "sdev."
Gruß
Marcel
-
- Beiträge: 12116
- Registriert: 20.11.2016, 20:01
- Hat sich bedankt: 849 Mal
- Danksagung erhalten: 2150 Mal
- Kontaktdaten:
Re: HB-UNI-Sen-RFID-RC - Anpassung für Wiegand-Leser möglich?
Korrekt, das geht so nicht.
Du müsstest dir noch 2 set-Methoden (setDeviceSerial, setDeviceID) in die Wiegand Lib einbauen und dann aus dem Hauptsketch aus sowas machen wie
Code: Alles auswählen
sdev.getDeviceSerial(serial);
sdev.getDeviceID(temp);
readerDevice.setDeviceSerial(serial);
readerDevice.setDeviceID(temp);
Editieren von Lib-Files versuche ich immer zu vermeiden, da bei Updates die Änderungen verloren gehen / wieder nachgepflegt werden müssen
Re: HB-UNI-Sen-RFID-RC - Anpassung für Wiegand-Leser möglich?
Klingt kompliziert.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
Du erinnerst Dich sicher noch an meinen Wunsch, einen Taster mit einzubauen ("MixDevice").jp112sdl hat geschrieben: Was hast du denn vor, dass du direkt in der Wiegand-Bibliothek einbauen willst?
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