주요 콘텐츠로 건너뛰기
버전: 3.5.x

HTTP

기본적으로 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/모든 설정 키, 값 및 메타데이터를 가져옵니다.
게시물/settings/여러 설정을 한 번에 일괄 적용합니다.
받기/settings/{key}특정 설정 키의 현재 값을 가져옵니다.
게시물/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} (단일 설정)

요청된 키에 대한 값만 반환합니다(메타데이터는 포함되지 않음).

설정 적용

게시물 /settings/ (일괄 적용)

여러 키를 한 번에 일괄 적용합니다.

권장되는 데이터 형식: 키와 값을 매핑하는 JSON 객체.

{
"devices/detection/timeout": 5,
"devices/detection/advanced/wvg_description_filter": ["Haply USB Transceiver", "Haply Handle"]
}

게시물 /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