系统架构
Last updated
Was this helpful?
Last updated
Was this helpful?
LeapMotion 软件会作为一个服务(Windows)或后台(Mac 或 Linux)运行。软件通过 USB 线连接了 LeapMotion 控制器设备。支持 Leap 的应用可以访问 LeapMotion 服务收到运动的追踪数据。LeapMotion SDK 提供了两种风格的 API 来获取 LeapMotion 数据:本地接口以及 WebSocket 接口。这些 API 能使你通过各种不同的编程语言甚至浏览器环境中的 JavaScript 创建支持 Leap 的应用程序。
LeapMotion SDK 提供了两种方式的 API 从 LeapMotion 服务中获得追踪数据:本地接口和 WebSocket 接口。本地接口是一个动态链接库,你可以使用这个动态链接库来创建支持 Leap 的新程序。WebSocket 接口以及 JavaScript 库可以让你创建支持 Leap 的 Web 程序。
本地应用程序接口通过一个动态加载库来提供。这个库用于连接 LeapMotion 服务及想你的应用程序提供追踪数据。你可以将它连接到 C++ 和 Objective-C 应用,或者通过所提供的语言绑定用于 Java、C#、以及 Python。
LeapMtion 服务会从 USB 接口上的 LeapMotion 设备接受数据。然后处理并返回给运行只支持 Leap 的应用程序。默认情况下,服务只会给前台应用程序返回相应的追踪数据,而应用可以在后台通过请求的方式来获得相应的追踪数据(请求可以由用户来定义)。
LeapMotion 应用程序与服务本身分离运行,因此允许电脑用户能够控制 LeapMotion 的安装。LeapMotion 应用程序在 Windows 下是一个控制面板,在 Mac OS X 中是一个菜单应用。
支持 Leap的前台程序用于接受 Leap的数据,一个支持 Leap 的程序能使用 Leap 本地库连接到 LeapMotion 服务。你的应用程序可以使用任何一种直接(C++/Objective-C)或支持语言(Java/C#/Python)的封装库来链接库。
当支持应用Leap 的应用程序在操作系统中失去响应时,LeapMotion 服务会停止发送数据给它。应用需要在后台工作时,可以请求继续接受数据。当在后台工作时,配置的设置是有前台应用所决定的。
LeapMotion 服务运行了一个在本地 localhost 6437 端口的 WebSocket 服务器。这个 WebSocket 提供了 JSON 格式的追踪数据。一个客户端 JavaScript 库可以用来接受处理 JSON 消息并将数据作为常见的 JavaScript 对象。
LeapMotion 控制面板允许用户来决定是否启用 WebSocket 服务端口。
服务端将追踪数据使用 JSON 消息发送。应用可以将配置信息发送到服务器端。
客户端 JavaScript 库leap.js
可以用于构建 Web 应用。这个库可以建立服务器和消耗的 JSON 消息客户端之间的连接。这个 JavaScript 库的 API 的理念与结构都与本地 API 结构非常相似。
LeapMotion 服务提供 WebSocket 服务器,服务监听:
这个接口主要是为 Web 应用程序服务,但实际上任何应用都能够建立一个与 WebSocket 服务的连接,接口的服务端代码遵循 。