商务网站的建设,二手交易网站建设方案,如何用dw做网站地图,电子商务网站建设讯息最近要在项目中用到 Leap Motion#xff0c;无意中发现了一个 Go 语言的 Leap Motion 库#xff1a;
https://gobot.io/documentation/platforms/leapmotion/
示例代码看起来很简单#xff0c;但是要实际运行起来还需要一些条件。
在示例代码中#xff0c;我们看到它连接…最近要在项目中用到 Leap Motion无意中发现了一个 Go 语言的 Leap Motion 库
https://gobot.io/documentation/platforms/leapmotion/
示例代码看起来很简单但是要实际运行起来还需要一些条件。
在示例代码中我们看到它连接的是 6437 端口这其实是一种比较老的 Leap Motion 使用方式了 6437 实际上是一个 websocket 端口Leap Motion 驱动会通过这个端口将数据帧发送给连接的客户端这一功能是给 LeapJs 库使用的让网页端也能使用 Leap Motion但是自从 5.0 版本以后这一功能就从 Leap Motion SDK 中删除了。
如果要继续使用这个功能有两个选择
一是降 Leap Motion SDK 版本但是要找到旧版本的下载地址可能要花一些功夫二是使用 UltraleapTrackingWebSocket 他是官方专为新版本 Leap Motion 能继续使 LeapJs 库用而提供的方案。
UltraleapTrackingWebSocket 并未提供预编译版本需要我们自己编译Github 地址如下
https://github.com/ultraleap/UltraleapTrackingWebSocket
按照 ReadMe 去编译的话大概率是编不出来的缺一些步骤所以这里记录一下 Windows 上的编译过程。
UltraleapTrackingWebSocket 需要依赖 libwebsockets 和 LeapSDK 官方建议我们使用 vcpkg 管理依赖会简单很多那咱也是主打一个听劝。
安装 vcpkg
vcpkg 是 C 的包管理器C 终于有包管理器了然而我早就不做 C 开发了。。。安装过程比较简单按照官网指示一步一步操作即可。
通过 CMake 安装和使用包 | Microsoft Learn
首先下载 vcpkg 源码 git clone https://github.com/microsoft/vcpkg.git然后进入源码目录执行一个脚本 cd vcpkgbootstrap-vcpkg.bat这个脚本最终会去下面的地址下载 vcpkg.exe 放到源码目录下。
https://github.com/microsoft/vcpkg-tool/releases/download/2025-04-16/vcpkg.exe
这种操作属实是头一回见放一起发布不好吗如果你在执行脚本的时候遇到网络问题可以直接点击链接下载然后放到源码目录下。注意不要点我这里的链接当你执行脚本的时候第一行日志就会打印出下载地址用那里的地址。 bootstrap-vcpkg.bat
Downloading https://github.com/microsoft/vcpkg-tool/releases/download/2025-04-16/vcpkg.exe - E:\project\c\vcpkg\vcpkg.exe...虽然我们可以自行下载 vcpkg.exe 放到 vcpkg 目录下但是脚本并不会检测文件是否存在这样是为了保证版本兼容。我们可以看一下 vcpkg.exe 的下载地址与版本有关的是一个日期这个日期在 vcpkg/scripts 目录下的 vcpkg-tool-metadata.txt 文件的第一行。
VCPKG_TOOL_RELEASE_TAG2025-04-16其实我们完全可以拿这个日期拼装出正确的地址自行下载。接下来我们稍微修改一下 vcpkg/scripts 目录下的 bootstrap.ps1 文件他才是真正下载 vcpkg.exe 的脚本。我们将第52行至64行的代码包裹到一个 if 判断中如果 vcpkg.exe 存在就不去下载了。
if (!(Test-Path $vcpkgRootDir\vcpkg.exe)) # 新增
{ # 新增if ($env:PROCESSOR_ARCHITECTURE -eq ARM64 -or $env:PROCESSOR_IDENTIFIER -match ARMv[8,9] \(64-bit\)) { $scriptsDir/tls12-download-arm64.exe github.com /microsoft/vcpkg-tool/releases/download/$versionDate/vcpkg-arm64.exe $vcpkgRootDir\vcpkg.exe} else { $scriptsDir/tls12-download.exe github.com /microsoft/vcpkg-tool/releases/download/$versionDate/vcpkg.exe $vcpkgRootDir\vcpkg.exe}Write-Host if ($LASTEXITCODE -ne 0){Write-Error Downloading vcpkg.exe failed. Please check your internet connection, or consider downloading a recent vcpkg.exe from https://github.com/microsoft/vcpkg-tool with a browser.throw}
} # 新增其实 bootstrap-vcpkg.bat 的全部功能就是调用 bootstrap.ps1 之所以不直接调用是因为 Windows 默认的脚本执行策略是”严格”会阻止脚本执行大家可以参考微软官网。
如果我们自行下载 vcpkg.exe 的话其实这个脚本已经没有执行的必要了。但是如果我们依然执行的话会看到一段输出
vcpkg package management program version 2025-04-16-f9b6c6917b23c1ccf16c1a9f015ebabf8f615045See LICENSE.txt for license information.
Telemetry
---------
vcpkg collects usage data in order to help us improve your experience.
The data collected by Microsoft is anonymous.
You can opt-out of telemetry by re-running the bootstrap-vcpkg script with -disableMetrics,
passing --disable-metrics to vcpkg on the command line,
or by setting the VCPKG_DISABLE_METRICS environment variable.Read more about vcpkg telemetry at docs/about/privacy.md意思很明显vcpkg 会搜集用户使用数据但是可以禁用。
第一种方式是调用 vcpkg.exe 时加上一个 --disable-metrics 参数但是每次都要加肯定不是我们想要的。
第二种方式是调用安装脚本 bootstrap-vcpkg.bat 时加上 -disableMetrics 参数。它的本质是在 vcpkg 目录下创建一个名为 vcpkg.disable-metrics 的空文件所以如果你安装时没有传这个参数可以自行创建这个文件。
第三种方式是设置 VCPKG_DISABLE_METRICS 环境变量。第三和第二种方式都是永久性的所以选哪种都可以。
最后将源码目录添加到环境变量这样 vcpkg 就安装好了。
编译UltraleapTrackingWebSocket
基本上还是按照官方步骤来编译之前先下载依赖 vcpkg install libwebsockets --triplet x64-windows这一步可能会遇到网络问题重试几次就好了。然后下载 UltraleapTrackingWebSocket 源码进入源码目录创建 build 文件夹 git clone https://github.com/ultraleap/UltraleapTrackingWebSocket.gitcd ultraleap-tracking-websocket mkdir buildcd build下一步是 make 我们的工程这里有两个要注意的地方
一是将 -DCMAKE_TOOLCHAIN_FILE 后面的路径换成我们自己的 vcpkg 安装目录。二是需要设置下 LeapSDK 的目录如果已经安装过 Leap Motion SDK在安装目录下能找到如果没有安装可以直接从这里下载然后找个地方解压设置下 LeapSDK_DIR 环境变量指向解压的目录即可这里设置临时环境变量就行了。 set LeapSDK_DIRE:\project\c\UltraleapTrackingWebSocket\LeapSDKcmake -DCMAKE_TOOLCHAIN_FILEE:/project/c/vcpkg/scripts/buildsystems/vcpkg.cmake ..make 成功以后我们就可以我们就可以编译了。
cmake --build .可以用 cmake 编译也可以双击 build 目录下的 LeapWS.sln 在 visual studio 中打开编译。
运行
在命令行运行编译出来的 Ultraleap-Tracking-WS.exe 然后再运行 Go 的 Leap Motion 示例就能看到手势数据了。