Haply 역 서비스
Inverse Service는 사용자의 컴퓨터에서 백그라운드 프로세스로 실행되며, Haply 의 햅틱 기기를 사용자의 애플리케이션과 실시간으로 연결합니다. 이 프로세스는 기기 인식, 직렬 통신, 보안 모니터링, 상태 전송 등 코드 하층부에서 이루어지는 모든 작업을 처리하므로, 사용자는 사용자 경험 구현에 집중할 수 있습니다.
요구 사항 및 호환성
이 서비스는 일반적인 데스크톱 플랫폼에서 실행되며, 웹소켓 클라이언트와 JSON 파서만 있으면 어떤 프로그래밍 언어로든 제어할 수 있습니다:
- 플랫폼: Windows 10 이상 (MSVC), Linux (
.deb-패키지), macOS - 언어: Python, JavaScript/TypeScript, C++, C#, Rust, Go, Java 등… WebSocket과 JSON을 지원하는 모든 언어
공식적으로 지원되는 통합 기능
Haply Haply , Inverse Unity Package, Toia, Geomagic Freeform 및 NVIDIA Isaac Lab을 위한 자체 통합 기능을 제공합니다.
또한 , 이 서비스는 WebSocket 클라이언트와 JSON 파서를 지원하는 모든 플랫폼이나 런타임 환경에서 사용할 수 있습니다 . 저희는 이미 언리얼 엔진( Unreal Engine), 터치디자이너 ( TouchDesigner ) 및 기타 실시간 또는 시뮬레이션 스택과 함께 이 서비스를 활용해 왔습니다. WebSocket을 통해 연결할 수 있는 환경이라면, Inverse 장치를 제어할 수 있습니다.
언어별 예제는 공개 예제 저장소에서 확인하실 수 있습니다: C++ 및 Python.
통신 인터페이스
이 서비스는 두 가지 통신 채널을 제공합니다:
| Kanal | 항구 | 운송 | Zweck |
|---|---|---|---|
| 시뮬레이션 | 10001 | 웹소켓 | 실시간 명령/상태 루프 (메시지 1개 입력 → 상태 1개 출력) |
| 이벤트 | 10020 | WebSocket (읽기 전용) | 시스템 이벤트: 보안, 배터리, 연결, 제어 속도에 대한 경고 |
| HTTP | 10001 | REST | 상태 비의존적 구성 조회, 설정, 세션 관리, 장치 검사 |
모든 유효 데이터는 JSON 형식입니다. 표준 헤더, 포트 및 콘텐츠 유형 규칙에 대한 JSON 규약은 해당 문서를 참조하십시오.
사용 사례
| Ziel | 시작하기 |
|---|---|
| 힘 또는 위치 목표를 햅틱 장치로 전송하기 | 실시간 제어 |
| 기본 설정, 장착, 사전 설정 또는 필터 구성 | 회의 구성 |
| 장면 내에서 이동하기 (조이스틱 조작을 통한 이동) | 내비게이션 모듈 |
| 시스템 이벤트 감지 (보안, 배터리, 연결) | 이벤트 및 모니터링 |
| 예시를 통해 배우기 | 튜토리얼 |
좌표계
Haply 의 내부 좌표계는 우회전 좌표계이며 , Z축이 위쪽을 향합니다 (+X는 오른쪽, +Y는 앞쪽, +Z는 위쪽). 단 하나의 기본 변환을 통해 이 좌표계를 사용자의 애플리케이션 좌표계로 매핑할 수 있습니다. 한 번 설정하면 모든 입출력이 자동으로 변환됩니다.
두 가지 변환을 통해 장치를 장면 내에 배치할 수 있습니다:
- 몽타주 — 기기의 물리적 위치 변경 ( 프리셋 을 통해 또는 수동으로 설정)
- 작업 공간 — 카메라 또는 장면 탐색을 위한 실행 시간 이동 (수동으로 또는 탐색 모듈 을 통해 설정)
전체 좌표 파이프라인은 ‘조립 및 작업 공간’에서 확인하실 수 있습니다.
작업 실행
Inverse Service는 두 가지 모드로 실행될 수 있습니다:
- Haply 허브에 내장됨 (권장) — Haply 허브에는 최신 서비스 버전이 포함되어 있으며, 허브를 열면 자동으로 실행됩니다. 수동 설정할 필요가 없으며, 항상 최신 버그 수정 사항을 적용받을 수 있습니다.
- 독립 실행형 — Inverse Installer를 사용하여 특정 서비스 버전을 Windows 서비스 또는 Unix 데몬으로 설치할 수 있습니다. CI, 헤드리스 배포 또는 허브가 실행되지 않는 컴퓨터에서 유용합니다.
독립형 서비스 관리
Windows — ‘서비스’ 앱을 엽니다: 다음을 누르세요 Win+R, 다음을 입력하십시오 services.msc 그런 다음 “Haply Inverse Service”를 찾아 마우스 오른쪽 버튼을 클릭한 후 → 시작 / 종료 / 다시 시작을 선택하십시오.
리눅스 (systemd):
systemctl start haply-inverse-service.service
systemctl stop haply-inverse-service.service
systemctl restart haply-inverse-service.service
systemctl enable haply-inverse-service.service # auto-start on boot
전체 API 참조
각 엔드포인트 및 메시지에 대한 완전하고 기계 판독 가능한 사양을 보려면:
- HTTP API 참조 (OpenAPI) — 대화형 Swagger UI
- 시뮬레이션 API 참조 (AsyncAPI) — 대화형 AsyncAPI 뷰어