我正在研究android sdk和kinect sdk上的双重应用程序。我希望能够将kinect发送数据发送到智能手机应用程序。然后,智能手机应用程序将根据kinect数据向用户发出通知。智能手机应该能够(希望)打开/关闭kinect以及其他一些基本命令。如何让kinect和智能手机应用程序进行通信?
答案 0 :(得分:5)
酷的概念,我是Kinect的忠实粉丝(在Windows上使用时;我认为这是Xbox的噱头)。
对于初学者,您无法通过智能手机直接与Kinect连接。 Kinect需要USB连接,外部电源和配备2.6 GHz双核处理器的Windows 7机器。所以现在它成为连接Windows 7机器上运行的服务器应用程序和Android手机上的客户端应用程序的问题。有几种方法可以做到这一点(USB,WiFi,TCP),但所有这些都在某处受到影响。 USB会将您连接到计算机,使智能手机应用程序变得多余(只需使用计算机,因为您已连接到计算机)。如果您打算发送大量数据,WiFi可能是最佳选择,但只能在您家中使用。 TCP(或UDP)可以用于某些应用程序,但如果你开始尝试流式传输视频,你的手机就会讨厌你。
我将假设您不会选择数据量很大的应用程序(视频流到手机)。如果你只想发送从Kinect到Android的通知(例如,使用Kinect作为动作检测器并在有人进入房间时向Android发送消息),类似于文本消息更新,你当然可以拉出TCP / IP解决方案,可能很容易。您使用Kinect在Windows 7计算机上设置simple TCP server,然后使用TCP request连接到它(查看客户端代码)。一旦你完成了设置,就可以轻松地在Kinect和智能手机应用程序之间发送消息。对于初学者,只需尝试发送一些快速消息。服务器说“HI THERE”,Android回复“我恨你的窗口”等,并确保消息正在到达目的地(TCP几乎保证他们会这样做)。运行后,只需围绕它构建应用程序。
答案 1 :(得分:0)
如果您愿意避免使用官方Microsoft SDK,则Point Cloud Library(构建于OpenNI之上)具有framework and tutorial in place for streaming。