Hi,
dank Makkis hilfe habe ich meinen RFID-Transponderleser von RSS an das Wiregate angebunden bekommen. Die Leser gibt es in verschiedenen Versionen (RS232 oder RS485 oder TTL) - mit oder ohne Gehäuse und mit verschiedenen Antennen (kleine bis große Reichweite) für kleines Geld (auch auf eBay von RSS direkt).
Der Transponderleser liest H4102 Transponder und gibt die Seriennummer per ASCII direkt auf der Schnittstelle aus.
Ich habe diesen im Einsatz im dieser Antenne im Siedle Vario-Blindrahmen.
Der Transponderleser ist per RS485 an das Wiregate angeschlossen (über einen RS485-zu-USB wandler).
Auf dem Wiregate ist ein Socat-Socket eingerichtet:
Name: Transponder, Aktiviert: Ja, Bidirektional: Nein,
Socket 1: "-", Socket: "/dev/usbserial-1-3.1", Optionen: "raw,b4800,cs8,crtscts=0,ixon=1,ixoff=1,ixany=1,ic anon=1,eol=32"
Socket 2: "udp-datagram", Socket: "192.168.0.255:50011", Optionen "bind=:50012,reuseaddr,broadcast"
RFID kurz hinhalten -> Blick ins Log sagt einem die einzutragende RFID
RFID & KNX-GA eintragen, siehe Beispiel
Nicht vergessen, RFID ist "by Design" völlig sicherheitsfrei...
Ich verwende die Transponder-ID daher nicht direkt zum öffnen der Tür - im HS habe ich weitere Logiken die nur unter speziellen Randbedingungen dann die Tür freigeben. Die Reaktionszeit ist sehr gut (gefühlt 500 ms von Davorhalten bis zum öffnen)
Ich habe noch ein paar Bilder von dem Transpondereinbau angehängt
(Anschlußkabel noch aus Testphase, kleines schwarzes Kabel zur Antennenblende ist für die LED-Leseanzeige)
Vielen Dank am Makki für den Support bei der Erstellung dieses Plugins. Das Wiregate ist wirklich ein Multifunktionsgateway! Bei mir jetzt im Einsatz für
* elektronisches Schlüsselbrett
* FS20-Gateway
* und natürlich für zig Temperatur & Luftfeuchtesensoren im ganzen Haus, Heizungs- und Lüftungsanlage
Mfg
Thorsten
dank Makkis hilfe habe ich meinen RFID-Transponderleser von RSS an das Wiregate angebunden bekommen. Die Leser gibt es in verschiedenen Versionen (RS232 oder RS485 oder TTL) - mit oder ohne Gehäuse und mit verschiedenen Antennen (kleine bis große Reichweite) für kleines Geld (auch auf eBay von RSS direkt).
Der Transponderleser liest H4102 Transponder und gibt die Seriennummer per ASCII direkt auf der Schnittstelle aus.
Ich habe diesen im Einsatz im dieser Antenne im Siedle Vario-Blindrahmen.
Der Transponderleser ist per RS485 an das Wiregate angeschlossen (über einen RS485-zu-USB wandler).
Auf dem Wiregate ist ein Socat-Socket eingerichtet:
Name: Transponder, Aktiviert: Ja, Bidirektional: Nein,
Socket 1: "-", Socket: "/dev/usbserial-1-3.1", Optionen: "raw,b4800,cs8,crtscts=0,ixon=1,ixoff=1,ixany=1,ic anon=1,eol=32"
Socket 2: "udp-datagram", Socket: "192.168.0.255:50011", Optionen "bind=:50012,reuseaddr,broadcast"
Code:
# Plugin R.S-Systems RFID-Reader to KNX # Version: 0.2 2010-10-02 # Benötigt # - RSS RFID-Reader an einem USB-Seriell-Wandler # - Eintrag unter Socketverbindungen (socat) ################## ### DEFINITION ### ################## my $socknum = 5; # Eindeutige Nummer des Sockets +1 # Eigenen Aufruf-Zyklus setzen (Initialisierung/zyklisches prüfen) $plugin_info{$plugname.'_cycle'} = 300; my $recv_ip = "192.168.xxx.xxx"; # Empfangsport (UDP, wie in Socket-Einstellungen) my $recv_port = "50011"; # Empfangsport (UDP, wie in Socket-Einstellungen) my %rfid_ga; $rfid_ga{'30343136323c3634373a20'} = '11/2/1'; # Gruppenadresse auf die bei dieser RFID gesendet wird #.. usw. my $interval = 30; # Sendeintervall für RFIDs in Reichweite in Sekunden ####################### ### ENDE DEFINITION ### ####################### # Hauptverarbeitung # or ($fh and eof($socket[$socknum])) if (!$socket[$socknum]) { # socket erstellen if (defined $socket[$socknum]) { #debug if ($socket[$socknum]->opened) { $socket[$socknum]->close(); } undef $socket[$socknum]; } #debug $socksel->remove($socket[$socknum]); $socket[$socknum] = IO::Socket::INET->new(LocalPort => $recv_port, Proto => "udp", LocalAddr => $recv_ip ) or return ("open of $recv_ip : $recv_port failed: $!"); $socksel->add($socket[$socknum]); # add socket to select $plugin_socket_subscribe{$socket[$socknum]} = $plugname; # subscribe plugin return "opened UDP-Socket $socknum"; } elsif ($fh) { # Read from UDP-Socket my $buf; recv($fh,$buf,255,0); next if(!$buf || length($buf) < 2); # Bogus messages my $bufhex = $buf; $bufhex =~ s/(.)/sprintf("%x",ord($1))/eg; if (time() - $plugin_info{$plugname.'_rfidlast_'.$bufhex} < $interval) { # repeated return; } $plugin_info{$plugname.'_rfidlast_'.$bufhex} = time(); if ($rfid_ga{$bufhex}) { knx_write($rfid_ga{$bufhex},1,1); return "RFID $bufhex - sent 1 to $rfid_ga{$bufhex}"; } return "Unknown RFID $bufhex"; } return;
RFID & KNX-GA eintragen, siehe Beispiel
Nicht vergessen, RFID ist "by Design" völlig sicherheitsfrei...
Ich verwende die Transponder-ID daher nicht direkt zum öffnen der Tür - im HS habe ich weitere Logiken die nur unter speziellen Randbedingungen dann die Tür freigeben. Die Reaktionszeit ist sehr gut (gefühlt 500 ms von Davorhalten bis zum öffnen)
Ich habe noch ein paar Bilder von dem Transpondereinbau angehängt
(Anschlußkabel noch aus Testphase, kleines schwarzes Kabel zur Antennenblende ist für die LED-Leseanzeige)
Vielen Dank am Makki für den Support bei der Erstellung dieses Plugins. Das Wiregate ist wirklich ein Multifunktionsgateway! Bei mir jetzt im Einsatz für
* elektronisches Schlüsselbrett
* FS20-Gateway
* und natürlich für zig Temperatur & Luftfeuchtesensoren im ganzen Haus, Heizungs- und Lüftungsanlage
Mfg
Thorsten
Kommentar