四个品牌,四种完全不同的帧格式
投影机厂商之间没有任何共同约定。 这四家包装命令的方式各不相同,而搞清楚自己在哪一种格式里,就赢了一大半:
| 品牌 | 格式 | 开机 |
|---|---|---|
| 科视 Christie | 圆括号包裹 3 字母码 | (PWR 1) |
| 巴可 Barco(现行) | 冒号前缀 + 4 字节助记符 | : + 助记符 |
| 奥图码 Optoma | 波浪号 + ID + 码 + CR | ~0000 1 |
| 明基 BenQ | CR + key=value# + CR | pow=on# |
更常见的品牌见爱普生、松下、索尼、NEC。展厅里混着多个厂商时,PJLink 能用一套命令覆盖全部,通常是更好的默认选择。
科视 Christie
科视用圆括号包裹的纯 ASCII 文本。每条消息是一个三字母功能码加可选数据。
(PWR 1) 开机
(PWR 0) 关机字节级:
(PWR 1) = 28 50 57 52 20 31 29
(PWR 0) = 28 50 57 52 20 30 29值得知道的规则:
- 功能码是三个 ASCII 字符,大小写均可。
- 功能码后面可以跟一个四字符子码,用
+分隔。没有子码时+要整个省掉。
- 码与数字之间的空格是可选的——
(PXT50)和(PXT 50)都合法。
- 设置值时不要加
?或!。 问号形式是查询用的。
- 部分命令接受
n(下一个)和p(上一个)做相对调整,而不是绝对值。
- 投影机寻址:在左括号和功能码之间插入投影机编号,有效范围 0–999。
- 以太网控制走 TCP 3002 端口——同样的 ASCII 命令,不需要串口线。
无人值守展厅值得关注 APW(Auto Power On):上电即自动开机。
注意部分命令只在投影机已开机时有效——常见的待机限制。
巴可 Barco
巴可有两代互不兼容的协议,先分清自己是哪一代能省掉一下午。
现行机型(F35/FL35/FS35/F85 等)——ASCII
- 帧头是 ASCII 冒号
:
- 助记符是 4 字节标识
- 分隔符可选
:BRIG R10 = 3A 42 52 49 47 20 52 31 30这个例子是相对调整——把亮度提高 10 档,而不是设为 10。相对修饰符是巴可的特色,会让期待绝对值的人意外。
应答默认开启,可用 ECHO 命令开关。多数命令会返回你所问项的当前值;非法命令返回的内容不同,部分响应超过六个字符(字符串)。
两个运行层面的坑:
- 开机完成后,至少等 30 秒再发下一条命令。 这比多数品牌都长,是"我宏里第二条命令凭空消失"的常见原因。
- 部分命令会产生屏幕上的提示。 在博物馆开放时段这是不可接受的。 在菜单里关掉,或把
OSDC设为0(关闭)或1(仅警告)。
老机型(SLM / 早期 LCD-DLP 年代)——二进制
完全不同:33 字节的包带校验和,消息地址范围 0–255,其中 0 是广播,而且广播不会有任何应答。
串口默认值:4800 / 9600 / 19200(默认),无校验位。
校验和必须按每台投影机的地址重新计算,这就是为什么老款巴可的通用指令表几乎从来不能直接用。这一代的 RS-232 控制不产生任何 OSD 提示。
来自实际实现的配置提示:在投影机上打开 RS-232 通信,并把投影机地址设为 1。
奥图码 Optoma
奥图码用带波浪号引导符的 ASCII:
~<ID><命令> <值><CR>电源,指向所有投影机(ID 00):
~0000 1<CR> 开机
~0000 2<CR> 关机字节级:
~0000 1<CR> = 7E 30 30 30 30 20 31 0D
~0000 2<CR> = 7E 30 30 30 30 20 32 0D串口:9600, 8, 无校验, 1, 无流控。
奥图码官方文档里的两个陷阱
1. 7E 只是 ASCII 的波浪号,其余全是 ASCII 数字,不是二进制。
奥图码的指令表把十六进制印成 7E 30 30 30 30 20 31 0D。很容易把开头的 7E 理解成二进制引导字节,进而以为后面也是二进制。并不是:30 是字符 0,20 是空格,0D 是 CR。把 7E 00 00 00 00 01 0D 当作原始字节发出去是不会工作的。
2. 文档里的 XX 是占位符,不是字面字符。
奥图码的表写成 ~XX00 1,其中 XX 是你应该替换掉的投影机 ID。如果你把这个字符串照字面发出去,实际传输的是:
~XX00 1 = 7E 58 58 30 30 20 31 0D
^^ ^^ = 字母 "XX" (0x58)投影机收到一个叫 "XX" 的 ID,它不存在,于是忽略这条命令。这会产生一次彻底静默的失败,表现和接线问题一模一样——而从 PDF 里复制时非常容易犯。
3. 新机型上 RS-232 默认是关闭的。 用红外遥控器按 Power、下、右、Menu 的顺序启用。在此之前这个口什么也不做。
明基 BenQ
明基用 key=value 语法,前后包着回车和井号:
<CR>*pow=on#<CR>
<CR>*pow=off#<CR>字节级:
*pow=on# → 0D 2A 70 6F 77 3D 6F 6E 23 0D
*pow=off# → 0D 2A 70 6F 77 3D 6F 66 66 23 0D注意开头也有一个 CR,不只是结尾——两个都是帧的一部分。
不区分大小写:大写、小写、混合都接受,这在业内少见,也很省心。
明基的错误回复是真有用的
明基会用明白话告诉你为什么拒绝:
| 回复 | 含义 |
|---|---|
Illegal format | 帧格式错——检查两个 CR 和那个 # |
Unsupported item | 语法没问题,但这个型号没实现这条命令 |
Block item | 命令合法且支持,但当前状态下不允许 |
运行层面最要紧的是 Block item——它通常意味着投影机正在预热、冷却或忙碌。它区分了"你的命令错了"和"你的时机错了",而极少有品牌会区分这两件事。
待机功耗陷阱
明基的命令只在待机功耗设为 0.5W(或该型号支持串口待机的设置)时才有效。 在更深的节能待机模式下,串口接收器是关的。
这就是那个常见的"关机好使、开机永远不行",而明基有一个明确的设置项可以查。在 OSD 里找待机功耗 / 待机设置。
网络控制
走 LAN 时是 TCP 8000 端口,行为与串口完全一致——只是首尾的 变成可选。和爱普生、索尼一样,这让网络成为更好的长期传输方式,前提是你已经在线缆上验证过命令。
接线
明基明确要求交叉线——2 脚和 3 脚对调,只用 2、3、5。有一个记录在案的 W6500 无响应案例,原因正是这个。见交叉线与直通线。
速查表
| 科视 | 巴可(现行) | 奥图码 | 明基 | |
|---|---|---|---|---|
| 开机 | (PWR 1) | : + 助记符 | ~0000 1 | |
| 关机 | (PWR 0) | : + 助记符 | ~0000 2 | |
| 波特率 | 因机型而异 | 因机型而异 | 9600 | 查 OSD |
| 网络端口 | TCP 3002 | 支持 LAN | — | TCP 8000 |
| 广播/全体 | 地址 0–999 | — | ID 00 | — |
| 区分大小写 | 否 | — | — | 否 |
这四家每一家都有型号级差异。 把一张指令表固化进中控系统之前,先对照你那台机器的 RS-232 规格书验证——而表里给了校验和的,请重算而不是直接信。
用 SoftControl 控制
SoftControl 通过串口或 TCP 发送这四种格式,文本和十六进制两种输入都支持,所以科视的括号、奥图码的波浪号加 ASCII 数字、明基的双 CR 帧,对它来说都只是载荷。指令测试页显示实际发出的字节和原始回复——这正是你能立刻抓到奥图码 XX 占位符问题的方式,而不是去怀疑线坏了。
混品牌展厅用 PJLink 处理开关机、输入和消隐,原生协议留给品牌专有功能。