我正在开发一款需要通过LEAP-motion控制的安卓应用程序。目前,LEAP SDK仅支持Windows和Mac系统。但是,是否有任何开放的库/教程等方法可以让LEAP-motion设备与安卓手机通信呢?LEAP-motion使用USB连接到手机,我有一个USB OTG适配器,可以直接插入LEAP-motion。非常感谢您提供任何形式的帮助。
介绍
是的,我知道你的问题中包含“直接”这个词。我的解决方案虽然不是直接的,但是它是一种你可以考虑的替代方案。我想到了一个流畅可行的解决方案,让LeapMotion在Android上运行(间接地)。
前置条件
这个解决方案的基本思路是使用PROXY将不可能的(Android + LeapMotion)变成可能。PROXY将使用Javascript SDK从LEAP MOTION读取数据并将数据流传输(而不是posting)到在其上运行的node.js实例。
DEVICE将连接到PROXY并流传输(而不是轮询)手的位置数据,并在屏幕上呈现为红色圆圈。
步骤指南
在此处下载PROXY项目(链接)
解压项目
在您的PC或Mac上的node.js服务器实例上运行它(例如node index.js
)
记下PROXY的IP地址
打开浏览器(Chrome和Safari已被证明可用),浏览http://localhost:5000
以验证它正在运行
在此处下载设备的Android项目(链接)
在ADT中导入该项目
打开strings.xml以修改IP地址为PROXY的IP地址
在YOUR DEVICE上运行该项目
将你的手放在LEAP MOTION上方,看到红色圆圈根据你的手的方向移动
直接连接
事实上,我已经尝试让LEAP MOTION直接在Android上工作。但是存在一些困难。首先,Android设备的USB转接器必须是USB主机并且能够为LEAP MOTION提供足够的电源。然后,如果您可以通过adb连接到Android设备,在插入电缆后,应该能够找到/dev/video?。据我所知,LEAP MOTION的工作原理类似于将视频数据流传输到电缆的另一端(格式未知)的视频摄像头。但是,毫无疑问,在没有官方SDK的情况下,我们无法获得手、骨骼、手势、手臂和其他更高级别的API支持。因此,让我们等待SDK或使用我的间接解决方案。