产品购买:https://item.taobao.com/item.htm?ft=t&id=900569256900
Pelco-D 的报文格式(7个字节)
想象你要写一封 7个字 的指令信,每个字的含义如下:
字节顺序 | 作用 | 通俗解释 | 例子(十六进制) |
---|---|---|---|
1 | 开头标记 | 相当于信封上的“紧急!”标记,告诉摄像头:“注意,有指令来了!” | 0xFF (固定值) |
2 | 收件人地址 | 摄像头的编号(比如1号摄像头、2号摄像头) | 0x01 (1号) |
3 | 动作指令 | 控制方向:左、右、上、下 | 0x04 (左转) |
4 | 辅助功能 | 控制变焦(放大/缩小)、调焦(清晰/模糊)等 | 0x20 (放大) |
5 | 水平速度 | 左转/右转的速度(0=不动,255=最快) | 0x3F (中速) |
6 | 垂直速度 | 上转/下转的速度(同上) | 0x00 (不动) |
7 | 验证密码 | 摄像头会检查这个密码,确保指令没被篡改 | 自动计算 |
举个实际例子 🌰
假设你要让 1号摄像头 向左转,速度中等(比如0x3F
),报文如下:
FF 01 04 00 3F 00 BC
- 开头标记:
FF
(固定不变) - 地址:
01
(1号摄像头) - 方向指令:
04
(左转) - 辅助功能:
00
(不变焦、不调焦) - 水平速度:
3F
(中速) - 垂直速度:
00
(上下不动) - 验证密码:
BC
(由前5个数字计算得出)
重点解释
- 验证密码(校验码)怎么算?
- 步骤1:把地址、方向、辅助功能、水平速度、垂直速度这5个数字相加。
例子:0x01 + 0x04 + 0x00 + 0x3F + 0x00 = 0x44
- 步骤2:对这个结果“取反加1”(类似数学里的负数)。
例如:0x44
→ 取反是0xBB
→ 加1变成0xBC
。 - 最终校验码就是
0xBC
。
- 为什么要有校验码?
就像快递包裹上的“防拆封条”,摄像头收到指令后,会重新计算校验码。如果和报文里的不一致,说明指令可能在传输中被干扰了,摄像头会直接忽略。
常见操作对照表
动作 | 指令(字节3) | 例子 |
---|---|---|
左转 | 0x04 | FF 01 04 00 3F 00 |
右转 | 0x02 | FF 01 02 00 3F 00 |
上转 | 0x08 | FF 01 08 00 00 3F |
下转 | 0x10 | FF 01 10 00 00 3F |
变焦放大 | 0x20 (字节4) | FF 01 00 20 00 00 |
变焦缩小 | 0x40 (字节4) | FF 01 00 40 00 00 |
一句话总结
Pelco-D 协议就像给摄像头发一条 7个字的密令,前6个字告诉它“做什么”,最后一个字是“防伪码”,确保指令安全送达!