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

jp112sdl
Beiträge: 12115
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 848 Mal
Danksagung erhalten: 2150 Mal
Kontaktdaten:

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

Beitrag von jp112sdl » 29.05.2020, 22:44

mcbo hat geschrieben:
29.05.2020, 22:34
Das steht so in Deiner Doku, habe ich nur kopiert!
Stimmt... in der README ist war es falsch.
Im Header der .ino ist es noch korrekt :)
mcbo hat geschrieben:
29.05.2020, 22:34
Kann ich damit auch 4 Stellige IDs verwenden? (Speicherplätze aus dem Reader)

z.B.: mit führenden Nullen ??? "00001499"
"0x00,0x00,0x00,0x00,0x01,0x04,0x09,0x09"
Ich weiß nicht, wie/was der Wiegand ausgibt.
Musst du probieren. Ob mit führenden Nullen oder angehängt und ob du hier
https://github.com/pa-pa/AskSinPP/blob/ ... RFID.h#L19
dann noch 4 setzen musst.
mcbo hat geschrieben:
29.05.2020, 22:34
Also im CCU Webinterface "Anlernmodus" pro Taster aktiv setzen?
Genau
mcbo hat geschrieben:
29.05.2020, 22:34
Wie testest Du Scripte?
Ganz normal mit "Skript testen" in der WebUI
mcbo hat geschrieben:
29.05.2020, 22:34
Ist ATmega32 = ATmega32u4 ???
Nein.
Ein ATmega32 ist ein ATmega32 und ein ATmega32u4 ist ein ATmega32u4.

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 » 29.05.2020, 22:51

jp112sdl hat geschrieben:
29.05.2020, 22:09
EDIT: Hab den PR angepasst, so dass jetzt keine Probleme mehr auftreten.
Wo finde ich Deine Anpassung?
Ich komme mit Github einfach nicht klar :shock:

Bekomme folgenden Fehler nach dem Austauch, der von Dir verlinkten Radio.h:

Code: Alles auswählen

In file included from J:\Dateiablage\Projekte\FingerPrint\HB-UNI-Sen-RFID-RC-master\HB-UNI-Sen-RFID-RC-master\HB-UNI-Sen-RFID-RC\HB-UNI-Sen-RFID-RC.ino:41:0:

C:\Users\Marcel\Documents\Arduino\libraries\AskSinPP-master/MultiChannelDevice.h: In instantiation of 'bool as::ChannelDevice<HalType, ChannelType, ChannelCount, List0Type>::process(as::Message&) [with HalType = Hal; ChannelType = as::RFIDChannel<Hal, 10, RFIDList0>; int ChannelCount = 8; List0Type = RFIDList0]':

J:\Dateiablage\Projekte\FingerPrint\HB-UNI-Sen-RFID-RC-master\HB-UNI-Sen-RFID-RC-master\HB-UNI-Sen-RFID-RC\HB-UNI-Sen-RFID-RC.ino:247:1:   required from here

C:\Users\Marcel\Documents\Arduino\libraries\AskSinPP-master/MultiChannelDevice.h:222:8: error: no matching function for call to 'as::Radio<as::LibSPI<10u>, 4u>::setSendTimeout()'

        this->radio().setSendTimeout(); // use default value from radio

        ^

In file included from C:\Users\Marcel\Documents\Arduino\libraries\AskSinPP-master/Activity.h:11:0,

                 from C:\Users\Marcel\Documents\Arduino\libraries\AskSinPP-master/AskSinPP.h:44,

                 from J:\Dateiablage\Projekte\FingerPrint\HB-UNI-Sen-RFID-RC-master\HB-UNI-Sen-RFID-RC-master\HB-UNI-Sen-RFID-RC\HB-UNI-Sen-RFID-RC.ino:36:

