我正在开发一个esp8266库,用于使用Web启用设备(主要是手机)来控制机器人。用户连接到esp上运行的服务器,库使用WebSockets发送有关按钮,操纵杆和/或其他任何内容的更新。
问题是数据开始延迟,有时消息收到很晚,因为它使用TCP(如果这些消息没有得到传递,它会更好)。此外,因为esp具有低内存,这可能导致它崩溃。
如何在不接收旧消息的情况下优化此更新以尽快更新?
像WebRTC这样的东西会更好还是还有其他更适合此目的的东西?使用UDP的WebSockets似乎是一个更好的选择,但显然浏览器无法发送UDP?
应该考虑/使用什么样的东西?
顺便说一句,如果它有帮助,这里是我的library的链接。
谢谢你的帮助。
你需要找到消息迟到的原因。不稳定的网络或者您发送了太多小消息或者您没有正确使用arduinoWebSockets库?
如果上述所有方法都没有帮助,那么Web浏览器就不适合您,您需要为移动设备创建应用程序,这会将原始UDP与您的服务器进行通信。除了WebRTC之外,浏览器不能执行UDP,但在您的情况下,您无法使用WebRTC,因为它不会在低内存esp上运行。 WebRTC是一种资源匮乏;不太适用于DSP。