Hallo, ich hatte hier: Beitrag "RS232 Befehl unter Linux" schon mal ein Problem den Beamer unter Linux per rs232 anzusteuern. A)Ich habe einen PC mit Win 10 per ConLine-V24-XXL-S Serial LAN Device Server Netzwerkadapter an meinen Beamer angeschlossen (Virtual COM1). B) Ich habe ein Odroid C2 mit Linux per ConLine-V24-XXL-S Serial LAN Device Server Netzwerkadapter an meinen Beamer angeschlossen (Virtual COM1) Dank eurer Hilfe kann ich den Beamer mit diesem Befehl in Putty direkt einschalten: "echo -ne '\x02PON\x03' | nc 192.168.188.52 1002" So jetzt habe ich aber einen neuen Beamer bekommen und den Panasonic gegen Epson eingetauscht. Bei Epson ist der Befehl zum einschalten: "PWR ON" anstatt bei Panasonic PON und "Das Datenstreaming vom Computer beginnt mit STX, dann folgen Befehl und Parameter, am Abschluss steht ETX.Parameter können nach Bedarf hinzugefügt werden." Ich dachte mir also einfach mal den Panasonic gegen den Epson Befehl austauschen, kann ja nicht so schwer sein. Leider musste ich feststellen, das es das doch ist. Folgende Möglichkeiten habe ich schon ausprobiert: echo -ne 'PWR ON' | nc 192.168.188.52 1002 echo -ne "PWR ON\r" >| nc 192.168.188.52 1002 echo -ne "PWR ON" >| nc 192.168.188.52 1002 echo "PWR ON" >| nc 192.168.188.52 1002 Gibt es da eine Möglichkeit, oder sieht jemand vielleicht schon einen Fehler? Ich wäre über jeden Vorschlag dankbar. Viele Grüße Jens
Jens schrieb: > oder sieht jemand vielleicht schon einen Fehler? Du lässt STX und ETX weg. Oder ist das von Dir zitierte Textfragment aus der Epson- und nicht der Panasonic-Beschreibung?
Jens schrieb: > Bei Epson ist der Befehl zum einschalten: "PWR ON" anstatt bei Panasonic > PON und "Das Datenstreaming vom Computer beginnt mit STX, dann folgen > Befehl und Parameter, am Abschluss steht ETX.Parameter können nach > Bedarf hinzugefügt werden." STX = 02h ETX = 03h echo kann mit \0nnn beliebige Werte ausgeben. ACHTUNG: "\0nnn" ist OKTALE Notation. echo -ne "\0002PWR ON\0003" | nc 192.168.188.52 1002 Grüße Stefan
Stefan W. schrieb: > echo kann mit \0nnn beliebige Werte ausgeben. ACHTUNG: "\0nnn" ist > OKTALE Notation. Man kann auch eine hexadezimale Notation verwenden, wie es das alte Epson-Beispiel zeigt: Jens schrieb: > Dank eurer Hilfe kann ich den Beamer mit diesem Befehl in Putty direkt > einschalten: > "echo -ne '\x02PON\x03' | nc 192.168.188.52 1002"
STX und ETX sind für den Panasonic. Bei epson finde ich außer den Befehlen: "Projektor An = PWR On" leider keine explizite Beschreibung. Leider hat "echo -ne "\0002PWR ON\0003" | nc 192.168.188.52 1002" keinen erfolg gebracht.
Jens schrieb: > Bei epson finde ich außer den Befehlen: > "Projektor An = PWR On" leider keine explizite Beschreibung. Du benutzt aber STX und ETX, wie man Deinem von mir zitierten Beispiel entnehmen kann. "echo -ne '\x02PWR ON\x03' | nc 192.168.188.52 1002" Sind denn Portnummer und IP-Adresse unverändert?
Ja Portnummer und IP sind unverändert. Dies: ""echo -ne '\x02PWR ON\x03' | nc 192.168.188.52 1002" ist der Befehl für Panasonic, welcher tadellos funktioniert, aber eben nur bei Panasonic. Diese: echo -ne 'PWR ON' | nc 192.168.188.52 1002 echo -ne "PWR ON\r" >| nc 192.168.188.52 1002 echo -ne "PWR ON" >| nc 192.168.188.52 1002 echo "PWR ON" >| nc 192.168.188.52 1002 und den "echo -ne "\0002PWR ON\0003" | nc 192.168.188.52 1002" habe ich bei dem Epson versucht. Leider Ohne Erfolg. Bei Epson hatte ich auch schon mit STX ETX wie bei Panasonic versucht aber das geht auch nicht.
Ist das hier das richtige Protokoll: https://files.support.epson.com/pdf/pl600p/pl600ptst.pdf Die darin enthaltene Angabe "Return" ist etwas uneindeutig. ASCII CR "\r" hattest du anscheinen schon getestet. Ich würde auch mal einen einzelnen line feed "\n" und das von DOS/Windows bekannte "\r\n" ausprobieren. Viel Erfolg! Grüße Stefan Edit: Sehe gerade, dass etwas tiefer explizit Carriage Return (0x0D, "\r") genannt wird. Ich würde es aber trotzdem ausprobieren...
:
Bearbeitet durch User
Ich habe leider zu wenig Ahnung davon, aber sollte das ganze dann so z.B. aussehen? echo -ne "'\x02PWR ON\x03'r" >| nc 192.168.188.52 1002 oder als variante: echo -ne "'\x02PWR ON\x03'n" >| nc 192.168.188.52 1002 Irgendwie gibt es ja tausend variationen. Kann sie später mal testen wenn das so richtig ist.
Stefan W. schrieb: > Die darin enthaltene Angabe "Return" ist etwas uneindeutig. Ja. Aber im allerletzen Abschnitt des PDF ist die passende Konfiguration des Windows-Hyperterminal beschrieben. Damit wird's dann eindeutig, das Teil möchte CRLF, liefert selber aber bloß CR.
Jens schrieb: > Ich habe leider zu wenig Ahnung davon, aber sollte das ganze dann so > z.B. aussehen? Wenn die von Stefan W. verlinkte Protokollbeschreibung die passende ist, müßte das Kommando so aussehen: echo -ne "PWR ON\r\n" | nc 192.168.188.52 1002
Vielen Dank ich werde es heute Abend mal ausprobieren und gebe dann Rückmeldung
c-hater schrieb: > im allerletzen Abschnitt des PDF ist die passende Konfiguration > des Windows-Hyperterminal beschrieben. Damit wird's dann eindeutig, das > Teil möchte CRLF, liefert selber aber bloß CR. Gut versteckt! Dann warten wir mal auf die Rückmeldung des TE. Grüße Stefan
Hallo, konnte es gerade nochmal testen. Leider kein mucks vom Beamer :-( Der Beamer ist der Epson EH-TW7400, Das ist der Command User Guide: ftp://download.epson-europe.com/pub/download/6319/epson631956eu.xlsx Keine Ahnung ob das weiterhilft?
Auf die Schnelle gefunden: https://forum.logicmachine.net/showthread.php?tid=129 Dort wird auch nur "PWR ON\r\n" gesendet Vermutlich liegt Dein Problem wo anders? Würde es erst mal direkt über einen USB / RS232-Adapter versuchen?
Jens schrieb: > ftp://download.epson-europe.com/pub/download/6319/epson631956eu.xlsx Da steht genau das gleiche drin wie in dem von Stefan verlinkten Dokument. Sprich: du hast da ein anderes Problem, das Kommando passt so. Ein sinnvolle Startegie zur Fehlersuche wäre: Computer und Beamer direkt verbinden Teminalprogramm und Schnittstelle passend konfigurieren Beamer manuell einschalten Irgendwann (spätestens nach 100s) sollte vom Beamer ein ":" kommen Kommt der nicht, ist der Beamer kaputt oder das Kabel. Kommt er, wäre der nächste Schritt, ein "ERR?\r\n" an den Beamer zu senden (im korrekt konfigurierten Terminalprogramm also ERR?<enter> eintippen). Darauf sollte der Beamer mit der Ausgabe seines Status reagieren. Passiert das nicht: Beamer oder (wahrscheinlicher) Kabel defekt. Funktioniert das alles soweit und zeigt die Ausgabe des ERR?-Kommandos keine Fehler an, ist der Beamer und das Kabel OK. Dann bleibt als Problem nur die Netzwerkgeschichte über.
c-hater schrieb: > Sprich: du hast da ein anderes Problem, das Kommando passt so. Da fällt mir noch was ein: Hast du eigentlich die Konfiguration der Schnittstelle überprüft? Der Epson will 9600,8N1 ohne jegliche Handshakes. Keine Ahnung, was der alte Beamer wollte, aber es könnte halt sein, dass es was anderes war.
Hallo, danke füpr den Tip. Einstellungen sind wie im Anhang. Könnte das: "5 = Flow Control = N" das Problem sein?
Werde die Fehlersuche von c-Hater mal probieren. Habs gerade erst gesehen
So ich bin etwas weiter: Das senden mit Hercules über den Lan Anschluss des Beamers funktioniert mit denselben Befehlen wie RS232. Hier die Beschreibung: https://www.epson.eu/viewcon/corporatesite/products/mainunits/faq/7914/18317 Ich gebe die IP des Beamers und den Port 3629 an. Dann gebe ich diesen HEX Code ein: 45 53 43 2F 56 50 2E 6E 65 74 10 03 00 00 00 00 Damit verbindet er sich anscheinend und ich kann meinen Hex code mit 0d am ende eingeben und es funzt. Once the ESC/VP.net command is sent the projector responds with ESC/VP.net Der Code ist: Hex: 50 57 52 20 4f 46 46 0d Ascii: PWR OFF gibt es denn jetzt wohl auch eine Möglichkeit das in diesen Befehl zu packen? echo -ne "PWR ON\r\n" | nc 192.168.188.52 1002 Hatte schon folgendes ohne erfolg versucht: echo -ne "PWR ON\r\n" | nc (die IP des Beamers 3629 Hat einer von euch vielleicht eine idee? Viele Grüße
Sofern man nocht auf die Antwort warten muss, vermutlich so:
1 | printf "\x45\x53\x43\x2F\x56\x50\x2E\x6E\x65\x74\x10\x03\x00\x00\x00\x00PWR ON\r\n" | nc 192.168.188.52 1002 |
Mit nem delay dazwichen:
1 | { |
2 | printf "\x45\x53\x43\x2F\x56\x50\x2E\x6E\x65\x74\x10\x03\x00\x00\x00\x00" |
3 | sleep 1 |
4 | printf "PWR ON\r\n" |
5 | } | nc 192.168.188.52 1002 |
Eigentlich wäre es besser, zu warten, bis die Antwort empfangen wurde, statt dem sleep, aber stdin und stdout zwischen 2 subshells zu verknüpfen wäre etwas komplizierter. natürlich würde echo statt printf auch gehen, aber printf ist posix shell compliant, während optionen bei echo eine bash extension ist.
Edit: Geht noch etwas lesbarer, teile des hex sind ascii zeichen.
1 | printf "ESC/VP.net\x10\x03\x00\x00\x00\x00PWR ON\r\n" | nc 192.168.188.52 1002 |
Hallo, das funktioniert leider auch nicht. Hat noch jemand eine idee
DPA schrieb: > printf "ESC/VP.net\x10\x03\x00\x00\x00\x00PWR ON\r\n" | nc > 192.168.188.52 1002 Habe gerade gemerkt, es sollte 3629 und nicht 1002 sein, und die IP auch anpassen. Immerhin sollte das ja das selbe sein. Und das \n am schluss ist vielleicht nicht nötig. Vielleicht muss man auch das delay vergrössern, oder vielleicht muss nach dem "ESC/VP.net\x10\x03\x00\x00\x00\x00" noch ein newline \n dran. Ich weiss es nicht. Du schreibst, dass es mit dem anderen Programm funktioniert? Notfalls musst du mit Wireshark nachsehen, was damit bei beiden genau gesendet wird. Wenn eine Veriante geht und die andere nicht, muss es einen Unterschied geben.
Hallo, erst mal vielen Dank für eure Hilfe und eure Bemühungen. Ich weiß das wirklich sehr zu schätzen, das ihr dafür eure Zeit opfert. Wichtige Info für euch ist vielleicht das ich nicht wirklich Ahnung von dem ganzen habe und es somit natürlich für mich schwierig ist den Fehler zu finden oder eine Sache auszuschließen. Ich hoffe aber natürlich das trotzdem eine Chance besteht das ganze ans Laufen zu bekommen. Hat beim letzten mal doch auch funktioniert. Ich versuche wirklich auch mich in die Materie einzulesen und habe schon die letzten Tage alle möglichen RS232 Befehle in den verschiedensten Kombinationen ausprobiert. Zusamenfassend kann ich sagen: 1. Serieller Anschluss von Lan an RS232 An dem alten Panasonic Projektor war der serielle Anschluss weiblich und ich habe es mit diesem Teil: "ConLine-V24-SXL-S (Stecker) Serial LAN Device Server" Also Lan > RS232 dank eurer Hilfe ans laufen gebracht. Ich weis nicht ob es wichtig ist aber der neue Epson Projektor hat einen männlichen Anschluss, so das ich ihn mit diesem:"Seriell Adapter [1x D-SUB-Buchse 9pol. - 1x D-SUB-Buchse 9pol.]" angeschlossen habe. Den ConLine kann ich ansprechen, aber ich habe das Gefühl das der Beamer (nagelneu übrigens deshalb schließe ich einen defekten Beamer zu 99% aus)sich nicht ansprechen lässt, bzw. keine Rückmeldung über die Serielle konfiguration gibt. Ein USB>RS232 Kabel zum Prüfen besitze ich nicht. 2. Lan Verbindung direkt am Beamer (PJ Link?) Wie gesagt kann ich mit dem "Hercules SETUP utility" wie oben beschrieben die Befehle als Hex senden und alle Befehle funktionieren. Die Idee mit Wireshark ist super nur das ich nicht wirklich weis wie man es bedient oder ausließt. Habe es gestartet und wollte sehen was gesendet wird aber ???????? Das Programm ist zu komplex... Ich habe schon etliche Stunden investiert aber ich konnte irgendwie keine genaue Anleitung zu diesem Problem finden oder weis nicht was genau ich machen muss. Im Prinzip benötige ich eine einfache bash datei welche ich aufrufe und die dann den Beamer anschaltet, oder aus, oder den Eingang umschaltet... Theoretisch ganz einfach aber... Nun meine Fragen: Kann das Problem der seriellen Übertragung an dem Adapter (Buchse>Buchse) liegen? Ich habe schon mal etwas von gekreuzten Leitungen gelesen. Gibt es vielleicht eine einfachere Lösung, welche ich mit meinem geringen (eigentlich nicht vorhandenem ;-)) IT Wissen ans Laufen bringen könnte? Oder gibt es in Wireshark eine Möglichkeit zu sehen, was "Hercules" sendet, so das man dann eine einfache bash datei daraus machen kann? Oder muss ich mich geschlagen geben? Danke schon mal auch wenn es keine Chance geben sollte!
Jens schrieb: > Ich weis nicht ob es wichtig ist aber der neue Epson Projektor hat einen > männlichen Anschluss, so das ich ihn mit diesem:"Seriell Adapter [1x > D-SUB-Buchse 9pol. - 1x D-SUB-Buchse 9pol.]" angeschlossen habe. Vielleicht sind einfach RX und TX vertauscht. Miss einfach an *beiden Enden* jeweils die Spannung zwischen: Pin 2 und 5 (GND) Pin 3 und 5 (GND) und berichte. Wenn an beiden Enden (einmal Sicht auf PC, einmal auf Beamer) an derselben Pinnummer ca. -10V (minus!) rauskommen, dann müssen Pin 2 und 3 vertauscht werden, sprich Dein Adapterkabel ist unbrauchbar.
:
Bearbeitet durch Moderator
Hallo, ich melde mich noch einmal. Also das Kabel mit gekreuzten RX und TX war das Problem. Ich habe mir diese gekreuzte Kabel besorgt und siehe da. Jetzt kann ich Befehle über die serielle Schnitstelle senden und es funktioniert. War also ein Hardware Problem. Sorry. Danke euch allen für die Hilfe. Eine Frage hätte ich aber noch. Ich habe den Odroid C2 (Linux) gegn eine Nvidia Shield TV (Android) getauscht. Hierüber wird der Befehl über LAN an die RS232 Buchse gesendet. Ist es möglich diesen Befehl: "echo -ne "PWR ON\r\n" | nc 192.168.188.52 1002" genauso mit Putty über die Shield abzusetzen wie über den Odroid? Benötige ich evtl. noch etwas wie z.B. ein Programm? Oder muss der Befehl zum ausführen der bash datei geändert werden? Muss evtl. eine andere Datei ausgeführt werden? Es gibt doch bestimmt ne Möglichkeit???
Jens schrieb: > Also das Kabel mit gekreuzten RX und TX war das Problem. Tja, hättest du gleich im ersten Posting erwähnt, dass der RS232-Anschluss des Beamers abweichend ist, wäre die Lösung sicherlich viel schneller möglich gewesen. > Ist es möglich diesen Befehl: > "echo -ne "PWR ON\r\n" | nc 192.168.188.52 1002" > > genauso mit Putty über die Shield abzusetzen wie über den Odroid? Wahrscheinlich nicht. Auch bei Ordroid funktionierts ja nur deshalb, weil da mal irgendwie, irgendwann ein "COM-Server" installiert, konfiguriert und aktiviert wurde. > Benötige ich evtl. noch etwas wie z.B. ein Programm? Naja, eben auch einen "COM-Server".
Tut mir leid ich muss das Thema nochmal aufgreife, aber ich bin etwas weiter und hoffe jetzt ans Ziel zu kommen: @ c-hater: Sorry aber wenn ich gewusst hätte das der Fehler mit dem Kabel zusammenhängen konnte hätte ich es bestimmt gesagt. Ich war der festen Überzeugung das das so passt. Ich habe leider zu wenig Ahnung von der Materie :-( Meine Hardware wie oben schon beschrieben: Nvidia Shield mit dem Programm Kodi, KK Nord ConLine-V24-XXL-S Serial LAN Device Server Netzwerkadapter und Epson Beamer. Mein Ziel ist mit einem Programm in Kodi (das Programm heist Cinemavision) den Beamer per RS232 z.B. anzuschalten, das Format zu wechseln... ich habe in dem Ordner Befehle ein .sh Script, welches funktioniert. Das Script sieht so aus: #!/bin/bash echo -ne "PWR On\r\n" | tee | nc 192.168.188.52 1002 Wenn ich nun von meinem Laptop auf die Shield mit Putty zugreife (auf der Shield ist das Programm SSHelper zum einloggen) und: "bash -x /storage/emulated/0/download/Befehle/beameron.sh" eingebe, geht der Beamer an. Alle anderen .sh Befehle habe ich auch getestet und sie gehen alle. Wenn ich nun aber mit Kodi und dem Programm Cinemavision mein Script ausführen möchte, erscheint die Fehlermeldung: "OSError:(Erno2) No such file or directory" Das Programm Cinemavision hat ein sogenanntes Action File (.cvaction) und sieht so aus: "command:///storage//emulated/0/Download/Befehle/beameron.sh" Interessanterweise hatte ich damals mit meinem Odroid C2 schon mal das gleiche Problem. Damals war die Lösung: "dos2unix /storage/emulated/0/download/Befehle/beameron.sh" in den Terminal einzugeben und danach konnte ich "command:///storage//emulated/0/Download/Befehle/beameron.sh" ausführen. Will ich diesen Befehl jetzt in Putty eingeben sagt er mir: "Permission Denied". Unter Notepad++ Format Zeilenende steht aber auch schon Konvertiere zu UNIX (LF). Kann es trotzdem noch der Dos2unix fehler sein und wenn ja wie kann er behoben werden? Oder handelt es sich um ein anderes Problem. Leider kann ich keine Fehlersuche starten da ich mich überhaupt nicht mit der Materie auskenne und nicht weiß was da passiert
Jens schrieb: > Unter Notepad++ Format Zeilenende steht aber auch schon Konvertiere zu > UNIX (LF). Ist das schwarz oder grau? Was steht unten rechts im Fensterrahmen?
Jens schrieb: > Will ich diesen Befehl jetzt in Putty eingeben sagt er mir: "Permission > Denied". Die Datei ist vermutlich nicht ausführbar, d.h. es fehlt das x-Flag.
1 | chmod +x Datei |
hilft hier.
Hallo, vielen Dank ertmal für die schnelle Rückmeldung.
> UNIX (LF) ist grau und unten rechts steht: Unix (LF) | UTF-8 | INS
Wenn ich in Putty "chmod +x beameron.sh" ausführen möchte, bekomme ich
die Meldung: "chmod: beameron.sh: Operation not permitted
Jens schrieb: > Wenn ich in Putty "chmod +x beameron.sh" ausführen möchte, bekomme ich > die Meldung: "chmod: beameron.sh: Operation not permitted Keine Berechtigung? Was zeigt "ls -l beameron.sh"? Alternativ kann man Shell-Scripts aber auch ohne x-Flag starten, wenn man "sh" voranstellt, also:
1 | sh beameron.sh |
Jens schrieb: > UNIX (LF) ist grau und unten rechts steht: Unix (LF) | UTF-8 | INS Dann sollte das Format passen. Bleiben also die Berechtigungen.
"ls -l beameron.sh" zeigt an: -rw-rw---- 1 root everybody Das dies "bash -x /storage/emulated/0/download/Befehle/beameron.sh" funktioniert hat anscheinend mit dem Programm was den Befehl "command:/// ausführen soll nichts zu tun oder? Irgendwo ist da noch ein Fehler oder?
Unter welcher Nutzer- und Gruppenkennung laufen denn Kodi und Cinemavision? Und was ist dein aktueller username?
:
Bearbeitet durch User
Also wie kann man die Gruppenkennung denn Herausfinden? Ich habe da gar nix geändert. Kodi ist auf der Nvidia Shield installiert als App und Cinemavision ist ein Kodi Adon und in der Kodi App installiert. SSHelper ist auf der Nvidia Shield installiert und ich logge mich mit Putty da ein. Komisch das mit bash -x über Putty das ganze in dem Ordner Befehle funktioniert und das .sh script ausgeführt werden kann. Also denkt ihr das das ganze mit den Berechtigungen zu tun haben könnte? Habe momentan keine Ahnung wie und wo ich noch Berechtigungen vergeben könnte
Jens schrieb: > Also denkt ihr das das ganze mit den Berechtigungen zu tun haben könnte? Ja: -rw-rw---- = Benutzer root und Mitglieder der Gruppe everybody dürfen die Datei Lesen und Schreiben, ausfüren darf aber niemand. Du was in die Richtung: -rwxrwx--- oder -rwxrwxr-x. Das sollte mit "chmod +x" eigentlich zu machen sein Offenbar hattest du aber nicht die nötigen Berechtigungen dafür. Dafür gibt es mindestens 2 Möglichkeiten: * Du warst weder root noch in der Gruppe everybody -> mit Kommando "id" prüfen. Falls du "sudo" hast, setze das mal vor das chmod. * Eine LSM oder ein seccomp filter hat das blockiert -> Blöd gelaufen...
Hallo, ich würde sagen das D bei Download ist mit Großbuchstaben geschrieben. Denn die Meldung no file or directory besagt er kann die Datei nicht finden. Gruß Sven
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.