开源改变世界!!

为 bcnc 启用以太网串行 #592

推推 grbl 2年前 (2023-02-01) 130次浏览
关闭
kkugelblitz 打开了这个问题 2017 年 5 月 19 日 · 5 条评论
关闭

为 bcnc 启用以太网串行#592

kkugelblitz 打开了这个问题 2017 年 5 月 19 日 · 5 条评论

注释

为 bcnc 启用以太网串行 #592

这可能只与有限的受众相关,但通过更改 Sender.py 中的一行,可以为以太网串行连接启用 bcnc(即通过使用微型协议服务器的 lan/wlan 接口 grbl)。

pyserial 中已经包含完全支持,只有实例化调用serial.Serial()必须替换为 serial.serial_for_url() 同时保持参数相同(我不得不增加超时参数,但这可能是由于 wlan 不佳在我家表演)。使用本地接口(comX,/dev/ttyX)像以前一样工作,因为 pyserial 在内部解决了这个问题。

但是,通过在 bcnc 的端口字段(文件功能区)中键入类似“socket://192.168.1.2:2001”的内容,可以建立到以太网到串行服务器的连接。就个人而言,我使用的是在支持 USB 的壁式插座迷你路由器 ( OpenWRT ) 上运行的 ser2net,但树莓派或任何其他 linux 机器也可以。

我在 windows7-64 上使用 bcnc 对此进行了测试,但我不确定依赖性(例如,是否需要某个(最低)版本的 pyserial)或与 mac、linux、32 位操作系统的可能回归……原则上它应该是透明的,但我不知道是否值得冒险改变主树,因为(据说)只有少数人会感兴趣?

为 bcnc 启用以太网串行 #592
所有者

@kkugelblitz这确实很好。有几个要求这样做。我们可以检查地址是否以 socket 开头以使用 serial_for_url()。

为 bcnc 启用以太网串行 #592 vlachoudis 添加了 增强 标签 2017 年 5 月 19 日
为 bcnc 启用以太网串行 #592

实际上没有必要对 bcnc 中的端口字段输入进行任何检查/区分;
只需替换 sender.py 中的函数调用,一切都应该像以前一样工作,以防您保留以前的输入(例如,windows 上的“COM1”或 unix 上的“/dev/tty1”)。

函数名称“serial_for_url()”有点误导:该函数开箱即用,可以与任何 COM1、/dev/tty0、socket://ip:port 和其他几个本地或远程协议一起使用。

来自api 文档
“当应用程序想要同时支持本地端口和远程端口时,此工厂功能很有用。”

为 bcnc 启用以太网串行 #592
所有者

行。我已经实现了,你能检查一下吗