跳至主要内容
版本:3.5.x

超文本传输协定

默认情况下,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, statestatus.

回复示例:

{
"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 用作复杂类型的备用方案。

支持的提示:

  • BOOL
  • INT
  • FLOAT
  • STRING
  • VEC2
  • VEC3
  • VEC4
  • TRANSFORM
  • ARR_INT
  • ARR_FLOAT
  • ARR_STRING
  • GENERIC