Haply 역 서비스
Inverse Service는 사용자의 컴퓨터에서 백그라운드 프로세스로 실행되며, Haply 장치를 애플리케이션에 실시간으로 연결해 줍니다. 이 서비스는 장치 감지, 시리얼 통신, 안전 모니터링, 상태 스트리밍 등 코드 수준 아래의 모든 작업을 처리하므로, 개발자는 사용자 경험 구축에 전념할 수 있습니다.
요구 사항 및 호환성
이 서비스는 주요 데스크톱 플랫폼에서 실행되며, WebSocket 클라이언트와 JSON 파서가 있는 모든 프로그래밍 언어로 호출할 수 있습니다:
- 플랫폼: Windows 10 이상 (MSVC), Linux (
.deb패키지), macOS - 사용 언어: Python, JavaScript/TypeScript, C++, C#, Rust, Go, Java 등 WebSocket과 JSON을 지원하는 모든 언어
공식적으로 지원되는 연동 기능
Haply Haply Unity 패키지, Toia, Geomagic Freeform 및 NVIDIA Isaac Lab을 위한 자체 통합 기능을 Haply .
이 외에도, 웹소켓 클라이언트와 JSON 파서가 포함된 모든 플랫폼이나 런타임에서 이 서비스를 사용할 수 있습니다. 저희는 언리얼 엔진(Unreal Engine), 터치디자이너(TouchDesigner) 및 기타 실시간 또는 시뮬레이션 스택과 함께 이 서비스를 실행해 본 바 있습니다. 사용자의 환경에서 웹소켓을 열 수 있다면, Inverse 디바이스를 제어할 수 있습니다.
언어별 예제는 공개 샘플 저장소( C++ 및 Python)를 참조하세요.
통신 인터페이스
이 서비스는 두 가지 통신 채널을 제공합니다:
| 채널 | 항구 | 운송 | 목적 |
|---|---|---|---|
| 시뮬레이션 | 10001 | 웹소켓 | 실시간 명령/상태 루프 (입력 1개 → 출력 1개) |
| 이벤트 | 10020 | WebSocket (읽기 전용) | 시스템 이벤트: 안전, 배터리, 연결, 속도 경고 |
| HTTP | 10001 | REST | 상태 비저장형 구성 쿼리, 설정, 세션 관리, 장치 검사 |
모든 페이로드는 JSON 형식입니다. 표준 엔벨로프, 포트 및 콘텐츠 유형 규칙에 대해서는 JSON 규약을 참조하십시오.
사용 사례
| 목표 | 어디서부터 시작해야 할까 |
|---|---|
| 군대를 파견하거나 표적을 햅틱 기기로 전송 | 실시간 제어 |
| 기본 설정, 마운트, 사전 설정 또는 필터 구성 | 세션 구성 |
| 장면 탐색하기 (속도 제어 이동) | 탐색 모듈 |
| 시스템 이벤트 (안전, 배터리, 연결) 감지 | 이벤트 및 모니터링 |
| 실례를 통해 배우기 | 튜토리얼 |
좌표계
Haply 내부 좌표계는 우회전 좌표계(Z축이 위, +X축이 오른쪽, +Y축이 앞, +Z축이 위)입니다. 단 한 번의 기저 변환만으로 이 좌표계를 애플리케이션의 좌표계로 재매핑할 수 있으며, 일단 설정하면 모든 입력과 출력이 자동으로 변환됩니다.
다음 두 가지 변환을 통해 장치를 씬 내에 배치할 수 있습니다:
전체 좌표 처리 과정에 대해서는 ‘마운트 및 작업 공간’을 참조하십시오.
서비스 실행
Inverse 서비스는 다음 두 가지 모드로 실행될 수 있습니다:
- Haply Hub에 내장됨 (권장) — Haply 최신 서비스 버전이 포함되어 있으며, Hub가 실행될 때마다 자동으로 시작됩니다. 별도의 수동 설정 없이도 항상 최신 수정 사항을 적용받을 수 있습니다.
- 독립형 — Inverse Installer를 사용하여 특정 서비스 버전을 Windows 서비스 또는 Unix 데몬으로 설치합니다. CI, 헤드리스 배포 또는 Hub가 실행되지 않는 시스템에서 유용합니다.
독립형 서비스 관리
Windows — ‘서비스’ 앱을 엽니다: 누르세요 Win+R, 입력 services.msc,Haply 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 뷰어