Bedienung mit IR Fernbedienung

Antworten
abacom
Site Admin
Beiträge: 3428
Registriert: Dienstag 23. September 2008, 10:54
Kontaktdaten:

Bedienung mit IR Fernbedienung

Beitrag von abacom » Dienstag 30. September 2008, 11:03

komoloko



Anmeldungsdatum: 09.11.2006
Beiträge: 74
Wohnort: Bremen
Verfasst am: 25.11.2006 21:59 Titel: Bedienung mit IR Fernbedienung

--------------------------------------------------------------------------------

Hallo!
Da ich Profilab gerne mit einer FB bedienen möchte, habe ich mir eine Serielle Schnittstelle zugelegt, die so ziemlich alle IR-FB auslesen kann. Jetzt müßte es doch möglich sein, diese auch über RS 232 auszulesen. Vielleicht ist es ja auch möglich, das es ein Bauteil gibt das einen FB Empfänger unterstützt, kann mir vorstellen das viele user sich freuen würden. Leider fehlen mir die technischen Hintergründe, also ich bekomm die Schnittstelle nicht zum laufen, obwohl der Zugriff mit z.B. Girder prima klappt. Vielleicht kennt sich ja jemand damit aus und kann mir weiterhelfen? Die Anfoderung des IR Empfängers (IR, nicht IRDA!)
Die Einstellungen der seriellen Schnittstelle müssen 9600 Baud, kein Paritätsbit, 1 Stop Bit und keine Flusskontrolle sein.
Das Gerät ist per RTS und DTR gesteuert. Nach wenigen Millisekunden ist der Mikrocontroller aktiv. Während des Startvorgangs ist die Pinbelegung des Moduls noch nicht übertragen. Deshalb kommt es zu Falschmeldungen auf dem RXD-Verbindung des Hosts. Bitte leeren Sie den Input fifo nicht sofort, sondern warten Sie, bis RTS und DTR gesetzt sind und das Modul bereit ist. Das IR-Modul sendet dann "X“. Als nächstes muss der Host ein “I” und circa 500 Millisekunden später "R“ anzeigen. Der Mikrocontroller antwortet mit ”O” und “K”. Jetzt ist das Gerät initialisiert und kann nun selbst Signale empfangen und decodieren.
Ist das Modul initialisiert, sendet es 6 Bytes an den Host, wenn Daten von der Fernbedienung eintreffen. Diese 6 Bytes sind jeweils auf eine Taste der Fernbedienung festgelegt und können so eindeutig zugeordnet werden. mehr weiß ich leider auch nicht über den Empfänger, vielleicht reicht das ja auch erstmal..
Holger

Nach oben


abacom
Site Admin


Anmeldungsdatum: 30.06.2006
Beiträge: 898

Verfasst am: 27.11.2006 10:00 Titel:

--------------------------------------------------------------------------------

Gertätename/-Typ / Link Hersteller / Vertrieb ???
ABACOM support

Nach oben


komoloko



Anmeldungsdatum: 09.11.2006
Beiträge: 74
Wohnort: Bremen
Verfasst am: 28.11.2006 19:28 Titel:

--------------------------------------------------------------------------------

Also die Schnittstelle ist von www.ir2pc.com und funktioniert mit den verschiedensten kleinen Programmen. Habe mir die schnittstelle für den Seriellen Port gekauft, da beim Anschluß an USB auch nur eine serielle Schnittstelle simuliert wird.
Mit den Programmen klappt das auch super, man kann jede übliche FB benutzen. Funzt einwandfrei und müßte sich doch auch in PL einbinden lassen...

Nach oben


Mike D



Anmeldungsdatum: 03.07.2006
Beiträge: 236

Verfasst am: 28.11.2006 22:38 Titel:

--------------------------------------------------------------------------------

Hallo Holger,
da du schreibst dass es mit "den Programmen" (was immer du damit meinst) super läuft, vermute ich, dass du girder oder miriam laufen hast.
Damit kannst du Keyboardeingaben simulieren.
In PLE kannst du alle möglichen sachen auf Hotkeys reagieren lassen, damit hast du schon den Weg PLE-Anwendungen mit IR zu steuern.

