Laden...

PC als Universal-Fernbedienung

Erstellt von avlbger vor 15 Jahren Letzter Beitrag vor 15 Jahren 6.728 Views
avlbger Themenstarter:in
98 Beiträge seit 2005
vor 15 Jahren
PC als Universal-Fernbedienung

Hallo zusammen.

Da ich nach stundenlangem Suchen nicht wirklich etwas gefunden habe, findet sich hier vielleicht jemand der mir weiterhelfen kann.

Ich würde gerne ein C#-Programm machen, welches IR-Signale/Kommandos an meine diversen Geräte sendet um zb. den Verstärker anzuschalten etc.

Ich finde im Netz zig Seiten wo man normale Fernbedienungen zur Fernsteuerung des PC´s hernimmt, aber nichts in die umgekehrte Richtung. Zudem stellt sich die Frage welche Hardware ich dafür bräuchte. Ich konnte bisher keinen Adapter oder was auch immer finden, welchen ich an den PC anschließen kann und mit welchem ich dann CIR-Signale senden kann. (IRDA-Adapter gibts genug, aber die sind nicht geeignet)

Für meine Pocket-PC gibts im Prinzip genau das was ich brauche, das Programm nennt sich Total Remote, es lernt die Signale der jeweiligen Fernbedienung über den IRDA-port und sendet die Befehle über den Kopfhörerausgang. Es wird das Signal praktisch als Ton ausgegeben und am Ausgang ist dann halt statt eines Kopfhörers ein IR-Emitter angebracht. Das funktioniert wunderbar nur gibt es sowas offenbar nicht für PC´s...

Hat hier irgendjemand eine Info zu so einem Vorhaben? Ich kann mit dieser Idee ja schlecht alleine sein 🙁

lg,
avlbger

Y
102 Beiträge seit 2005
vor 15 Jahren

Hallo avlbger!

Ich selbst bin auch gerade dabei so etwas ähnliches wie du zu programmieren. Als IR-Sender und Empfänger benutze ich einen "USB IR Adapter für Asuro und Yeti" zu finden auf conrad für 21,50€. Damit ist es sehr einfach eine IR-Schnittstelle zu implementieren.

lg, Yeats

avlbger Themenstarter:in
98 Beiträge seit 2005
vor 15 Jahren

Super, das scheint genau das Teil zu sein welches ich brauche 😉.. Allerdings kann ich es auf Conrad.de nicht finden... Bestellnummer oder sowas hast nicht zufällig zur Hand? Ich werd mal googlen.. find sicher jemanden der mir das Ding verkauft 😉

Vielen Dank auf jeden Fall, da kann ich jetzt schon wieder viel motivierter an die Sache rangehen 😁

lg,
avlbger

Y
102 Beiträge seit 2005
vor 15 Jahren

tschuldigung, such nach "Asuro" dann geh auf "PROGRAMMIERBARER ROBOTER ASURO - BS" und unter Zubehör findest das Teil. Wird schon zusammengebauter geliefert.

lg

avlbger Themenstarter:in
98 Beiträge seit 2005
vor 15 Jahren

So 🙂 Schon bestellt, dank dir nochmal für den Tipp,

lg,
avlbger

avlbger Themenstarter:in
98 Beiträge seit 2005
vor 15 Jahren
hmmm...

Gut, Teil angekommen, Treibercd oder so wird hier wohl nicht für nötig gehalten 😄.. egal online entdeckt und installiert... Habe auch ein Beispiel-Programm gefunden in dem ein String per IR gesendet und wieder empfangen wird.

Allerdings kommt hier alles andere als der gesendete String an... und was mich noch mehr verwundert, es kommt nie dasselbe an...
Muss hier wohl noch etwas rumprobieren.

@Yeats.. du hast nicht zufällig ein paar Codeschnipsel wie du erfolgreich IR-Codes, von Fernbedienungen ausliest, oder IR Codes an div. Geräte sendest, die du mir zur Verfügung stellen könntest?

Wäre echt dankbar, ich komme zwar gerne selbst auf Lösungen, aber ich hab im Moment fast alles nur keine Zeit 🙁

lg,
avlbger

Y
102 Beiträge seit 2005
vor 15 Jahren

Hallo avlbger,

Ja, bei der Schnittstelle ist keine Treiber-CD dabei, den würdest du auf der CD finden wenn du dir den Roboter ebenfalls bestellt hättest. Aber der Treiber den man im Internet findet ist meiner Meinung nach praktischer 🙂

Mit dem Senden hatte ich bis jetzt noch keine Probleme, wobei ich, als ich gesendet hab mit C++ gearbeitet hab und an den Asuor gesendet hab.


...
Infra = new System.IO.Ports.SerialPort();
Infra.BaudRate = rate;
Infra.PortName = "COM6";
Infra.Parity = System.IO.Ports.Parity.None;
Infra.DataBits = 8;
Infra.StopBits = System.IO.Ports.StopBits.One;
Infra.DataReceived += new System.IO.Ports.SerialDataReceivedEventHandler(Infra_DataReceived);
...
Infra.Read(Buffer, 0, Buffer.Length);//Zum Lesen des Buffers
...

Das ist mein Code den ich im Konstruktor einer Klasse hab um mit der Schnittstelle zu arbeiten.

Selbst hab ich im Moment Probleme, den Code von der Fernbedienung richtig zu interpretieren, da ich mehr Empfange als ich erwartet habe. Des weiteren bleibt bei mir der Code nicht immer gleich.

lg

avlbger Themenstarter:in
98 Beiträge seit 2005
vor 15 Jahren

Hallo 🙂..

Okay... meine Verwunderung über die empfangenen Daten hat inzwischen einen Grund 🙂.. Ich verwende nicht die Serialportklasse von .NET sondern eine DLL die ich auf der Webseite des Chipherstellers entdeckt habe.. (FTD2XX_NET.dll)

Dort gibt es zwei einfach Methoden zum senden und empfangen von Daten über den ASURO USB IR Transceiver. Ich habe auch ein Beispiel gefunden, und dort war als Baudrate 6900 angegeben weshalb ich das übernommen habe.. Das scheint aber wohl zuviel zu sein, denn erst als ich testweise mal auf 1200 runtergegangen bin kamen auch wirklich die Zeichen wieder an die ich gesendet habe.

Mein nächster Ansatz war nun einfach das Bytearray welches ich empfangen habe als ich eine der Tasten einer IR-Fernbedienungd drückte, einfach wieder zu senden.
Somit sollte das Kommando dann vom Gerät( in dem Fall eine Stereoanlage) erkannt werden, oder liege ich da komplett falsch und es ist doch etwas komplizierter?

Für mein Verständniss sollte es so funktionieren... Signal auslesen... dann einfach wiedergeben.. Leider funktioniert das nicht, habs auch mit diversen unterschiedlichen Geräten versucht falls irgendeines da zufällig ein Protokoll verwenden sollte welches nicht klappt... aber nix... ich konnte keinen einzigen Befehl so über den IR Transceiver an eines meiner Geräte übermitteln 🙁

Hat jemand nen TIP?

lg,
avlbger