Skip to content

具身智能体接入


MQTT 接口文档

1. 连接信息

参数说明
MQTT 服务器地址robot-gateway-mqtt.nuwax.com:10015
客户端 ID作为机器狗的唯一标识

2. 订阅主题

2.1 监听会话消息

  • 主题: agent/message
  • 消息类型: CHATERROR
  • 消息内容示例:
字段类型说明
finishedboolean是否完成
idstring消息唯一标识(仅 CHAT 类型)
rolestring角色标识(如 ASSISTANT,仅 CHAT 类型)
textstring消息内容(CHAT 为聊天内容,ERROR 为异常信息)
typestring消息类型(CHATERROR

示例:

json
// 成功
{
  "finished": true,
  "id": "b1e47afecaf54c45acf57e9d5b5e5ffa",
  "role": "ASSISTANT",
  "text": "你好!很高兴见到你。有什么我可以帮你的吗?😊",
  "type": "CHAT"
}

// 异常信息
{
  "finished": true,
  "text": "非法数据",
  "type": "ERROR"
}

2.2 接收动作指令

  • 主题: robot/action
  • 消息内容: 服务器推送的动作指令,需双方定义具体字段。
  • 示例:
json
{
  "action": "stand",
  "params": {}
}

2.3 机器人接收传感器控制指令

  • 主题: robot/sensor/command

  • 消息内容: 服务器推送传感器控制指令,需双方定义具体字段。

  • 消息内容:

字段类型说明
sensor_idstring传感器 ID,可选,不传时根据sensor_type类型匹配传感器
sensor_typestring传感器类型(如 camera, micromicrophone
command_idstring指令 ID,服务器生成每次发送命令的唯一标识,传感器返回数据时携带
commandstring指令内容(需双方定义具体命令),如 start_stream , stop_stream, start_record, stop_record, capture, play_audio
paramsobject指令附加参数(需双方定义具体字段)
  • 示例:
json
{
  "sensor_id": "0",
  "sensor_type": "camera",
  "command_id": "123456789",
  "command": "start_stream",
  "params": {
  }
}

3. 发布消息

3.1 向服务器发送消息

  • 主题: robot/message
  • 消息内容:
字段类型说明
streamboolean是否为流式消息
messagestring文本消息内容
mediaarray媒体内容(需双方定义具体字段)

示例:

json
{
  "stream": false,
  "message": "你好",
  "media": [
    {
      "type": "audio",
      "data": {}
    }
  ]
}

3.2 向服务器发送传感器数据

  • 主题: robot/sensor/data
  • 消息内容:
字段类型说明
sensor_idstring传感器 ID,可选,不传时根据sensor_type类型匹配传感器
sensor_typestring传感器类型(如 camera
command_idstring数据 ID,服务器发送过来的唯一标识
commandstring指令内容(需双方定义具体命令)
datastring传感器数据(需双方定义具体字段),多媒体数据使用16进制编码,例如FFD8FFE0...

示例:

json
{
  "sensor_id": "0",
  "sensor_type": "camera",
  "command_id": "123456789",
  "command": "start_stream",
  "data": "FFD8FFE0..."
}

4. 调试消息


5. 注意事项

  1. 客户端 ID 必须唯一,用于标识机器狗。
  2. 媒体内容 的字段需双方协商定义。
  3. 动作指令的具体字段需根据实际需求定义。