Mike

Nach oben


komoloko



Anmeldungsdatum: 09.11.2006
Beiträge: 74
Wohnort: Bremen
Verfasst am: 29.11.2006 11:14 Titel:

--------------------------------------------------------------------------------

Hallo Mike,

Ja mit den Programme meine ich Girder und Miriam und wie sie alle heißen.. Leider klappt das mit den Hotkeys nur wenn PL im Vordergrund läuft, und das auch nicht immer richtig anständig. Die schönere Lösung wäre doch wenn ich mit der FB direkt in PL steuern könnte.Ich glaube auch nicht das es so schwer ist das zu integrieren, aber ich habe halt von sowas nicht wirklich die Ahnung..

Holger

Nach oben


abacom
Site Admin


Anmeldungsdatum: 30.06.2006
Beiträge: 898

Verfasst am: 01.12.2006 09:37 Titel:

--------------------------------------------------------------------------------

Wir haben mal ein Muster geordert. Kommt Zeit kommt Rat...
ABACOM support

Nach oben


komoloko



Anmeldungsdatum: 09.11.2006
Beiträge: 74
Wohnort: Bremen
Verfasst am: 01.12.2006 13:00 Titel:

--------------------------------------------------------------------------------

Hallo!
Das muß ich sagen finde ich mehr als Super
Ich bin gespannt, und es freuen sich bestimmt noch mehr User von PL über die Einbindung eines IR Empfängers in das Programm...
Für meinen Teil werde ich bestimmt ziemlich oft hier vorbeischauen ob sich was neues getan hat
Holger

Nach oben


komoloko



Anmeldungsdatum: 09.11.2006
Beiträge: 74
Wohnort: Bremen
Verfasst am: 09.12.2006 13:43 Titel: Es klappt.. fast!

--------------------------------------------------------------------------------

Hallo!

Heute habe ich mich nochmal intensiv mit der Schnittstelle beschäftigt, und folgendes hinbekommen:

Ich sende ein "IR" als String an den IR Empfänger, und der schickt mir ein "OK" zurück und ist empfangsbereit.

Wenn ich nun auf eine bestimmte Taste warte, z.B. MUTE, und diese als Code (hier: 157 98 104 151 0 0) im Bauteil "String empfangen" eingebe, dann zeigt mir das Bauteil das auch an. ABER: Ich möchte ja auch auf die anderen Tasten warten, z.B. VOLUME UP (157 98 40 215 0 0). Man kann aber immer nur auf EINEN String warten, also kann ich nur eine Taste der FB nutzen?!

Ich brauche also ein Bauteil, das auf STRINGS wartet, und dann selektiert, WELCHER STRING empfangen wurde und je nach STRING einen Ausgang schaltet.. so kann man jede Taste der FB einem Ausgang zuordnen.

HILFE!

Danke, Holger

Nach oben


Mike D



Anmeldungsdatum: 03.07.2006
Beiträge: 236

Verfasst am: 09.12.2006 14:54 Titel:

--------------------------------------------------------------------------------

Hi Holger,
wieso kann man nur einen bestimmten String empfangen?
Hast du den gesammten String als Syncronzeichen eingegeben?
Wenn der String mit CR/LF abgeschlossen wird, gib das als Synchronzeichen ein. Wenn nicht, haben dann alle Strings als letztes 0 0?
Dann kanst du nämlich 0 0 als Synchronzeichen nehmen und jede beliebige Kombination davor enpfangen.

Mike

Nach oben


komoloko



Anmeldungsdatum: 09.11.2006
Beiträge: 74
Wohnort: Bremen
Verfasst am: 09.12.2006 15:29 Titel:

--------------------------------------------------------------------------------

Hallo Mike!

Dankeschön für den prima Tipp!
Bei meiner FB fangen alle STRINGS mit 157 98 an und hören mit 0 0 auf. Allerdings kann ich die 0 0 anscheinend nicht als Zeichenkettenende nehmen. Wenn ich bei Synchronzeichen 0 0 eingebe, zeigt er mir nicht an das er was empfangen hat. Auch wenn ich nur eine 0 eingebe, zeigt er mir nix an. Gebe ich dagegen die 157 an, sehe die zuvor gedrückte Taste. Anscheinend ist die NULL nicht als Zeichenkettenende erlaubt?!

