Haply 역 서비스
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 Hub에 통합됨(권장) —Haply Hub는 최신 버전의 서비스를 함께 제공하며, Hub가 열리면 자동으로 시작됩니다. 수동으로 설정할 필요 없이 항상 최신 수정 사항을 적용받을 수 있습니다.
- 독립 실행—Inverse Installer를 사용하여 특정 버전의 서비스를 Windows 서비스 또는 Unix 데몬으로설치합니다. CI, 비그래픽 방식의 배포, 또는 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 뷰어