注释
|
你有这样的司机的例子吗? |
|
抱歉,我不是专家,那么 rfc2217 对于 GRBL_ESP32 与 RawTCP 有什么好处? GRBL_ESP32 只能读写数据,所以 RawTCP 应该足够了,但我可能错了。 @bdring: GRBL_ESP32 是否可以处理控制线,如果是的话有什么好处? |
|
什么控制线?硬件流控? |
|
控制线是 RTS / CTS /DTR /DSR,所以我认为是硬件流控制 |
|
是的,但我认为这不是一个好主意。开发板上的 USB 串口不是那样接线的。它可能不值得额外的 I/O。RTS 和 DTR 用于引导加载程序 |
|
好的,明白了 – 谢谢 |
我认为 esp32 grbl 的 telnet“串行”接口根本没有连线,因此波特率和流量控制的设置可能完全无关紧要。我做了一些研究,我认为虚拟序列号可能在当前的 grbl esp32 上开箱即用(只要它有通过 telnet 提供的 grbl 序列号)。也许这在文档中值得一提。 有人可以试试吗?我没有窗户可以试试。 在 Linux 上应该很简单:
|
|
顺便说一句,我应该如何通过该 TCP 串口硬重置 ESP32 控制器?目前在 bCNC 中,我们通过脉冲 DTR 引脚重置 arduino。为了向 bCNC 添加 telnet 支持,我需要一些替代方法。 |
当您使用 usb/serial 连接到 ESP32 时,这适用。 |
|
[ESP444]RESTART pwd=<管理员/密码> |
|
重置的目的是什么?您只需要重置 Grbl 或 ESP32 吗?如果这样做,您将失去 Telnet 连接。 您想加入我们的Slack 频道吗? |
|
谈论 arduino:在 bCNC 中,我们有两个按钮“软重置”(ctrl+x) 和“硬重置”(DTR pulse)。 我想 ESP32 也会有类似的问题。我计划相对较快地实现对 bCNC 的串行 over TCP 支持,但我不知道在这种情况下如何处理硬重置按钮。事实上,我什至不知道 Ctrl+x 是否会导致软重置。我需要尝试结合使用 ESP32 GRBL telnet 和 bCNC。 另一件让我担心的事情是登录该 telnet 服务。这并没有真正用于普通串行连接,所以我需要处理它。我想知道是否有一些用于 telnet 的标准登录协议,所以这不需要我们为 ESP32 GRBL 和 eg 编写单独的代码。ESP32 smoothie 或 tiny-g(如果他们决定实施自己的 telnet)。因为 bCNC 支持的控制器不仅仅是 GRBL。也许我们应该联系其他运动控制器(tiny-g、smoothie、marlin 等)的作者,以就控制器之间兼容的一些连接和授权机制达成一致。也许支持一些可以为我们处理身份验证内容的基本 SSH 连接甚至是有意义的。据我所知,ESP32 上运行着 SSH 实现……
我没有松弛帐户。事实上,我什至不知道什么是 slack |
|
我在 [ESP444]RESTART 中看到的问题 – 它会停止并重新启动 wifi,因此 telnet 连接将中止,这意味着您需要在重新启动完成后重新连接 |
|
Slack 专为团队/团队实时工作而设计。它与 GitHub 有一些集成。如果需要,请尝试链接。它非常容易使用。链接明天失效 |
|
RFC854 中定义的 telnet 协议不包括身份验证。如果需要,必须在某种对话中建立连接后实施身份验证。Telnet 是一个非常基本的协议,可用于连接到其他更高级别的协议,如 smtp,也可用于连接到“简单”套接字流 – 大多数(如果不是全部)支持 telnet 的终端程序都允许这样做。 我已经为我的两个 grbl 驱动程序实现了以太网/wifi 流式传输,基本上它只是将串行流重定向到 TCP/IP 流。我可以看到硬重置的必要性,因为有时 grbl 不会以有意义的方式响应软重置,这可以通过为此目的分配控制字符或转义序列来实现。我认为大多数处理器都可以通过编程方式进行硬重置…… IMO 将 telnet 协议带入讨论可能有点误导,它只是一个副作用,它可用于连接到传输可理解数据(如 grbl 数据流)的简单套接字流并与之交互。这样做的一个原因可能是因为很容易劫持用于流式传输的 telnet 端口并连接到用于测试的终端…… 讨论可以(应该?)然后归结为哪些 grbl 协议扩展可以很好地支持(更高级的)通过 TCP/IP 的流式传输。 |
|
抱歉没有回复,最近比较忙。不过我有一些好消息。 我刚刚发现 bCNC 中使用的串行库已经具有支持本机 IP 的抽象层(RFC2217 和纯 TCP)。我在这里写了一些细节:vlachoudis/bCNC#1072 所以这是一个很好的起点。您可以尝试将 bCNC 连接到 ESP32。 |
|
我已经为联网的 GRBL 提出了简单的 auth 协议,我可以将这种支持添加到 bCNC。所以想征求一下大家的意见: |
|
Linux 上的 Socat 能够将虚拟 tty (/dev/ttyxxxxx) 绑定到远程系统上的端口, 还有另一个项目声称无法做到这一点 |



rfc2217 是用于访问远程串行线路的 telnet 扩展。也许实现起来会很有用,因为有驱动程序(适用于大多数操作系统)将终端服务器连接为本地串口,因此它可以被任何支持本地串口的软件使用。
https://tools.ietf.org/html/rfc2217