Haply 逆向服务
LeInverse 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 | WebSocket | 实时控制与状态循环(1条输入消息 → 1个输出状态) |
| 活动 | 10020 | WebSocket(仅讲座) | 系统事件:安全、电池、连接、频率警告 |
| 超文本传输协定 | 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 查看器