Anzeige:

Beamer per RS232 und PC anschalten

Hier finden sie die archivierten Beiträge des alten PHPBB Forums von www.loetstelle.net

Beamer per RS232 und PC anschalten

Von Solari am 26.10.2008 15:37

Hallo Zusammen,
ich möchte einen Beamer per Mikrocontroller steuern.

Als Anfang möchte ich das erst mal per PC machen. DAzu habe ich mir ein RS-232-Terminalprogramm geladen (http://braypp.googlepages.com/terminal).

Die Steuercodes in der Form z. B. 02h 00h 00h 00h 00h 02 (fürs Einschalten) habe ich aus der Beameranleitung.

Jedoch bekomme ich den Beamer einfach nicht dazu, etwas zu tun. wenns hoch kommt, zeigt mir das Terminalprogramm ein "error" zurück vom Beamer an.
Sämtliche Einstellungen was die Schnittstelle betrifft habe ich wie in der Anleitung eingestellt.

Muss ich evtl. die Codes in einer anderen Form eingeben?

Gruß
Andy

Re: Beamer per RS232 und PC anschalten

Von gerold am 26.10.2008 16:05

Solari hat folgendes geschrieben:
02h 00h 00h 00h 00h 02 (fürs Einschalten)

Hallo Andy!

Vielleicht hast du das als Text und nicht als einzelne Bytes geschickt. Normalerweise stellt man HEX mit "x" dar -- egal.

Das hier:
Code:
0x02h 0x00h 0x00h 0x00h 0x00h 0x02h

bedeutet eigentlich, dass du sechs einzelne Bytes schicken musst.

0x02h = Dezimal 2
0x00h = Dezimal 0

Ich weiß nicht, wie das mit deinem Terminalprogramm funktioniert.

EDIT:

Mit Python http://python.org und pySerial http://pyserial.wiki.sourceforge.net/pySerial würde das Programm dafür so aussehen:
Code:
import serial
ser = serial.Serial("COM1")
for hex_item in ["0x02", "0x00", "0x00", "0x00", "0x00", "0x02"]:
    ser.write(chr(int(hex_item, 16)))
ser.close()

mfg
Gerold
Smile

Von Solari am 26.10.2008 17:32

Hallo Gerold,

merci für die HIlfe.

Geht aber leider net.
Hab dazu ein Terminalprogramm, wo ich in einem Fenster alle Einstellungen machen kann, dann den Text eintippe und auf Senden klicke.

Alles was ich zurück kriege ist Error 600. Sad

Gruß
Andreas

Von gerold am 26.10.2008 17:57

Solari hat folgendes geschrieben:
Hab dazu ein Terminalprogramm, wo ich in einem Fenster alle Einstellungen machen kann, dann den Text eintippe und auf Senden klicke.

Hallo Andreas!

So wie es aussieht, kannst du mit diesem Terminalprogramm keine einzelnen Bytes, sondern nur Text verschicken. Nimm ein anderes Terminalprogramm zum Testen. Oder installiere dir Python und pySerial und probiere das Testprogramm aus.

- Python: http://www.python.org/ftp/python/2.6/python-2.6.msi
- pyWin32: http://downloads.sourceforge.net/pywin32/pywin32-212.win32-py2.6.exe
- pySerial: http://downloads.sourceforge.net/pyserial/pyserial-2.4.win32.exe

Öffne das mit Python mitgelieferte Programm IDLE und kopiere dort das Programm hinein. Speichere das Programm mit der Endung ".py" ab und führe es in IDLE aus. Menü: *Run > Run Module*

mfg
Gerold
Smile

PS:

Code:
#!/usr/bin/env python
# -*- coding: iso-8859-15 -*-

import serial

ser = serial.Serial(port = "COM9", baudrate = 38400, timeout = 3)
# schreiben
for hex_item in ["0x02", "0x00", "0x00", "0x00", "0x00", "0x02"]:
    ser.write(chr(int(hex_item, 16)))
# lesen
for line in ser.readlines():
    print line
ser.close()

Von Solari am 26.10.2008 18:50

Hallo Gerold,

jetzt geht es - super!
Deine INfo, daß mir das Programm keine Bytes überträgt, hat mich auf die Lösung gebracht.

Habe mir ein Programm namens Docklight geladen. Darin konnte ich die Kommandose in Hex-Form (was das auch immer schon wieder ist) eingeben. Zum Beispiel 02 00 00 00 00 02 für STart. Und wenn ich dann auf senden klicke, startet der Beamer.

Super - erster Schritt ist gemacht.

Danke Dir vielmals.
Andy

Anzeige: