评论
这不会脱离通信模块化吗?我知道你打算用这个做什么,但我觉得 FluidNC 已经有很多方法可以与之交流。尝试卸载到 fluidterm 或将 fluidterm 集成到您的应用程序中。 |
我不确定 Fluidterm 有何帮助? |
我现在明白你在说什么了。谢谢你的例子。 |
在这个时候,我认为像你的其他方法建议那样有一个外部代理会更好。我们还有很多其他事情要做,您最初的建议不太可能很快成为列表的首位。代理设备可以处理其他网络类型,如蜂窝网络。无论如何,FluidNC ESP32 将无法在没有额外硬件的情况下进行蜂窝通信。FluidNC 在任何情况下都需要连接到 AP,因为这是访问互联网的唯一途径。 |
没问题,我知道这可能不是一个常见的用例。 关于我应该从哪里开始自己实现另一个输入流的任何快速指示? |
FluidNC 已经在端口 23 上侦听传入的原始 TCP 连接,并在端口 81 上侦听 websocket 连接。因此,任何可以路由到本地子网上地址的代理都可以控制 FluidNC。当然,问题是大多数本地网络不向外部公开服务。您可以使用在本地子网上运行的委托代理来解决这个问题,并与外部服务器对话。也许你已经明白了;如果是这样,您应该能够实施这样的代理或找到一个已经存在的代理。有些人使用 VPN 或 SSH 隧道来做到这一点。 如果您坚持要在 FluidNC 中实现一些东西,我们接受您的代码到上游版本的门槛会很高。您必须向我们证明您确实理解所有的含义,否则它将变成我们的维护问题。您要求“快速指导”这一事实并不是一个好兆头。通常,在复杂的代码库中有效地执行此类操作需要对代码有深入的理解,因此一点也不需要快速完成。成功的人是那些自己深入研究代码的人。 我不明白“I2SO 引出线”与这项任务有什么关系。I2SO 是一种向 ESP32 添加更多步进输出的技巧,与网络协议无关。如果您想为其他目的制作自制控制器,I2SO“文档”采用 6 件装、MKS DLC32 等控制器的开源原理图形式。这是一个简单的移位寄存器设置,其硬件操作原理对于任何了解移位寄存器工作原理的人来说应该是显而易见的,只需查看原理图即可。 |
搜索“本地隧道” |
是的,我明白了大部分。我想避免公开暴露端口。我会做更多的阅读。再次感谢! |
机器上下文
我想通过现有的外部 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?
我能提供什么帮助
我可以帮助测试和调试。