EDIT: Anscheinend sendet die FB die 0 0 gar nicht, sondern wird mir (habs ja durch Miriam ausgelesen) nur bei Miriam angezeigt, weil manche FB 6 zahlen senden, meine aber nur 4 sendet. (deshalb wohl die letzten beiden auf null)

Nochmal Nachtrag: (man bastelt ja fröhlich weiter) In meinem Empfangenen String finden sich am Ende immer zwei eckige kästchen, sind das doch die nullen? ich verzweifel langsam...
Also wird bei meiner FB 157 98 104 151 oder 157 98 80 175 usw gesendet. Es ändern sich also leider die letzten Zeichen. *heul*

Ideen? (das mit CL oder CR hab ich versucht, hat aber auch nicht geklappt.)

Zuletzt bearbeitet von komoloko am 09.12.2006 15:49, insgesamt einmal bearbeitet

Nach oben


Mike D



Anmeldungsdatum: 03.07.2006
Beiträge: 236

Verfasst am: 09.12.2006 15:47 Titel:

--------------------------------------------------------------------------------

"Byte empfangen" nehmen, auf 157 und 98 vergleichen und die nächsten beiden Bytes auswerten.

Mike

Nach oben


komoloko



Anmeldungsdatum: 09.11.2006
Beiträge: 74
Wohnort: Bremen
Verfasst am: 09.12.2006 17:23 Titel:

--------------------------------------------------------------------------------

Hallo Mike!

Vielen Dank für Deine Hilfe! Habe es jetzt endlich zum laufen bekommen... Werde es mir erstmal schenken die 157 98 auszuwerten, es reicht erstmal wenn ich lediglich das Byte danach verwerte. Einfache UND-Schaltung reicht hier völlig aus. Nun seh ich auch einiges klarer; das erste Byte ist 157, das zweite einfach nur das invertierte erste, also 98. Dann kommt das Dritte, FB-Tastenspezifische Byte, das im vierten Byte wiederum invertiert dargestellt wird. Dann kommen noch die beiden "Null" Bytes.

Es reicht also wenn ich die Bits vom dritten Byte UND-verknüpft abfrage und am Eingang des "COM-Bytes auslesen" einen Taktgenerator anschließe, ich hab mal 100Hz genommen, reicht ja völlig aus. Tastenbefehle werden ja in "Byte-Lesen" sogar gepuffert.

Zum Starten muß ich nur einmal "IR" als String an meinen Com-Anschluß senden, und schon ist das IR Modul bereit und arbeitet einwandfrei. Hab ich mit dem Power-On-Reset realisiert.

Vielen Dank, Holger

Nach oben


abacom
Site Admin


Anmeldungsdatum: 30.06.2006
Beiträge: 898

Verfasst am: 12.12.2006 09:07 Titel:

--------------------------------------------------------------------------------

Bitte schauen Sie auch einmal das
Datei->Beispiel ...\hardware\RS232\GPS-DEMO.PRJ an.
Dort ist ein ähnliches Problem gelöst worden: Aus dem Datanstrom des GPS-Empfängers kann per $Vergleich ein bestimmter Befehl 'ausgefiltert' werden.
ABACOM support

Nach oben


abacom
Site Admin


Anmeldungsdatum: 30.06.2006
Beiträge: 898

Verfasst am: 10.01.2007 14:30 Titel:

--------------------------------------------------------------------------------

So, die Muster sind nun da. Angesichts des relativ einfachen Protikolls haben wir uns entschieden, die Geräte per Makro zu unterstützen. Im nächsten Update sollte dann das Makro mit Beispiel enthalten sein.
Das Makro ist mit RS232 und USB (VCP) getestet worden.
ABACOM support
ABACOM support

Antworten

Zurück zu „(Fern-)Bedienung / Externe Eingabegeräte“