一种用于球机控制的串口通信协议的制作方法

文档序号:11960134阅读:666来源:国知局

本发明专利涉及一种用于串口或RS485接口通信的球形摄像机运动控制协议格式定义。



背景技术:

目前,在安防领域用于球形摄像机运动控制的最通用的协议主要有PELCO-D和PELCO-P,以及在此格式基础上扩展的各种协议。这两种协议都只提供了单向的数据通信,而且只能控制球形摄像机机的运动方向,没有提供球形摄像机的坐标查询、坐标控制以及绝对速度的控制格式。本协议则在全新的通信格式定义的基础上提供了球形摄像机的坐标查询、坐标控制以及速度控制协议,同时该协议可以提供非常好的可扩展性,可以任意增加命令以传输更多的控制信息,提供球形摄像机其他的状态控制和查询,比如放大倍数,聚焦控制方式以及聚焦位置等。



技术实现要素:

本协议主要解决了球形摄像机通过串口或RS485接口控制时,直接控制球形摄像机绝对坐标控制,绝对转速控制以及坐标查询的问题,同时还提供其他球机状态的查询和控制。

本协议定义的串口通信格式如下:

LENGTH:第一字节为命令长度字节,包括BTYE2~BYTEn,即LENGTH = n-1;

LENGTH:第二字节为命令长度字节取反,即LENGTH = ~LENGTH,用来校验协议头的传输准确性;

ADDR: 球机地址,取值范围0~255;

COMMAND:命令内容,其中的第一个字节为命令字,后续字节为命令的具体数据内容;

CHECKSUM:命令校验和,取模255加法;

CHECKSUM = BYTE0 + BYTE1 + BYTE2 + …… + BYTE(n-1) 。

该通信协议使用场景为一个主控端和一个或多个被控端(一般是球形摄像机)通信的工作模式,并且只有主控端可以主动发起通信。

设置球机坐标命令为:

获取球机坐标命令为:

设置球机转动速度命令为:

设置球机的PTZ坐标命令为:

获取球机的PTZ坐标命令为:

获取球机的放大倍数命令为:

发送端发送方式为:主控端根据需要控制的球机地址,以及控制命令,控制数据组成协议内容字符串,同时在协议字符串之前加上长度及其补码,计算出校验后后附加到该字符串最后面。

发送时,所有数据必须连续发送,中间任何两个字节的时间间隔不得超过超时时间(比如10毫秒)。

如果发送的是查询命令,则在超时时间内等待接收信息,按照接收端方式对收到的数据进行解析。

接收端命令接收方式:逐字节对接收到的数据进行检查,当收到的某个字节数据与前一个字节数据成补码关系时,表示一条命令的起始,同时成补码关系的第一个字节为该命令的长度,也就是后面还需要接收该数据表示的字节数,则命令接受完毕。收到该长度表示的所有字节数后,除最后一个字节外,从长度开始的所有数据计算校验和,如果校验和和最后一个数据相等,则表示该命令接受正确,可以对收到的命令进行解析并执行命令内容。如果校验和与最后一个字节不相等,则命令接收错误,所有数据丢弃。

如果在命令接收过程中,如果在超时时间(比如10毫秒)内没有接收到数据,则表示命令传输有误,可能是发送端出错或者信道中断,丢弃已经收到的所有数据,后面收到的数据表示一条新的命令,按新的命令进行解析。

接收端对收到的完成命令检查地址信息,如果命令中的地址与本机一致,则响应该命令,如果不一致则丢弃该命令。

如果收到的命令字是查询命令,则接收端需要返回所需的信息。此时接受端转换为发送端,将需要发送的信息加上长度以及校验和发送回原发送端。

通信信道为:该协议可以采用标准串口电平传输,也可以采用TTL串口电平传输,或者采用RS485电平传输。

使用本协议的通信方式,可以非常容易地读取球机的坐标以及其他信息,如机芯放大倍数,聚焦位置以及其他工作模式等,也可以精确地控制球机的坐标或者转动速度。这种通信方式在需要精确控制球机位置或速度的工作模式中,比如对枪机和球机进行坐标关联,控制球机进行目标跟踪等场景中非常实用,实现原来PELCO协议无法控制的方式或者获取PELCO协议无法获取的球机信息。

具体实施方式

本协议主要解决了球形摄像机通过串口或RS485接口控制时,直接控制球形摄像机绝对坐标控制,绝对转速控制以及坐标查询的问题,同时还提供其他球机状态的查询和控制。

本协议定义的串口通信格式如下:

LENGTH:第一字节为命令长度字节,包括BTYE2~BYTEn,即LENGTH = n-1;

LENGTH:第二字节为命令长度字节取反,即LENGTH = ~LENGTH,用来校验协议头的传输准确性;

ADDR: 球机地址,取值范围0~255;

COMMAND:命令内容,其中的第一个字节为命令字,后续字节为命令的具体数据内容;

CHECKSUM:命令校验和,取模255加法;

CHECKSUM = BYTE0 + BYTE1 + BYTE2 + …… + BYTE(n-1) 。

该通信协议使用场景为一个主控端和一个或多个被控端(一般是球形摄像机)通信的工作模式,并且只有主控端可以主动发起通信。

设置球机坐标命令为:

获取球机坐标命令为:

设置球机转动速度命令为:

设置球机的PTZ坐标命令为:

获取球机的PTZ坐标命令为:

获取球机的放大倍数命令为:

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1