Forum: PC-Programmierung Befehl an COM port mit Batch Beamer NEC LT380


von cortezz (Gast)



Lesenswert?

Moin moin alle zusammen!

Ich möchte dass sich meinen Beamer NEC LT380 automatisch beim hochfahren 
meines Computers einschaltet.

Die Idee ist "einfach" einen Befehl an die Vorhandene RS-232 
Schnittstelle zu senden und fertig.

Dazu habe ich mir von NEC eine Liste mit den jeweiligen Steuerbefehlen 
geholt. Getestet habe ich das ganze mit dem Programm "HTERM". Dort habe 
ich die Parameter der Schnittstelle eingegeben, connect geklickt, beim 
Input auf HEX gestellt und 02 00 00 00 00 02 eingegeben und mit Enter 
bestätigt. Zack Beamer geht an, Toll!



Wie bekomme ich das ganze denn nun in eine *.bat? Ich habe versucht mich 
hier durchzulesen bei ähnlichen Problemen leider kann ich darauf nicht 
antworten (älter als 6 monate) und es erschließt sich mir dennoch nicht 
ganz.

Im Anhang befindet sich die Datei mit den Steuercodes zu dem Beamer. Ich 
habe noch nie eine Batch Datei erstellt und hoffe keine "code schnipsel" 
zu erhalten sondern wie so ein file tatsächlich auszusehen hat. Getestet 
habe ich bereits über cmd, die Schnittstelle zu parametrieren (mode com4 
etc.) hat super geklappt. Auch habe ich einfach versucht eine *.txt mit 
verschiedenen Variationen des Steuercodes an die Schnittstelle zu 
kopieren, leider bleib der Beamer immer aus. Ich vermute einfach mal das 
es mit der HEX geschichte zusammen hängt. Dazu wurde in einem anderen 
Beitrg schonmal geschrieben "... musst du natürlich nen HEX-editor für 
beutzen..." (hilft mir hier nicht weiter da ich nicht weiss wie genau 
man einen Hex editor benutzt und was da letztlich bei rauskommen soll.)

Ich hoffe ihr könnt mir weiterhelfen und versteht einigermaßen worauf 
ich hinaus will. Und habt etwas Nachsicht mit mir ;) vielen Dank 
schonmal fürs Lesen!

von wv (Gast)


Lesenswert?

hallo cortezz,

das wird mit einem Batch-File nicht gehen, die ASCII-Nullen in der 
Befehls-Sequenz machen da Probleme. Wahrscheinlich mußt Du da ein 
kleines C-Programm schreiben, und selbst da kannst Du die Sequenz nicht 
einfach als String senden, da das beim ersten \0 abbricht.

Was aber in C gehen müßte, ist die Zeichen einzeln zu senden, eine 
einzelne \0 kann man übertragen, man muß nur die Schnittstelle so 
konfigurieren, daß \0 nicht verworfen wird.

Gruß wv

von g457 (Gast)


Lesenswert?


von Günter Lenz (Gast)


Lesenswert?

cortezz schrieb:
>beutzen..." (hilft mir hier nicht weiter da ich nicht weiss wie genau
>man einen Hex editor benutzt und was da letztlich bei rauskommen soll.)

Damit kannst du eine Binärdatei erzeugen. Du kannst damit beliebige
Byte, von 00 bis FF, einzeln, Byte für Byte schreiben, also deine
Steuer-Byte. Dann abspeichern in eine Datei. Diese Datei kannst du
nun mit dem COPY Befehl zu deiner COM-Schnittstelle senden.
Diese COPY Befehlszeile kannst du auch in eine BAT-Datei einbauen.
BAT-Dateien schreibt man mit einem normalen Texteditor.

von cortezz (Gast)


Lesenswert?

Vielen Dank für eure Antworten, Das Problem ist gelöst. Konnte es nach 
dem Ende von GNTM auch grade testen (vorher dürfte der Beamer ja nicht 
abgeschaltet werden ^^ )

Also ich hatte mich noch weiter belesen und nachdem ich mich etwas mehr 
mit dem erstbesten Hex Editor (Hex-Editor MX) beschäftigt habe, war ich 
in der Lage eine Datei zu erstellen die Lediglich den Steuercode als Hex 
enthält, die Datei habe ich dann als *.hex abgespeichert.

Morgen poste ich nochmal den genauen Code aus meiner *.bat damit anderen 
dann auch geholfen ist.

Erzielt habe ich den Erfolg jedoch nicht mit "copy"  sondern mit "type" 
, was nicht heißen soll dass copy nicht funktioniert.

von Georg (Gast)


Lesenswert?

cortezz schrieb:
> Erzielt habe ich den Erfolg jedoch nicht mit "copy"  sondern mit "type"

Bei copy müsstest du wohl /b angeben (binär), damit der copy-Befehl 
deine Datei nicht als Text interpretiert. Wundert mich dass es mit type 
geht.

Georg

von cortezz (Gast)


Angehängte Dateien:

Lesenswert?

Nun mal kurz die einzelnen Files:

1x Beamer_on.bat (Name der Datei ist nicht wichtig)

@echo off
mode com1: BAUD=9600 PARITY=n DATA=8 STOP=1 to=off xon=off odsr=off 
octs=off dtr=off rts=off idsr=off
type C:\Beamer\NeuOn.hex > COM1
timeout /T 45
type C:\Beamer\input_pc3.hex > COM1

In den Beiden Hex Files stehen zum einen der Steuercode zum Einschalten 
des Beamers und in der zweiten steht der Steuercode zum umschalten auf 
den Eingang "Computer 3" des Beamers (falls vorher bspw. TV geschaut 
wurde).

Die Hex Dateien habe ich mit Hex-Editor MX erstellt.

Der Timeout bewirkt lediglich das bis zum senden des nächsten 
Steuercodes 45 Sekunden gewartet wird (Boot vom Beamer in der Zeit 
werden keine Umschaltbefehle verarbeitet).

Beim Ausschalten verfahre ich ähnlich. Die Datei wird beim 
Herunterfahren durch den Benutzergruppendienst von Windows7 ausgeführt 
und auch das Funktioniert tadellos.

Vielen Dank für eure Tipps!

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
Noch kein Account? Hier anmelden.