3.1. 协议格式

3.1.1. 控制命令

IN:<obj> <command> <params> [<seq>];

  • 描述
    • 控制命令协议格式,一般用来与机器人做控制上的交互
    • 作为结束符
  • 参数
    • obj (str): 控制对象字符串
    • command (str): 控制命令字符串
    • params (str): 命令参数字符串,一般为 <key> <value> 形式
    • seq (str): 命令序号字符串,一般为 seq <seq_value> 形式,可选参数

OUT:<result> [<seq>]

  • 描述
    • 控制命令响应结果协议格式,一般用来确认控制命令执行结果
    • 不做特殊说明的情况下,所有控制命令均有响应结果
  • 参数
    • result (exec_result_enum): 执行结果字符串
    • seq (str): 执行结果序号字符串,一般为 seq <seq_value> 形式

注解

<seq>

<seq> 可用来标识当前消息的唯一性,当控制命令中带有 <seq> 参数时, 对应命令的响应结果结果中即包含对应的序号

3.1.2. 消息推送

OUT: <obj> push <attr> <value>

  • 描述
    • 消息推送协议格式,通过控制命令打开某消息推送后即可接收到
    • 消息推送将会以固定的频率进行的推送,推送频率取决于使能当前消息推送时的频率设置
  • 参数
    • obj (str): 推送对象
    • attr (str): 推送数据属性
    • value (str): 推送数据数值

3.1.3. 事件上报

OUT: <obj> event <attr> <value>

  • 描述
    • 事件上报协议格式,通过控制命令打开某事件上报开关后即可接收到
  • 参数
    • obj (str): 发生事件的对象
    • attr (str): 事件数据属性
    • value (str) 事件数据数值

注解

触发机制

当成功使能对应 事件上报 功能后,若发生事件,则会进行一次事件上报

3.1.4. IP 广播

OUT: robot ip <addr>

  • 参数
    • addr (str): 当前连接模式下的机器人的 IPv4 地址

注解

广播生命周期

当处于 Wi-Fi 组网 模式下,机器人会不断在对应端口上广播自己的 IPv4 地址,您可通过该 IP 地址连接到机器人,当成功连接后,广播停止

3.1.5. 视频流

OUT: H.264编码实时视频流数据 (1280*720 @ 30FPS),需要对视频流数据进行正确的解码操作才能实时显示视频画面。

3.1.6. 音频流

OUT: Opus 编码实时音频流数据,需要对音频流数据进行正确的解码操作才能实时播放音频。

小技巧

Decoder

接收端音视频解码示例代码请参见 Stream Decoder

注解

IN/OUT

该文档中,控制指令中出现的前缀 IN 或者 OUT 在控制指令中无实际意义,仅为标识以机器人为主体的情况下,当前指令的数据流向:

IN:标识当前数据为从外部设备发送至机器人

OUT:标识当前数据为从机器人发送至外部设备

实际使用中,请忽略该标识,仅发送和接收实际的控制命令即可