Zurück   KNX-User-Forum > Öffentlicher Bereich > KNX EIB Forum > Code-Schnipsel
knx-user-forum - International KNX Award Winner 2010


Links
Kalender
Spende

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 11.10.2010, 14:46
Benutzerbild von ThorstenGehrig
Erfahrener Benutzer
 
Registriert seit: 24.08.2009
Beiträge: 1.741
ThorstenGehrig sorgt für eine eindrucksvolle AtmosphäreThorstenGehrig sorgt für eine eindrucksvolle AtmosphäreThorstenGehrig sorgt für eine eindrucksvolle Atmosphäre
Standard Transponderleser

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"

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 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
Angehängte Grafiken
Dateityp: jpg IMG_0664.jpg (288,2 KB, 1015x aufgerufen)
Dateityp: jpg IMG_0665.jpg (325,3 KB, 1001x aufgerufen)
Dateityp: jpg IMG_0666.jpg (221,1 KB, 996x aufgerufen)
__________________
Meine Inst.: 73 KNX-Geräte, 18 Rolläden, 36 Schaltkanäle, 22 Dimm-Kanäle, 12 Heizungskanäle, 16 PM, 18 Gruppentaster
Wiregate: >50 x Temperaturfühler, 2 x Luftfeuchte, Transponderleser || Gira Homeserver: Visu: 98%, Logiken 98% || Heizung: Dimplex WP mit KNX || Sonstiges: 3xSqueezebox, Mobotix T24, Asterisk
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
  #2  
Alt 15.09.2011, 13:59
Benutzer
 
Registriert seit: 11.05.2011
Ort: Walldorf
Beiträge: 323
mumpf wird schon bald berühmt werdenmumpf wird schon bald berühmt werden
Standard

Hi Thorsten,

vielen Dank für Deine Anleitung, ich konnte hier auch testweise einen RSS-Transponderleser am WireGate in Betrieb nehmen. Bei mir ist es ein LR Transponderleser, der über RS232->USB angeschlossen ist.

So weit so gut. Allerdings habe ich massive Stabilitätsprobleme! Nach spätestens 24h ist kein Tag mehr lesbar und ich muss socat neu starten - dann geht es wieder einige Zeit. Im WebMin ist socat immer grün, aber trotzdem hilft nur ein Neustart... Ich habe bisher socat noch nie genutzt und bin mir deswegen nicht sicher, ob der Fehler nicht vor dem Bildschirm sitzt

Hattest Du auch solche Probleme? Und wenn ja, wie hast Du sie gelöst?
Wenn nein, vielleicht weiss ja noch jemand, was man machen kann.

Ich hatte schon überlegt, ob ich nicht per BWM + WireGate-Plugin socat automatisch restarte - aber lieber wäre es mir, die eigentliche Ursache des Problems zu finden.

Danke und Gruß,
Waldemar
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
  #3  
Alt 15.09.2011, 19:55
Benutzerbild von ThorstenGehrig
Erfahrener Benutzer
 
Registriert seit: 24.08.2009
Beiträge: 1.741
ThorstenGehrig sorgt für eine eindrucksvolle AtmosphäreThorstenGehrig sorgt für eine eindrucksvolle AtmosphäreThorstenGehrig sorgt für eine eindrucksvolle Atmosphäre
Standard

Hi
versuche doch mal dir per SOCAT die ausgabe auf die console oder eine Textdatei umzuleiten - und schaue was da direkt bzw. nach einem tag noch ankommt. (wie das geht? SuFu benutzen ... ich hab gerade keine Zeit, Telco fängt gleich an...sorry)
vielleicht ist deine serielle Leitung zu lange?

Gruß
Thorsten
__________________
Meine Inst.: 73 KNX-Geräte, 18 Rolläden, 36 Schaltkanäle, 22 Dimm-Kanäle, 12 Heizungskanäle, 16 PM, 18 Gruppentaster
Wiregate: >50 x Temperaturfühler, 2 x Luftfeuchte, Transponderleser || Gira Homeserver: Visu: 98%, Logiken 98% || Heizung: Dimplex WP mit KNX || Sonstiges: 3xSqueezebox, Mobotix T24, Asterisk
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
  #4  
