HB-UNI-Sen-RFID-RC - Anpassung für Wiegand-Leser möglich?

Entwicklung und Bau von Hardware aller Art, die im HM-Umfeld eingesetzt werden kann

Moderator: Co-Administratoren

mcbo
Beiträge: 88
Registriert: 16.08.2016, 15:45
Danksagung erhalten: 3 Mal

Re: HB-UNI-Sen-RFID-RC - Anpassung für Wiegand-Leser möglich?

Beitrag von mcbo » 19.06.2020, 13:49

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. :o


Gruß

Marcel

mcbo
Beiträge: 88
Registriert: 16.08.2016, 15:45
Danksagung erhalten: 3 Mal

Re: HB-UNI-Sen-RFID-RC - Anpassung für Wiegand-Leser möglich?

Beitrag von mcbo » 25.06.2020, 23:02

Hallo @all,

ich hätte da noch eine Frage :wink:

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
};
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. :roll:

Gruß

Marcel

jp112sdl
Beiträge: 12084
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 847 Mal
Danksagung erhalten: 2139 Mal
Kontaktdaten:

Re: HB-UNI-Sen-RFID-RC - Anpassung für Wiegand-Leser möglich?

Beitrag von jp112sdl » 26.06.2020, 07:01

Serielle Konsole:
DDEVINFO(sdev);

Beispiel für LCD Display:
https://github.com/jp112sdl/HB-UNI-Sen- ... 0.ino#L258

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

FrankenKai
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?

Beitrag von FrankenKai » 26.06.2020, 07:07

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

mcbo
Beiträge: 88
Registriert: 16.08.2016, 15:45
Danksagung erhalten: 3 Mal

Re: HB-UNI-Sen-RFID-RC - Anpassung für Wiegand-Leser möglich?

Beitrag von mcbo » 26.06.2020, 11:38

Danke, werde das mal testen.


Gruß

Marcel

papa
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?

Beitrag von papa » 26.06.2020, 12:35

mcbo hat geschrieben:
25.06.2020, 23:02
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. :roll:
Nutze bitte Device::getSerial() bzw. Device::getDeviceID() - dann hast Du auch die wirklich verwendeten Daten.
Anfragen zur AskSin++ werden nur im Forum beantwortet

jp112sdl
Beiträge: 12084
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 847 Mal
Danksagung erhalten: 2139 Mal
Kontaktdaten:

Re: HB-UNI-Sen-RFID-RC - Anpassung für Wiegand-Leser möglich?

Beitrag von jp112sdl » 26.06.2020, 14:45

papa hat geschrieben:
26.06.2020, 12:35
Nutze bitte Device::getSerial()
https://github.com/jp112sdl/HB-Dis-EP-4 ... W.ino#L826
papa hat geschrieben:
26.06.2020, 12:35
Device::getDeviceID()
https://github.com/jp112sdl/HB-UNI-Sen- ... #L265-L268

Evtl. noch als Hilfe dazu

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

mcbo
Beiträge: 88
Registriert: 16.08.2016, 15:45
Danksagung erhalten: 3 Mal

Re: HB-UNI-Sen-RFID-RC - Anpassung für Wiegand-Leser möglich?

Beitrag von mcbo » 16.07.2020, 00:27

Hi,

Mein Projekt "HB-UNI-Sen-RFID-RC - Wiegand" macht Fortschritte.
Mittlerweile habe ich auch schon eine kleine Platine entwickkelt. (mein erstes KiCAD Projekt :wink:)

mit

Code: Alles auswählen

sdev.getDeviceSerial(serial);
sdev.getDeviceID(temp);
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." :roll:

Gruß

Marcel

jp112sdl
Beiträge: 12084
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 847 Mal
Danksagung erhalten: 2139 Mal
Kontaktdaten:

Re: HB-UNI-Sen-RFID-RC - Anpassung für Wiegand-Leser möglich?

Beitrag von jp112sdl » 16.07.2020, 07:24

mcbo hat geschrieben:
16.07.2020, 00:27
Gibt es auch eine Möglichkeit, von der "Wiegand.cpp" auf die DeviceID bzw. Serial zuzugreifen?
Hier fehlt ja das Konstrukt "sdev." :roll:
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);
Was hast du denn vor, dass du direkt in der Wiegand-Bibliothek einbauen willst?
Editieren von Lib-Files versuche ich immer zu vermeiden, da bei Updates die Änderungen verloren gehen / wieder nachgepflegt werden müssen

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

mcbo
Beiträge: 88
Registriert: 16.08.2016, 15:45
Danksagung erhalten: 3 Mal

Re: HB-UNI-Sen-RFID-RC - Anpassung für Wiegand-Leser möglich?

Beitrag von mcbo » 16.07.2020, 21:13

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. :roll:
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

Antworten

Zurück zu „Hardwareentwicklung und Selbstbau von Aktoren und Sensoren“