设备管理 API
所有设备端点以 /api/v1 为前缀。设备 ID 通过 URL 路径参数 {device_id} 指定。
GET /api/v1/devices
获取设备列表。
响应
{
"success": true,
"devices": [
{
"device_id": "janpnp-001",
"hostname": "janpnp-host",
"ip": "192.168.1.10",
"version": "1.0.0",
"connect_time": 1721788800.0,
"last_heartbeat": 1721788860.0,
"last_status": {},
"messages_sent": 42,
"messages_received": 128,
"alive": true,
"registered": true
}
]
}
说明:非管理员用户只能看到自己绑定的设备。
GET /api/v1/devices/discover
发现所有已注册且活跃的在线设备。返回最小化的设备信息。
响应
{
"success": true,
"devices": [
{
"device_id": "janpnp-001",
"hostname": "janpnp-host",
"version": "1.0.0",
"alive": true
}
]
}
GET /api/v1/devices/{device_id}
获取单个设备的完整信息。
响应
{
"success": true,
"device": {
"device_id": "janpnp-001",
"hostname": "janpnp-host",
"ip": "192.168.1.10",
"version": "1.0.0",
"connect_time": 1721788800.0,
"last_heartbeat": 1721788860.0,
"last_status": {},
"messages_sent": 42,
"messages_received": 128,
"alive": true,
"registered": true
}
}
错误
| 状态码 | 说明 |
|---|---|
404 |
device not found |
GET /api/v1/devices/{device_id}/overview
获取设备的聚合概览。会并发拉取设备的系统、任务、硬件、视觉、相机、调试状态。
响应
{
"success": true,
"device": { "...": "设备信息" },
"connection": {
"connected": true,
"alive": true,
"connect_time": 1721788800.0,
"last_heartbeat": 1721788860.0,
"messages_sent": 42,
"messages_received": 128
},
"status": { "状态数据" },
"detail": {
"system": { "系统状态" },
"task": { "任务数据" },
"hardware": { "硬件位置" },
"vision": { "视觉状态" },
"cameras": { "相机状态" },
"debug": { "调试状态" }
},
"partial_errors": {},
"partial": false
}
GET /api/v1/devices/{device_id}/status
获取设备最后上报的状态。
响应
GET /api/v1/devices/{device_id}/connection
获取设备连接状态详情。
响应
{
"success": true,
"connected": true,
"alive": true,
"connect_time": 1721788800.0,
"last_heartbeat": 1721788860.0,
"messages_sent": 42,
"messages_received": 128
}
POST /api/v1/devices/{device_id}/auth/login
设备登录与绑定。将请求转发给设备验证账号密码,验证通过后建立用户-设备绑定关系。
请求
响应
错误
| 状态码 | 说明 |
|---|---|
502 |
设备未连接或未注册 |
504 |
设备响应超时 |