我正在開發一個簡單的項目,在該項目中,我需要通過互聯網通過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的雲平臺或類似的東西來降低我的複雜性嗎?
- 任何整體建議?
在此先感謝。