开源改变世界!!

特性:支持作为客户端连接外部WebSocket服务器 #674

推推 grbl 2年前 (2023-02-05) 177次浏览
关闭
RPdenBoer 打开了这个问题 2022 年 10 月 16 日 · 8条评论
关闭

特性:支持作为客户端连接外部WebSocket服务器#674

RPdenBoer 打开了这个问题 2022 年 10 月 16 日 · 8条评论

评论

特性:支持作为客户端连接外部WebSocket服务器 #674
登布尔 评论了 2022 年 10 月 16 日  

机器上下文

我想通过现有的外部 WebSocket 服务器从自定义 Web 应用程序流式传输基本 G0 命令。这具有 WSS 安全性等优点,并且不需要公开端口(如果使用 FluidNC 作为服务器而不是客户端,则需要公开端口)。我对 WebSockets 的经验有限,所以可能以错误的方式接近这个?

功能说明

也许可以在配置文件中添加要连接的服务器地址的详细信息。还需要包括 SSL 证书。
我以前用于项目:
https ://github.com/gilmaimon/ArduinoWebsockets/blob/master/examples/Secured-Esp32-Client/Secured-Esp32-Client.ino

其他方法

我想的替代方案是让另一个 ESP32 或类似的连接作为 WebSocket 客户端,然后通过串行流传输到 FluidNC?

我能提供什么帮助

我可以帮助测试和调试。

特性:支持作为客户端连接外部WebSocket服务器 #674 RPdenBoer 添加了 增强 新功能或要求标签 2022 年 10 月 16 日
特性:支持作为客户端连接外部WebSocket服务器 #674

这不会脱离通信模块化吗?我知道你打算用这个做什么,但我觉得 FluidNC 已经有很多方法可以与之交流。尝试卸载到 fluidterm 或将 fluidterm 集成到您的应用程序中。

特性:支持作为客户端连接外部WebSocket服务器 #674
作者

我不确定 Fluidterm 有何帮助?
澄清一下,我专门针对用户可以访问公共网站(使用蜂窝网络等)并近乎实时地控制设备而无需连接到本地 AP 的场景。显然会有安全层,所以不只是任何人都可以控制,实际的 G 代码将完全隐藏在 UI 后面,但这是基本的想法。

特性:支持作为客户端连接外部WebSocket服务器 #674

我现在明白你在说什么了。谢谢你的例子。

特性:支持作为客户端连接外部WebSocket服务器 #674

在这个时候,我认为像你的其他方法建议那样有一个外部代理会更好。我们还有很多其他事情要做,您最初的建议不太可能很快成为列表的首位。代理设备可以处理其他网络类型,如蜂窝网络。无论如何,FluidNC ESP32 将无法在没有额外硬件的情况下进行蜂窝通信。FluidNC 在任何情况下都需要连接到 AP,因为这是访问互联网的唯一途径。

特性:支持作为客户端连接外部WebSocket服务器 #674
作者

没问题,我知道这可能不是一个常见的用例。
是的,这个想法是 FluidNC 像往常一样连接到本地 WiFi AP,但也在收听来自公开网站的流媒体。这意味着用户可以使用任何形式的互联网接入进行连接,甚至在理论上是在世界的另一端。

关于我应该从哪里开始自己实现另一个输入流的任何快速指示?
或者有关如何使用 I2S0 引出线的文档,以便我可以制作一个完全自制的解决方案?
珍惜你的时间。

特性:支持作为客户端连接外部WebSocket服务器 #674

FluidNC 已经在端口 23 上侦听传入的原始 TCP 连接,并在端口 81 上侦听 websocket 连接。因此,任何可以路由到本地子网上地址的代理都可以控制 FluidNC。当然,问题是大多数本地网络不向外部公开服务。您可以使用在本地子网上运行的委托代理来解决这个问题,并与外部服务器对话。也许你已经明白了;如果是这样,您应该能够实施这样的代理或找到一个已经存在的代理。有些人使用 VPN 或 SSH 隧道来做到这一点。

如果您坚持要在 FluidNC 中实现一些东西,我们接受您的代码到上游版本的门槛会很高。您必须向我们证明您确实理解所有的含义,否则它将变成我们的维护问题。您要求“快速指导”这一事实并不是一个好兆头。通常,在复杂的代码库中有效地执行此类操作需要对代码有深入的理解,因此一点也不需要快速完成。成功的人是那些自己深入研究代码的人。

我不明白“I2SO 引出线”与这项任务有什么关系。I2SO 是一种向 ESP32 添加更多步进输出的技巧,与网络协议无关。如果您想为其他目的制作自制控制器,I2SO“文档”采用 6 件装、MKS DLC32 等控制器的开源原理图形式。这是一个简单的移位寄存器设置,其硬件操作原理对于任何了解移位寄存器工作原理的人来说应该是显而易见的,只需查看原理图即可。

特性:支持作为客户端连接外部WebSocket服务器 #674

搜索“本地隧道”

特性:支持作为客户端连接外部WebSocket服务器 #674
作者

是的,我明白了大部分。我想避免公开暴露端口。我会做更多的阅读。再次感谢!