支持中心/SDK 与 API 文档

Haply Inverse 服务

Inverse Service作为后台进程在您的设备上运行,可实时将Haply 设备与您的应用程序连接起来。它负责处理代码层面的所有底层工作:设备检测、串行通信、安全监控以及状态流传输——因此您可以专注于打造用户体验。

系统要求与兼容性

该服务支持主流桌面平台,并可通过任何具备WebSocket客户端和JSON解析器的编程语言进行调用:

平台:Windows 10及以上版本(MSVC)、Linux(.deb软件包)、macOS

编程语言:Python、JavaScript/TypeScript、C++、C、C#、Rust、Go、Java……以及任何支持WebSocket+JSON的语言

官方支持的集成

Haply针对Haply Unity包、Toia、Geomagic Freeform以及NVIDIA Isaac Lab的第一方集成。除此之外,只要平台或运行时环境自带WebSocket客户端和JSON解析器,即可使用该服务——我们已将其与虚幻引擎(Unreal Engine)、TouchDesigner以及其他实时或模拟技术栈配合使用。只要您的环境能够建立WebSocket连接,就能驱动Inverse设备。有关特定语言的示例,请参阅公开的示例代码库:C++和Python。

通信接口

所有有效载荷均为JSON格式。有关标准信封、端口和内容类型的规则,请参阅JSON规范。

频道端口运输目的
模拟10001WebSocket实时命令/状态循环(1条消息输入→1个状态输出)
模拟10001WebSocket实时命令/状态循环(1条消息输入→1个状态输出)
活动10020WebSocket(只读)系统事件:安全、电池、连接、速率警告
超文本传输协议10001REST无状态配置查询、设置、会话管理、设备检测

用例

目标从哪里开始
将力或目标位置发送至触觉设备实时控制
配置基频、调制、预设或滤波器会话配置
在场景中移动(速度控制移动)导航模块
在场景中移动(速度控制移动)导航模块
监听系统事件(安全、电池、连接)事件与监控
监听系统事件(安全、电池、连接)事件与监控
通过实例学习教程

坐标系

完整的坐标处理流程请参见"Mount & Workspace"。

  • Mount——设备的物理偏移量(通过预设或显式设置)
  • 工作区——用于摄像机/场景导航的运行时漂移(可手动设置或通过"导航"模块设置)
  • 工作区——用于摄像机/场景导航的运行时漂移(可手动设置或通过"导航"模块设置)

运行该服务

Inverse服务支持两种运行模式:

集成于Haply中(推荐)——Haply已预装最新服务版本,并在Hub打开时自动启动。无需手动设置;您将始终获得最新的修复程序。

独立模式——使用Inverse Installer将特定服务版本安装为Windows服务或Unix守护进程。适用于持续集成(CI)、无头部署,或未运行Hub的机器。

管理独立服务

                
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查看器

迁移

从3.5版本开始,Haply Inverse服务支持从旧版本升级到新版本。请参阅迁移指南了解详细信息。

迁移指南

有关从旧版本迁移的详细信息,请参阅迁移至3.5页面。