超文本传输协定
默认情况下,HTTP 服务启动: http://localhost:10000.
可以在服务的配置中更改端口。
概述
本节记录了该服务公开的 HTTP 路由。
以下所有路由均基于默认基础 URL: http://localhost:10000.
版本
方法: GET
URL: http://localhost:10000/version
回复示例:
{
"build_time": "2024-08-07T16:01:53Z",
"git_branch": "main",
"git_describe": "3.0.0-2-gce34c39e",
"git_hash": "ce34c39e",
"git_tag": "3.0.0",
"project_name": "haply-inverse-service",
"project_version": "3.0.0.0"
}
设备
方法: GET
URL: http://localhost:10000/devices
返回当前设备清单,包括 config, state和 status.
回复示例:
{
"inverse3": [
{
"device_id": "04BA",
"config": { "...": "..." },
"state": { "...": "..." },
"status": { "...": "..." }
}
]
}
力标尺
方法: POST
URL: http://localhost:10000/force_scale
身体示例:
{
"force_scale": 0.5
}
回复示例:
{
"ok": true
}
重力补偿
方法: POST
URL: http://localhost:10000/gravity_compensation
身体示例:
{
"device_id": "049D",
"enable": true,
"gravity_scaling_factor": 0.8
}
回复示例:
{
"ok": true
}
扭矩缩放
方法: POST
URL: http://localhost:10000/torque_scaling
身体示例:
{
"device_id": "049D",
"enable": true
}
回复示例:
{
"ok": true
}
设备便携性
方法: POST
URL: http://localhost:10000/device_handedness
身体示例:
{
"device_id": "049D",
"handedness": "right"
}
回复示例:
{
"ok": true
}
保存配置
仅适用于Inverse3 设备。警告避免过于频繁地保存配置,因为可应用于任何给定设备的保存次数有限。 的保存次数有限。
方法: POST
URL: http://localhost:10000/save_configuration
身体示例:
{
"device_id": "049D"
}
回复示例:
{
"ok": true
}
串行启用
启用或禁用所有串行通信。当串行通信被禁用时,将无法向设备发送命令。
方法: POST
URL: http://localhost:10000/serial_enable
身体示例:
{
"enable": true
}
回复示例:
{
"ok": true
}
设置
以下项目的设置端点将自动生成:
- 列出所有设置(包括元数据)
- 读取单个设置值
- 应用设置(单个或批量)
- 将键重置为默认值
所有设置键的参考资料均可在此处找到
路线
| 方法 | 路线 | 说明 |
|---|---|---|
| 获取 | /settings/ | 获取所有设置键、值和元数据。 |
| POST | /settings/ | 一次性批量应用多项设置。 |
| 获取 | /settings/{key} | 获取特定设置键的当前值。 |
| POST | /settings/{key} | 为特定键设置新值。 |
| 删除 | /settings/{key} | 将键重置为默认值。 |
响应形状
获取 /settings/ (所有设置)
返回一个以设置键为键的对象。每个条目包含:
value: 当前值metadata: 类型 + 约束 + 锁定状态
示例条目:
{
"devices/detection/timeout": {
"metadata": {
"constraint": {
"range": {
"max": 15,
"min": 1,
"step": 0
}
},
"locked": false,
"type_hint": "INT"
},
"value": 5
}
}
获取 /settings/{key} (单一设置)
仅返回所请求键对应的值(不包含元数据)。
应用设置
POST /settings/ (批量应用)
一次性批量应用多个密钥。
建议的正文格式:一个将键映射到值的 JSON 对象。
{
"devices/detection/timeout": 5,
"devices/detection/advanced/wvg_description_filter": ["Haply USB Transceiver", "Haply Handle"]
}
POST /settings/{key} (单次申请)
将新值应用到单个键上。
建议的正文格式:可以是原始 JSON 值,也可以是封装后的值(为清晰起见,建议使用封装后的值)。
{
"value": 5
}
重置设置
删除 /settings/{key}
将键重置为默认值。
这相当于“恢复默认设置”。
类型提示
该服务推断 type_hint 自动。 GENERIC 用作复杂类型的备用方案。
支持的提示:
BOOLINTFLOATSTRINGVEC2VEC3VEC4TRANSFORMARR_INTARR_FLOATARR_STRINGGENERIC