Zurück   IP-Symcon Community Forum > IP-Symcon 2.x > Scripte, PHP, SQL

Antwort
 
LinkBack Themen-Optionen Thema durchsuchen
  #1 (permalink)  
Alt 18.07.10, 15:15
Senior Member
 
Registriert seit: Aug 2009
Beiträge: 299
Standard String vom seriell Port lesen (RFID Reader Pollin)

Hallo zusammen,

ich habe mir folgenden Bausatz bei Pollin gekauft und in meine Türsprechanlage eingebaut.
Der Bausatz funktioniert und schickt via RS232 die ID des Tags.
Halte ich den Tag an die Spule, so wird ca. sekündlich der Tag geschickt.
Wenn ich mich via Putty mit dem Reader verbinde, dann erhalte ich beigefügte Ausgabe. Die Verarbeitung in IPS funktioniert soweit, dass ich die Daten via RegisterVariable lesen kann.
Leider schaffe ich es nicht immer nur einen Tag zu lesen.
Ich habe die beiden Scripte aus der Doku zur RegisterVariable (RegisterVariable: IP-Symcon :: Automatisierungssoftware) schon probiert. Jedoch ist ja nicht gesagt das der Puffer immer beim ersten Zeichen des Tags beginnt und beim zweiten Script haben ich ";" durch "\n" ausgetauscht, leider ebenfalls ohne erfolgt. Auch ein "\r" hat nichts geholfen. Werden diese Zeichen beim einlesen in die RegisterVariable entfern? In Putty hab ich ja nen Zeilenumbruch.
Hat jemand eine Idee wie ich das anstellen könnte? Der Tag ist immer 10 stellig.

Vielen Dank und viele Grüße
Chris
Angehängte Grafiken
 
__________________
IP-Symcon V2.3
2x FHZ1300, 6x FS ST-2, 2x FS20 S4A, 2x FS20 S4UB, 2x FS20 SM4, 2x FS20 DI
1-Wire im Aufbau (DS1820 und DS2405)
Mit Zitat antworten
  #2 (permalink)  
Alt 18.07.10, 15:44
Benutzerbild von RWN
RWN RWN ist gerade online
Super Moderator
 
Registriert seit: Jan 2007
Ort: Nidda(Hessen)
Beiträge: 5,970
Standard

mach doch in der RegVar ein Debug, da siehst Du doch wie die Daten rein kommen.
__________________
Gruß Rainer


Unmögliches wird sofort erledigt, Wunder dauern etwas länger.

Mit Zitat antworten
  #3 (permalink)  
Alt 18.07.10, 16:23
Senior Member
 
Registriert seit: Aug 2009
Beiträge: 299
Standard

Hallo,

anbei mal die Debug Ausgabe sowohl der Seriell Port Instanz als auch der RegisterVariable.
Auf dem seriellen Port sieht es so aus als kommen dort zwei Leerzeichen an. Daher auch meine Vermutung mit \n oder \r oder sogar beides.

Auf der RegisterVariable sind diese Zeichen dann weg.

Ich habe eben auch schonmal versucht einen anderen Microcontroller mit modifizierter Pollin Software einzusetzen. Der mir dann immer ein ; hinter jeden Tag macht, aber mit der Pollin Software die es zum Download gibt, egal ob modifziert oder nicht, funktioniert der Reader nicht mehr. Auch steht im bascom file was von 8Mhz Frequenz obwohl ein 16Mhz Quarz drin ist.

Vielen Dank und viele Grüße
Chris
Miniaturansicht angehängter Grafiken
instanz.jpg   registervariable.jpg  
__________________
IP-Symcon V2.3
2x FHZ1300, 6x FS ST-2, 2x FS20 S4A, 2x FS20 S4UB, 2x FS20 SM4, 2x FS20 DI
1-Wire im Aufbau (DS1820 und DS2405)
Mit Zitat antworten
  #4 (permalink)  
Alt 18.07.10, 16:43
Benutzerbild von RWN
RWN RWN ist gerade online
Super Moderator
 
Registriert seit: Jan 2007
Ort: Nidda(Hessen)
Beiträge: 5,970
Standard

In der RegVar kommen doch 12 Stellen an. 10mal Daten 2mal ?

Stell mal um auf Hex.
__________________
Gruß Rainer


Unmögliches wird sofort erledigt, Wunder dauern etwas länger.

Mit Zitat antworten
  #5 (permalink)  
Alt 18.07.10, 17:23
Senior Member
 
Registriert seit: Oct 2005
Ort: Gehrden / Hannover
Beiträge: 500
Standard

Zitat:
Zitat von spaceguy Beitrag anzeigen
Hallo zusammen,
Jedoch ist ja nicht gesagt das der Puffer immer beim ersten Zeichen des Tags beginnt und beim zweiten Script haben ich ";" durch "\n" ausgetauscht, leider ebenfalls ohne erfolgt. Auch ein "\r" hat nichts geholfen.
Zeich mal bitte den Teil des Scripts wo du nach den Zeichen suchst
__________________
FHZ1300 | 2x JeeLink | AVR-NETIO | FS20 | 1-Wire | 2x XBEE Pro | 4x XBEE 2.5 (als Zigbee Mesh) | eDip | 7x Jeenode | JeeNode EtherCard | CUL Stick
3x Fritz!Box, WHS, XBMC, IPS-Server (Atom)
Mit Zitat antworten
  #6 (permalink)  
Alt 18.07.10, 17:40
Senior Member
 
Registriert seit: Aug 2009
Beiträge: 299
Standard

Hi!