C:\Users\Marcel\Documents\Arduino\libraries\AskSinPP-master/Radio.h:681:8: note: candidate: void as::Radio<SPIType, GDO0, SENDDELAY, HWRADIO>::setSendTimeout(uint16_t) [with SPIType = as::LibSPI<10u>; unsigned char GDO0 = 4u; int SENDDELAY = 100; HWRADIO = as::CC1101<as::LibSPI<10u> >; uint16_t = unsigned int]

   void setSendTimeout(uint16_t millis) {

        ^

C:\Users\Marcel\Documents\Arduino\libraries\AskSinPP-master/Radio.h:681:8: note:   candidate expects 1 argument, 0 provided

Bibliothek EnableInterrupt in Version 1.1.0 im Ordner: C:\Users\Marcel\Documents\Arduino\libraries\EnableInterrupt  wird verwendet
Bibliothek SPI in Version 1.0 im Ordner: C:\Users\Marcel\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.23\libraries\SPI  wird verwendet
Bibliothek MFRC522 in Version 1.4.3 im Ordner: C:\Users\Marcel\Documents\Arduino\libraries\MFRC522  wird verwendet
Bibliothek AskSinPP-master in Version 4.1.2 im Ordner: C:\Users\Marcel\Documents\Arduino\libraries\AskSinPP-master  wird verwendet
Bibliothek Low-Power-master in Version 1.6 im Ordner: C:\Users\Marcel\Documents\Arduino\libraries\Low-Power-master  wird verwendet
Bibliothek Wiegand-Protocol-Library-master im Ordner: C:\Program Files (x86)\Arduino\libraries\Wiegand-Protocol-Library-master (legacy) wird verwendet
exit status 1
Fehler beim Kompilieren für das Board Arduino Pro or Pro Mini.

jp112sdl
Beiträge: 12115
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 848 Mal
Danksagung erhalten: 2150 Mal
Kontaktdaten:

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

Beitrag von jp112sdl » 29.05.2020, 22:59

Ach so, da waren die anderen zwischenzeitlichen Änderungen nicht mit drin -.-

Dann füg dir die paar Zeilen aus dem PR mit nem Editor fix ein.
Bildschirmfoto 2020-05-29 um 22.58.51.png

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 » 29.05.2020, 23:21

Habe das jetzt so in der Radio.h:
Unbenannt.JPG
Beim Kompilieren kommt der gleiche Fehler, wie oben.

jp112sdl
Beiträge: 12115
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 848 Mal
Danksagung erhalten: 2150 Mal
Kontaktdaten:

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

Beitrag von jp112sdl » 30.05.2020, 06:25

Du hast das aber in der aus dem Link geladenen unvollständigen Radio.h gemacht.
Du musst die Änderung in der aktuellen Radio.h machen.
Das ist ca. bei Zeile 768 dann.

VG,
Jérôme ☕️

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

jp112sdl
Beiträge: 12115
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 848 Mal
Danksagung erhalten: 2150 Mal
Kontaktdaten:

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

Beitrag von jp112sdl » 30.05.2020, 09:47

Der PR ist jetzt germerged.
Wenn du dir noch mal den master-Branch lädst, hast du alles auf dem aktuellsten Stand

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 » 30.05.2020, 12:47

Hallo Jérôme,

damit funktioniert jetzt die Kommunikation zwischen Wiegand Leser und CCU! :D

Aber mir ist noch nicht plausibel, was in der CCU als Chip ID generiert wird. :o

Bei den Fingerprints, und PINs werden ja die Speicherplatznummern übergeben.
Das funktioniert bei 4-stelligen Speicherplätzen auch gut.

Ich habe mir in der RFID.h noch eine Serielle Ausgabe der Wiegand-Lib eingebaut.

Code: Alles auswählen

 bool getRfidAddress(uint8_t *addr) {
   if (wg.available()) {
     memset(addr,0x00, ID_ADDR_SIZE);
     memcpy(addr,wg.getCode(), ID_ADDR_SIZE);

	 Serial.print("Wiegand HEX = ");
         Serial.print(wg.getCode(),HEX);
	 Serial.print(", DECIMAL = ");
	 Serial.print(wg.getCode());
	 Serial.print(", Type W");
	 Serial.println(wg.getWiegandType());

     return true;
   } 
   return false;
  }
Beispiel1 - FingerPrint Speicherplatz 1499:

Code: Alles auswählen

Chip ID (CCU)
E2FBBF786DD56AF1

Wiegand HEX = 5DB, DECIMAL = 1499, Type W26
released
<- 0B 17 86 40 F33C00 000000 01 00  - 17436
Beispiel2 - FingerPrint Speicherplatz 1498:

Code: Alles auswählen

Chip ID (CCU)
E8E2FBBF786DD56A

Wiegand HEX = 5DA, DECIMAL = 1498, Type W26
released
<- 0B 18 86 40 F33C00 000000 02 00  - 20404
Beispiel3 - PIN-Code Speicherplatz 1000:

Code: Alles auswählen

Chip ID (CCU)
008D030001260000

Wiegand HEX = 3E8, DECIMAL = 1000, Type W26
released
<- 0B 1B 86 40 F33C00 000000 03 00  - 27125
Mit den RFID-Transpondern funktioniert es nicht.
Hier wird beim gleichen Transponder bei jedem Anlernvorgang, eine neue Chip ID angelernt. :roll:
Eventuell ein Längenproblem des Tags?

Beispiel4 - RFID-Karte:

Code: Alles auswählen

Wiegand HEX = DB4CE1, DECIMAL = 14372065, Type W26

Chip ID
9F7392A7C6912C3B

Chip ID
08F801964128461B

Chip ID
08F8FE0CEC69EC64
Gruß

Marcel

jp112sdl
Beiträge: 12115
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 848 Mal
Danksagung erhalten: 2150 Mal
Kontaktdaten:

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

Beitrag von jp112sdl » 30.05.2020, 13:22

Ach ja, das was vom MFRC522 kommt ist ja ein Byte-Array.
Mach mal

Code: Alles auswählen

 bool getRfidAddress(uint8_t *addr) {
   if (wg.available()) {
     memset(addr,0x00, ID_ADDR_SIZE);
     
     unsigned long wgAddr = wg.getCode();
     byte addrArr[8];
       for (uint8_t i = 0; i < ID_ADDR_SIZE; i++) {
         addrArr[i] = wgAddr >> (i*8) & 0xff;
      }
     
     memcpy(addr, addrArr, ID_ADDR_SIZE);

     return true;
   } 
   return false;
  }
  

VG,
Jérôme ☕️

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

Benutzeravatar
stan23
Beiträge: 2039
Registriert: 13.12.2016, 21:14
System: Alternative CCU (auf Basis OCCU)
Wohnort: Altmühltal
Hat sich bedankt: 585 Mal
Danksagung erhalten: 336 Mal
Kontaktdaten:

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

Beitrag von stan23 » 30.05.2020, 18:18

jp112sdl hat geschrieben:
30.05.2020, 13:22

Code: Alles auswählen

    unsigned long wgAddr = wg.getCode();

       for (uint8_t i = 0; i < ID_ADDR_SIZE; i++) {
         addrArr[i] = wgAddr >> (i*8) & 0xff;
      }
  
unsigned long sollten 32 Bit sein, du shiftest aber bis zu 64 Bit. Da kommt dann entweder 0 oder Quark rein.
Viele Grüße
Marco

RaspberryMatic als VM auf einem NUC mit Proxmox und USB-Funkmodul
~80 Geräte (HM, HmIP, HMW, HBW, AskSin)

jp112sdl
Beiträge: 12115
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 848 Mal
Danksagung erhalten: 2150 Mal
Kontaktdaten:

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

Beitrag von jp112sdl » 30.05.2020, 18:37

stan23 hat geschrieben:
30.05.2020, 18:18
unsigned long sollten 32 Bit sein, du shiftest aber bis zu 64 Bit.
Ja, stimmt. Aber das würde bedeuten, dass die Wiegand-Lib auch nur max. 32 bits ausgeben kann
https://github.com/monkeyboard/Wiegand- ... nd.cpp#L14
obwohl es in der README heißt:
Wiegand 4 bit, 8 bit, 26 bit, 32 bit and 34 bit library for Arduino
Evtl. kann auf ESP8266/ESP32 ein unsigned long länger sein!?

Aber ich denke, 32bit werden schon ausreichend sein.
stan23 hat geschrieben:
30.05.2020, 18:18
Da kommt dann entweder 0 oder Quark rein.
Bei meinen Tests war es immer 0.


Oder man müsste die Wiegand-Lib gleich so umbauen, dass sie wie die MFRC522 gleich ein Byte-Array ausgibt.

VG,
Jérôme ☕️

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

Antworten

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