주요 내용으로 이동

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개 출력)
사건10020WebSocket (읽기 전용)시스템 이벤트: 보안, 배터리 잔량, 연결, 속도 경고
HTTP10001REST상태 비의존적인 구성 조회, 설정, 세션 관리 및 장치 점검

모든 페이로드는 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 참조​

각 엔드포인트 및 메시지에 대한 완전한 기계 가독형 사양: