Haply 역 서비스
Le Inverse Service는 사용자의 컴퓨터에서 백그라운드에서 실행되며, Haply 의 햅틱 기기를 애플리케이션에 실시간으로 연결해 줍니다. 이 서비스는 기기 감지, 시리얼 통신, 보안 모니터링, 상태 전송 등 코드 구현에 필요한 모든 작업을 처리하므로, 개발자는 사용자 경험 설계에 집중할 수 있습니다.
요구 사항 및 호환성
이 서비스는 주요 데스크톱 플랫폼에서 작동하며, WebSocket 클라이언트와 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.
통신 인터페이스
이 서비스는 두 가지 커뮤니케이션 채널을 제공합니다:
| 운하 | 항구 | 운송 | 사용법 |
|---|---|---|---|
| 시뮬레이션 | 10001 | 웹소켓 | 실시간 제어 및 상태 루프 (입력 메시지 1개 → 출력 상태 1개) |
| 행사 | 10020 | WebSocket (강의만) | 시스템 이벤트: 보안, 배터리, 연결, 주파수 경고 |
| HTTP | 10001 | REST | 상태 비의존적 구성 요청, 매개변수, 세션 관리, 기기 검사 |
모든 페이로드는 JSON 형식입니다. 표준 엔벨로프, 포트 및 콘텐츠 유형 규칙에 대한 JSON 규약을 참조하십시오.
사용 사례
| 목표 | 어디서부터 시작해야 할까요? |
|---|---|
| 햅틱 장치에 힘이나 위치 지시를 전송하기 | 실시간 제어 |
| 베이스, 튜닝, 프리셋 또는 필터 설정하기 | 세션 구성 |
| 장면 내 이동 (속도 제어 이동) | 탐색 모듈 |
| 시스템 이벤트 (보안, 배터리, 연결) 수신 | 행사 및 감시 |
| 실례를 통해 배우기 | 튜토리얼 |
좌표계
Haply 의 내부 좌표계는 직교 좌표계이며, Z축이 위쪽을 향합니다 (+X는 오른쪽, +Y는 앞쪽, +Z는 위쪽). 단 한 번의 기본 변환만으로 이 좌표계를 애플리케이션의 좌표계와 일치시킬 수 있으며, 일단 정의되면 모든 입출력이 자동으로 변환됩니다.
다음 두 가지 변환을 통해 카메라를 장면 내에 배치할 수 있습니다:
- 몽타주 — 카메라의 물리적 위치 이동 (사전 설정 또는 명시적으로 정의됨)
- 작업 공간 — 카메라 또는 씬 탐색 시 실행 시 발생하는 시간 차이 (수동으로 설정하거나 탐색 모듈을 통해 설정)
좌표 관련 전체 파이프라인에 대해서는 ‘조립 및 작업 공간’을 참조하십시오.
서비스 실행
Inverse Service는 다음 두 가지 모드로 작동할 수 있습니다:
- Haply 허브에 통합됨 (권장) — Haply 허브에는 최신 버전의 서비스가 포함되어 있으며, 허브를 열면 자동으로 실행됩니다. 수동 설정은 필요하지 않으며, 항상 최신 수정 사항을 이용할 수 있습니다.
- Autonome — Inverse Installer를 사용하여 특정 버전의 서비스를 Windows 서비스 또는 Unix 데몬으로 설치할 수 있습니다. 지속적인 통합(CI), 그래픽 사용자 인터페이스(GUI)가 없는 배포 환경, 또는 Hub가 실행되지 않는 시스템에서 유용합니다.
자율 서비스 관리
Windows — ‘서비스’ 앱을 엽니다: 다음을 탭하세요 Win+R, 입력하세요 services.msc, “ Haply Inverse Service”를 찾아 마우스 오른쪽 버튼을 클릭한 다음 → 시작 / 중지 / 다시 시작을 선택하십시오.
Linux (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 뷰어