我注意到许多投影机都有RS232或USB端口,可用于控制投影机的功能,即切换输入和打开和关闭电源。有没有人知道是否有一个用于以编程方式控制这些功能的API?
我正在使用Java,但特别是使用RS232我猜这是无关紧要的,因为协议将处于更低的水平。如果周围没有“标准”(我猜不会有)会有什么建议?目前我正在考虑为我想要的功能定义一个投影机控制界面,然后允许人们编写用于外部控制投影机的类并放置它们(可能使用新的watchservice API通过反射来拾取它们) 。)我有没有看到任何瑕疵?
基本上,我正在寻找一个描述用于在各种不同投影仪上执行基本功能的串行协议的文档(如果存在)。
答案 0 :(得分:5)
Incredibly useful reply over on AVForums:
几乎所有的齿轮都是文本字符串的简单telnet rs232。不是所有ascii,但大多数是。 你会读到计算出的奇偶校验和校验和字节..但实际上你只需要发送一个字符串,投影机就会按照它所说的去做。 有些通过发送十六进制字节更容易通信,尤其是如果它们使用奇数非ascii字符,但大多数是简单的ascii后跟换行符。 事情是,如果你使用十六进制,你可以支持每个代码,包括ascii,如果你要开放平台,从那里开始。
许多型号都有不同的输入等,但大多数时候所有制造商的产品都会使用相同的rs232字符串来打开,关闭,输入1-7或hdmi 1-2-3等......
如果可以的话,保持简单,只需控制电源状态和输入选择,你就有可能在没有太多工作的情况下获得80%的普通投影机。
几乎所有的东西都是9600,8n1。
更多细节:
承诺...... 这是一些关于optoma的关闭.. on是以下ascii文本,后跟回车符(如果您不知道..没有'ENTER'键的代码..它由回车符和换行符的旧打字机功能表示。这些由十六进制表示CR的值为0d,LF的值为0)字母'I'是:49,'R'是:52
在
* 0IR001或下一行十六进制..
2a 30 49 52 30 30 31 0
关闭是* 0IR002或2a 30 49 52 30 30 32 0
设置为输入HDMI1 * 0IR017 \ r
2a 30 49 52 30 31 37 0d
松下AX200 ..不同,因为它有文字含义,但只有十六进制字符才能启动命令'02'和十六进制'03'结束一个..“不用于命令,只是为了显示它ascii文本在他们里面在
:02“PON”:03
02 50 4f 4e 03
OFF
:02“POF”:03
02 50 4f 46 03
HDMI1设置输入
:02“IIS:HD1”:03
02 49 49 53 3a 48 44 31 03
索尼很奇怪,根本没有真正的ascii ......只是一个句号和一个问号......这只是十六进制..
开机
a9 17 2e 00 00 00 3f 9a
关闭电源
a9 17 2f 00 00 00 3f 9a
HDMI1
A9 00 01 00 00 04 05 9A