Ich verwende genau das Script aus der Doku.

PHP-Code:
<?php
// wenn das Skript von einer RegisterVariable-Instanz aus aufgerufen worden ist
if ($IPS_SENDER == "RegisterVariable")
{
  
// bereits im Puffer der Instanz vorhandene Daten in $data kopieren
  
$data  RegVar_GetBuffer($IPS_INSTANCE);
  
// neu empfangene Daten an $data anhängen
  
$data .= $IPS_VALUE;

  
// wenn das Trennzeichen \r; in $data gefunden worden ist
  
if (strpos($data'\r'))
  {
      
// $data in durch ; separierte Datensätze zerlegen
      
$datasets explode('\r'$data);
     
      
// alle nicht durch \r terminierten Datensätze ausgeben
      
for ($i 0$i count($datasets) - 1$i++)
      {
         echo 
"empfangener Datensatz: ".$datasets[$i]."\n";
      }
     
      
// $data auf den Inhalt des letzten (unvollständigen) Datensatzes setzen
      
$data $datasets[count($datasets) - 1];
  }

  
// Inhalt von $data im Puffer der RegisterVariable-Instanz speichern
  
RegVar_SetBuffer($IPS_INSTANCE$data);
}
?>
Vielen Dank und viele Grüße
Chris
__________________
IP-Symcon V2.3
2x FHZ1300, 6x FS ST-2, 2x FS20 S4A, 2x FS20 S4UB, 2x FS20 SM4, 2x FS20 DI
1-Wire im Aufbau (DS1820 und DS2405)
Mit Zitat antworten
  #7 (permalink)  
Alt 11.10.10, 10:05
Benutzerbild von Wile_E.
Senior Member
 
Registriert seit: Sep 2008
Ort: 25k nördlich v. Hannover
Beiträge: 375
Standard

Hi,

ist es denn zu einem Ergebnis gekommen?
Habe gestern den Bausatz fertig gestellt und wollt ihn die Tage mal an IPS testen.

Gruß

Jan
Mit Zitat antworten
  #8 (permalink)  
Alt 11.10.10, 10:46
Senior Member
 
Registriert seit: Aug 2009
Beiträge: 299
Standard

Hi,

ja, ist es. Im Augenblick öffne ich damit zwar noch nicht meine Tür, weil der Türsummer noch nicht angeschlossen ist. Ich werde aber heute Abend mal meine Scripts dafür posten. (Von der Arbeit leider keinen Zugriff auf die Maschine.)

Sind zwar noch nicht schön dokumentiert und legen auch keine Variablen automatisert an usw.. Das kann ich aber noch einbauen.
Alles in allem tun sie was sie sollen. Beim halten der Karte an meine Türglocke (da hab ich die Spule eingebaut), den Türsummer für 3 Sekunden betätigen.
Sabotageerkennung ist noch nicht eingebaut, wäre aber auch kein Problem (Wird eine falsche Karte an den Leser gehalten, dann erhalte ich eine E-Mail usw.)

Noch eine Anmerkung: Im Internet findet man an vielen Stellen Hinweise darauf, einen 470 Ohm Widerstand in Reihe zur Spule zu schalten um die Reichweite zu erhöhen. (Steht auch im Datenblatt des Controllers.) Ich habe das gemacht und erhalte so ca. 3-4cm, was mir super reicht, wenn ich meine Geldbörse mit der Karte an den Leser halte.

Viele Grüße
Chris
__________________
IP-Symcon V2.3
2x FHZ1300, 6x FS ST-2, 2x FS20 S4A, 2x FS20 S4UB, 2x FS20 SM4, 2x FS20 DI
1-Wire im Aufbau (DS1820 und DS2405)

Geändert von spaceguy (11.10.10 um 10:49 Uhr)
Mit Zitat antworten
  #9 (permalink)  
Alt 11.10.10, 11:36
Benutzerbild von Wile_E.
Senior Member
 
Registriert seit: Sep 2008
Ort: 25k nördlich v. Hannover
Beiträge: 375
Standard

Super,

danke auch für den Tip mit dem Widerstand. Soll bei mir auch zur Klingel, aber nur eine Alarm scharf/unscharf Schaltung vornehmen. Obwohl Summer ...mal sehn.

Jan
Mit Zitat antworten
  #10 (permalink)  
Alt 11.10.10, 12:30
Senior Member
 
Registriert seit: Aug 2009
Beiträge: 299
Standard

Die Pollin Spule passt perfekt in die große Doorline-Taste. (T-Com oder Telegärtner) Hab die Spule und Drähte mit Heißkleber fixiert. Das hält super und man sieht es nicht.
Von dort gehen bei mir zwei Drähte zur Platine (ca. 2m Kabel) und es funktioniert gut.
Die Spannungsversorgung habe ich auf den SUB-D 9 pol. Stecker der Platine mit aufgelegt und versorge die Schaltung damit zentral vom IPS Server aus.

Viele Grüße
Chris
__________________
IP-Symcon V2.3
2x FHZ1300, 6x FS ST-2, 2x FS20 S4A, 2x FS20 S4UB, 2x FS20 SM4, 2x FS20 DI
1-Wire im Aufbau (DS1820 und DS2405)
Mit Zitat antworten
Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

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

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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Conrad 8-fach seriell Relaisplatine mit COM Port Modul ansteuern. bastelwasti Scripte, PHP, SQL 5 15.04.09 13:11
Bessere AVISARO Unterstützung chrisu Ideen & Anregungen 13 05.11.06 23:17


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:26 Uhr.


Powered by vBulletin® Version 3.8.4 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.6.0