Alt 18.09.2011, 13:49
Benutzerbild von Chris M.
Erfahrener Benutzer
 
Registriert seit: 14.12.2008
Beiträge: 4.819
Chris M. sorgt für eine eindrucksvolle AtmosphäreChris M. sorgt für eine eindrucksvolle AtmosphäreChris M. sorgt für eine eindrucksvolle AtmosphäreChris M. sorgt für eine eindrucksvolle Atmosphäre
Standard

Mal eine allgemeine Frage:

Liest der RFID-Treansponder nur seine eigenen Karten, oder gehen damit beliebige, wie die typischen Ausweis-Karten in den Firmen, Kantinen-Karten, ePass, ... auch?
__________________
TS2, B.IQ, DALI, WireGate für 1wire so wie Server für Logik und auf HomeCockpit Minor. - Bitte keine PNs, Fragen gehören in das Forum, damit jeder was von den Antworten hat!
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
  #5  
Alt 19.09.2011, 00:52
Benutzer
 
Registriert seit: 11.05.2011
Ort: Walldorf
Beiträge: 323
mumpf wird schon bald berühmt werdenmumpf wird schon bald berühmt werden
Standard

Hi,

ich bin zwar noch recht neu in dem Bereich, aber soviel ich weiss, kann man zu beidem nicht ja sagen...

Der Leser kann nur bestimmte Tags (125kHz) lesen, somit nicht beliebige... Es gibt eben noch andere Systeme. Allerdings kann man auch Tags andrer Hersteller kaufen, sofern sie die gleiche Sendefrequenz unterstützen.

Ich hoffe, das beantwortet Deine Frage...

Gruß, Waldemar
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
  #6  
Alt 19.09.2011, 23:09
Benutzerbild von ThorstenGehrig
Erfahrener Benutzer
 
Registriert seit: 24.08.2009
Beiträge: 1.741
ThorstenGehrig sorgt für eine eindrucksvolle AtmosphäreThorstenGehrig sorgt für eine eindrucksvolle AtmosphäreThorstenGehrig sorgt für eine eindrucksvolle Atmosphäre
Standard

Hi,
genau gesagt sind es wohl EM4102 Transponder / Read-Only manchmal auch UNIQUE genannt.
Ist eine Art "Industriestandart" und mein alter Leser hatte auch mal meinen Firmenausweiß gelesen - ist aber schon 7 Jahre her. Seitdem ist mir persönlich kein Firmenausweiß untergekommen der funktioniert hat.
Die Transponder kaufe ich gerne bei eBay - einfach nach EM4102 suchen... (da sieht man auch gleich die vielen verfügbaren Bauformen)

Gruß
Thorsten
__________________
Meine Inst.: 73 KNX-Geräte, 18 Rolläden, 36 Schaltkanäle, 22 Dimm-Kanäle, 12 Heizungskanäle, 16 PM, 18 Gruppentaster
Wiregate: >50 x Temperaturfühler, 2 x Luftfeuchte, Transponderleser || Gira Homeserver: Visu: 98%, Logiken 98% || Heizung: Dimplex WP mit KNX || Sonstiges: 3xSqueezebox, Mobotix T24, Asterisk
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
  #7  
Alt 29.10.2012, 17:14
Benutzerbild von hartwigm
Erfahrener Benutzer
 
Registriert seit: 15.09.2008
Ort: Ludwigshafen
Beiträge: 729
hartwigm befindet sich auf einem aufstrebenden Ast
Standard

Hallo Thorsten,

ich will mir das auch mal bauen.

Ist das dieser Reader RSS online shop

?
__________________
Gruß Hartwig
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
  #8  
Alt 29.10.2012, 17:38
Benutzerbild von ThorstenGehrig
Erfahrener Benutzer
 
Registriert seit: 24.08.2009
Beiträge: 1.741
ThorstenGehrig sorgt für eine eindrucksvolle AtmosphäreThorstenGehrig sorgt für eine eindrucksvolle AtmosphäreThorstenGehrig sorgt für eine eindrucksvolle Atmosphäre
Standard

Hi,
Nein - ich habe diesen:

OEM-SR28e-485,Reader,TTL/RS485

