我正在开发一个简单的项目,在该项目中,我需要通过互联网通过Android
电话的Gyroscope Sensor
来控制Arduino机器人(双伺服电机)。 正如您可以看到的一样,即使3D空间中Phone的方向变化很小,3轴Gyroscopic Coordinates也会非常敏感地变化,所以我想将延迟最小化为毫秒。如何在Android上使用WebRTC进行实时通信?
现在除了硬件之外,我的第一个里程碑是通过互联网尽可能快速和持续地发送陀螺仪坐标从Android到计算机(如实时数字数据流)。我知道传统HTTP based Client-Server
机制将是相当缓慢的,因此我看着到以下几点:
- 谷歌的香奈儿API
- 的WebRTC
- 的WebSockets
根据我的研究,通道API显示从10ms到甚至在几秒钟内的延迟。 GAE也将请求限制为30秒。这里是一个频道API压力测试: http://channelapistresstest.appspot.com/ 尝试点击“发送5”按钮很多,你会看到延迟时间数字上升到几秒钟。
现在WebRTC听起来最有前途且比WebSocket更快。如果有人能够指导我如何在Native JAVA和Native Android中实现WebRTC,我将非常感激(任何好的库?我想从Android发送coords并通过桌面上的JAVA-SE客户端接收)。我对混合应用程序解决方案不感兴趣(如Crosswalk
)。我还想知道应该如何设置信令服务器。总结它我有以下问题:
- 我应该使用哪种方法? (通道API,WebSockets,WebRTC或其他)与本地Java和Android支持?
- IncR的WebRTC,我应该如何设置信令服务器? (只是简要说明)还是WebSocket的WebSocket服务器?
- 我可以利用Google的云平台或类似的东西来降低我的复杂性吗?
- 任何整体建议?
在此先感谢。