Hallo zusammen, ihr hier seid so ziemlich meine letzte Hoffnung. Problem kurz beschrieben: Ich habe einen Epson Projektor 4750w und möchte mit einem ElgatoSteamDeck eine "kleine" Mediensteuerung bauen: Sprich bei Tastendruck soll der Beamer aus dem Mute-Modus gehen und die Leistung der Lampe auf 100% gehen. Und das ganze soll eben per Kommandozeile passieren, damit man es in die ElgatoSoftware einbinden kann. Nun habe ich die Anleitung schon auf und ab gelesen - und auch das Netz durchforscht - leider auch ohne Erfolg. Ja, völlig verrückt: Ich habe auch ChatGPT gefragt, aber das weiß nur was die EpsonDoku weiß und das geht nicht. Wie ist mein Stand: Mit YAT kann ich den Projekor über das ESC/VP.net einwandfrei ansprechen und er macht was er soll, aber eben nur aus dem GUI des YAT. Aber es funktioniert wirklich nur YAT. Selbst meine sonstige Allzweckwaffe Putty versagt an der Stelle. Und auch das klassische Telnet aus der CMD bekommt keine Verbindung hin. Und ich denke, dass könnte das Problem sein. Ich habe aber im YAT schon geschaut, ob da besondere Einstellungen sind. Nein, steht alles einfach auf Standard. Nichts gesondert in der Verbindung angehakt. Hat jmd mit der Problematik schon Berührung gehabt und kann mir weiterhelfen? Wäre echt eine feine Sache. Ich weiß auch, dass die Beschreibung nicht erschöpfend ist. Also löchert mich bitte damit, was ihr wissen müsst um die Richtung zu finden!! Sonst mal im Voraus herzlichen Dank.
Einfach mal mitloggen, was die Software so anders macht? LA am RS232, Wireshark für's Netzwerk oder USB?
Die Kurzanleitung https://download.epson-europe.com/pub/download/3779/epson377999eu.pdf Hier gibt es einen "ESC/VP21 Command User’s Guide (vJ)", als Excel-Tabelle daraus wird als PDF gedruckt 15MByte: https://www.epson.de/de_DE/support/sc/epson-eb-4750w/s/s1208#manuals Aber man kann die Zeile, die als einziges "4750W" enthält, mit Strg-Klick auf die zutreffenden Teile reduzieren, hier in ein PDF gedruckt 12 Seiten. Steht darin nicht genug? https://support.atlona.com/hc/en-us/articles/360048888054-IP-Control-of-Epson-Projectors eine Anleitung zu dem Protokoll
:
Bearbeitet durch User
Hallo Christoph, zunächst vielen Dank für die Infos. Allerdings ist jetzt nicht wirklich was neues dabei. Wie gesagt, die Befehle kenne ich und bekomme die auch mit YAT über das GUI an den Projektor. Nur per Kommandozeile habe ich keinen Erfolg. Ich hatte die Erwartung per Telnet auf den Projektor zu kommen (mit Port 3629), aber bis jetzt keinen Erfolg. Wenn du in die Richtung noch eine Idee hättest?
Tom schrieb: > Ich hatte die Erwartung per Telnet auf den Projektor zu kommen (mit Port 3629) Garkein Verbindungsaufbau oder sofort wieder disconnect? Telnet ist kein reines TCP, da gibt's auch ein paar Steuer-Codes. Evtl. stört sich der Projektor daran und schmeißt dich gleich wieder raus? Außerdem: Wie willst du per Telnet Binärdaten "eintippen"? Wenn in der Anleitung "ESC/VP.net\x10\x03..." steht, darf da kein "\" und kein "x" über die Leitung gehen, sondern exakt die Bytes 45 53 43 2F 56 50 2E 6E 65 74 10 03 ...
Erzeuge Dir mit einem Hexeditor Dateien, in denen die nötigen Binärcodes drinstehen. Die kannst Du dann mit cUrl an Deinen Projektor übertragen, das müsste so gehen:
1 | curl -T datei.bin telnet://12.34.56.78:3629 |
12.34.56.78 ist die IP-Adresse Deines Projektors, 3629 ist die Portnummer, die Du weiter oben genannt hast.
Harald K. schrieb: > Die kannst Du dann mit cUrl Beachten: Das "echte" curl.exe verwenden, nicht das unter Windows mitgelieferte. Das ist in der Windows-(Power-)Shell nur ein Alias auf Microsoft.PowerShell.Utility.Invoke-WebRequest, welches den Namen entsprechend nur "WebRequests" macht.
So - ich bin jetzt mal zu dem System gefahren und werde die Tipps testen. @Harlad: Hast du für die "echte" curl.exe eine Bezugsquelle?
Εrnst B. schrieb: > Das ist in der Windows-(Power-)Shell Die muss man nicht benutzen. Aus der richtigen Kommandozeile aufgerufen meldet sich ein richtiges curl, nämlich das hier:
1 | c:\>curl -V |
2 | curl 8.0.1 (Windows) libcurl/8.0.1 Schannel WinIDN |
3 | Release-Date: 2023-03-20 |
4 | Protocols: dict file ftp ftps http https imap imaps pop3 pop3s smtp smtps telnet tftp |
5 | Features: AsynchDNS HSTS HTTPS-proxy IDN IPv6 Kerberos Largefile NTLM SPNEGO SSL SSPI threadsafe Unicode UnixSockets |
Das Original für alle möglichen Betriebssysteme gibts hier: https://curl.se/
PDF zu curl, speziell Windows ab S. 75: https://daniel.haxx.se/everything-curl/everything-curl.pdf#page=75 Download: https://curl.se/windows/ release-table: https://curl.se/docs/releases.html
okay, dafür schon mal Danke. Nun hätte ich noch die Frage, wie ich die BIN-Datei erzeuge?
Mit einem Hexeditor? Heute gibt es ja jeden Scheiß online im Internet: https://tomeko.net/online_tools/hex_to_file.php?lang=en Dort z.B. "deadface" eingetippt, und die beiliegende Datei fällt raus.
nur ist es richtig, dass danach immer noch per editor der text drin steht? hex für aufruf ist ja: 4553432F56502E6E6574100300000000 und für einschalten: 505752204F4E
Kann man "telnet" auch mit Filezilla übertragen? Das habe ich früher benutzt um Dateien in unseren Messgeräten in den Rechner zu holen und umgekehrt. Aber ich meine, das ist eine Benutzeroberfläche für ftp-Transfers. ftp ist in Firefox mittlerweile abgeschafft, war anscheinend zu unsicher geworden.
Ein weiteres Problem könnte sein, dass das Protokoll auch bestimmte Timings einhalten muss. Zumindest auf der einen Seite, die Christoph oben verlinkt hat, ließt sich das so als müsste man zwischen dem, ich nenn's mal Login, "ESC/VP.net...." und dem danach folgendem Kommando eine kurze Pause einlegen...
Genau, dass mit der "Pause" habe ich gerade nochmal getestet - sogar ehe ich den Beitrag gelesen habe. Also wie: In dem YAT habe ich mir Schaltflächen angelegt. Ich habe "Aufruf" genannt, das ESC/VP.net - und dann eben die einzelnen Befehle, on, off, mute on, mute off, hell und dunktel. Für eine gewisse Zeit behält er sich auch den "Aufruf" und man kann die einzelnen Befehle aufrufen. Sprich zwischen dem Anklicken ist eine natürliche Pause. Dann habe ich einfach mal noch eine Schaltfläche angelegt, wo ich stur die beiden Befehle für "Aufruf" und "Power On" hintereinander geschrieben habe. Damit kann er dann übers YAT nichts anfangen. Ich habe dann versucht eine BIN für den Aufruf zu machen und eine für das PowerOn - und die hintereinader aufzurufen. Funktioniert auch nicht. Allerdings könnte man denken, dass der Aufruf an sich funktioniert. Ich kann morgen nochmal einen Screenshot machen wie es mit dem curl aussieht. Aber wie ich die "Pause" mit Hex organisieren soll ... da bin ich dann doch raus. Ich frag mich auch, ob ich mich so blöde anstelle, oder es so wenig genutzt wird oder wo der Haken ist.
Ernst hatte noch gefragt, wie er sich verhält, wenn ich mich versuche per Telnet zu verbinden: Es blink der Cursor am leeren Fenster des CMD mit Titel Telnet - und sobald ich eine Taste drücke um etwas einzugeben fliege ich raus. Ich dachte eben das der Ansatz mit dem Telnet noch das einfachste sein könnte - über eine Batchdatei die einzelnen Befehle abschicken, dann wäre die "kleine Pause" auch geklärt ....
Tom schrieb: > Ich frag mich auch, ob ich mich so blöde anstelle, oder es so wenig > genutzt wird oder wo der Haken ist. Der Haken ist: telnet, curl und co sind zwar ganz nett um mal schnell was zu testen, aber eben kein Ersatz für ein richtiges Programm, was das ESC/xyz-Protokol implementiert. Wenn du dich mit solchen Tools durchhangeln willst: Schau nach ob dein Projektor auch das Session-Lose Protokoll über UDP implementiert hat... da könnte es reichen für alle nötigen Befehle passende Binärdateien vorzubereiten und diese per netcat (oder Windows-Like in der Powershell per system.Net.Sockets.Udpclient) zu senden. Ansonsten: Programmier dir halt einen passenden Fünfzeiler. Notfalls auch in der Powershell, da geht auch TCP.
Wenn man wüsste was man in den fünf Zeilen schreiben muss wäre das sicherlich ganz einfach 😃 Hatte es auch schon mal per Python versucht. Aber das wurde auch nichts. Da fehlt mir ehrlicherweise dann doch etwas der Ansatz
Tom schrieb: > und sobald ich eine Taste drücke um etwas einzugeben > fliege ich raus. Die erste Taste muss ein "E" sein, die zweite ein "S" usw. und spätestens beim Suchen der Taste, die ein 0x00 sendet, bist du raus... Wenn du auch beim "E" rausfliegst: Evtl. zu langsam, evtl. versucht dein Telnet-Client (telnet ≠ TCP) per diversen IAC DO/DONT usw. Parameter auszuhandeln.
> Ansonsten: Programmier dir halt einen passenden Fünfzeiler. Notfalls > auch in der Powershell, da geht auch TCP. Vielleicht hat ja jemand einen Ansatz dafür
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.