mikrocontroller.net

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


Autor: cortezz (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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!

Autor: wv (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: g457 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Günter Lenz (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: cortezz (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Georg (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: cortezz (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.