http://www.rss-systems.de/assets/s2d...9df0c24201.htm

Allerdings ist der ohne Gehäuse. Jeder andere mit 125khz und rs485 müsste auch passen. Passende Antenne - und Abstand zur Antenne (möglichst kurz) sind auch zu beachten.
Ideal wäre sicherlich Technik innen - Antenne außen.

Gruß
Thorsten
__________________
Meine Inst.: 73 KNX-Geräte, 18 Rolläden, 36 Schaltkanäle, 22 Dimm-Kanäle, 12 Heizungskanäle, 16 PM, 18 Gruppentaster
Wiregate: >50 x Temperaturfühler, 2 x Luftfeuchte, Transponderleser || Gira Homeserver: Visu: 98%, Logiken 98% || Heizung: Dimplex WP mit KNX || Sonstiges: 3xSqueezebox, Mobotix T24, Asterisk
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
  #9  
Alt 17.12.2012, 09:41
Benutzerbild von hartwigm
Erfahrener Benutzer
 
Registriert seit: 15.09.2008
Ort: Ludwigshafen
Beiträge: 729
hartwigm befindet sich auf einem aufstrebenden Ast
Standard

Hallo Thosten,

ich habe mir die Komponenten mal besorgt.

Den Socat bekomme ich nicht zum laufen, was aber am Socket liegen dürfte.

im Sysmon kommt bei mir der Usb an

Code:
Dec 17 09:28:45 wiregate833 kernel: [57062.904073] usb 1-4: new full speed USB device using ohci_hcd and address 5
Dec 17 09:28:45 wiregate833 kernel: [57063.122115] usb 1-4: New USB device found, idVendor=0403, idProduct=f60b
Dec 17 09:28:45 wiregate833 kernel: [57063.122445] usb 1-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Dec 17 09:28:45 wiregate833 kernel: [57063.122781] usb 1-4: Product: USB-Nano-485
Dec 17 09:28:45 wiregate833 kernel: [57063.129568] usb 1-4: Manufacturer: CTI GmbH
Dec 17 09:28:45 wiregate833 kernel: [57063.136341] usb 1-4: SerialNumber: CTVEK3NS
Dec 17 09:28:45 wiregate833 kernel: [57063.143437] usb 1-4: configuration #1 chosen from 1 choice
Dec 17 09:29:44 wiregate833 monit[2663]: 'socat1' failed to start

Deinen Eintrag habe ich daraufhin mit /dev/usbserial-1-4.5 geändert

Die Socketverbindung kommt aber nicht zu stande!

Was mache ich da falsch?
__________________
Gruß Hartwig
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
  #10  
Alt 09.01.2013, 18:31
Benutzerbild von hartwigm
Erfahrener Benutzer
 
Registriert seit: 15.09.2008
Ort: Ludwigshafen
Beiträge: 729
hartwigm befindet sich auf einem aufstrebenden Ast
Standard

Hallo Thorsten,

das RSS Modul hat ein rote und eine grüne LED.
Bei mir hatte ursprünglich nur die rote LED geleuchtet, die Grüne blieb ohne Funktion

Das Modul wurde zwischenzeitlich eingeschickt und repariert nun werden am rss Modul auch die Keys erkannt.

Der USB-NANO von Zeiterfassung, Zutrittskontrolle, Kommunikation - CTI GmbH Leipzig wird auch vom Wiregate erkannt, die Socketverbindung steht.

Jetzt habe ich eigentlich nur noch Kabel zu verbinden.
Pin6&7 des rss SR-28e-5V/12V mit A/B auf der Seite des Nanos.

Aber das scheint es noch ein Problem zu geben.
der usb-Nano hat 3 LEDS,
Die ON leuchtet permanent grün
Die RX und TX sollten, so würde ich es erwarten, leuchten, wenn ein Key erkannt wird, bzw. wenn das rss Modul irgendwas raus gibt.

Da tut sich aber rein gar nichts.

rss erkennt den key die grüne LED flackert.
Am Nano keinerlei Reaktion

Noch irgend eine Idee?
__________________
Gruß Hartwig
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus



Alle Zeitangaben in WEZ +2. Es ist jetzt 07:54 Uhr.



SEO by vBSEO