具身智能体接入
MQTT 接口文档
1. 连接信息
| 参数 | 说明 |
|---|---|
| MQTT 服务器地址 | robot-gateway-mqtt.nuwax.com:10015 |
| 客户端 ID | 作为机器狗的唯一标识 |
2. 订阅主题
2.1 监听会话消息
- 主题:
agent/message - 消息类型:
CHAT或ERROR - 消息内容示例:
| 字段 | 类型 | 说明 |
|---|---|---|
finished | boolean | 是否完成 |
id | string | 消息唯一标识(仅 CHAT 类型) |
role | string | 角色标识(如 ASSISTANT,仅 CHAT 类型) |
text | string | 消息内容(CHAT 为聊天内容,ERROR 为异常信息) |
type | string | 消息类型(CHAT 或 ERROR) |
示例:
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_id | string | 传感器 ID,可选,不传时根据sensor_type类型匹配传感器 |
sensor_type | string | 传感器类型(如 camera, micromicrophone ) |
command_id | string | 指令 ID,服务器生成每次发送命令的唯一标识,传感器返回数据时携带 |
command | string | 指令内容(需双方定义具体命令),如 start_stream , stop_stream, start_record, stop_record, capture, play_audio |
params | object | 指令附加参数(需双方定义具体字段) |
- 示例:
json
{
"sensor_id": "0",
"sensor_type": "camera",
"command_id": "123456789",
"command": "start_stream",
"params": {
}
}3. 发布消息
3.1 向服务器发送消息
- 主题:
robot/message - 消息内容:
| 字段 | 类型 | 说明 |
|---|---|---|
stream | boolean | 是否为流式消息 |
message | string | 文本消息内容 |
media | array | 媒体内容(需双方定义具体字段) |
示例:
json
{
"stream": false,
"message": "你好",
"media": [
{
"type": "audio",
"data": {}
}
]
}3.2 向服务器发送传感器数据
- 主题:
robot/sensor/data - 消息内容:
| 字段 | 类型 | 说明 |
|---|---|---|
sensor_id | string | 传感器 ID,可选,不传时根据sensor_type类型匹配传感器 |
sensor_type | string | 传感器类型(如 camera) |
command_id | string | 数据 ID,服务器发送过来的唯一标识 |
command | string | 指令内容(需双方定义具体命令) |
data | string | 传感器数据(需双方定义具体字段),多媒体数据使用16进制编码,例如FFD8FFE0... |
示例:
json
{
"sensor_id": "0",
"sensor_type": "camera",
"command_id": "123456789",
"command": "start_stream",
"data": "FFD8FFE0..."
}4. 调试消息
- 调试接口文档: Mqtt消息调试发布
5. 注意事项
- 客户端 ID 必须唯一,用于标识机器狗。
- 媒体内容 的字段需双方协商定义。
- 动作指令的具体字段需根据实际需求定义。
