开源改变世界!!

Windows 端口自动检测。 #31

推推 grbl 2年前 (2023-01-31) 139次浏览
关闭
chamnit 打开了这个问题 2015 年 5 月 10 日 · 10 条评论
关闭

Windows 端口自动检测。#31

chamnit 打开了这个问题 2015 年 5 月 10 日 · 10 条评论

注释

Windows 端口自动检测。 #31

@vlachoudis:ShapeOko 用户一直在试用 bCNC,并且大多数人都在使用旧的基于 Windows 的笔记本电脑来运行它。在大多数情况下,一旦安装了 Python 2.7 和 pyserial,一切都会立即运行。

但主要问题是他们在连接或弄清楚如何连接到 Grbl 时遇到很多麻烦。端口检测默认值似乎只适用于 *nix 系统,因为它适用于我的 Mac 和 RPi Linux dist 没有问题。

以下是他们目前为解决此问题所做的工作。

The default port name is not very helpful on Windows. Ports are named COM1 etc, not /dev/ttyACM0 etc. There's a method to enumerate them, but it seems bCNC is not using it. Just type COM5 (in your case) in the box to the left of the green Open button.

Windows 端口自动检测。 #31
贡献者

我正在使用 Win7 和 python 2.7
在控制选项卡中有一个名为连接的组合框。如果我点击下拉按钮,则会出现一个可用串口列表。一个你选择正确的一个设置被保存。
Windows 端口自动检测。 #31

Windows 端口自动检测。 #31
作者

用户使用的是 Windows Vista。这是论坛主题的链接。( http://www.shapeoko.com/forum/viewtopic.php?f=6&t=6086 )

Windows 端口自动检测。 #31
贡献者

我刚刚用 Win Xp 和 python 2.7 验证过,然后又用 Win7 验证过,但用 Python 3.x 验证过,两者都有效。
可能他只是没有看到向下的小箭头?

Windows 端口自动检测。 #31
贡献者

大概@vlachoudis应该显示 bCNC 第一次启动时从串行枚举器返回的第一个串行端口,而不是使用默认 bCNC.ini 文件中的串行端口。

Windows 端口自动检测。 #31
作者

可能是控制器的 USB 标识与 bCNC不兼容。它是一个基于 328p 的控制器,运行 Grbl,但不
识别为 Arduino。该公司使用自己的驱动程序来帮助识别
他们何时与他们的产品之一进行通信。

在 2015 年 5 月 10 日星期日上午 10:29,Filippo notifications@github.com写道:

大概@vlachoudis https://github.com/vlachoudis应该显示bCNC
第一次启动时从串行枚举器返回的第一个串行端口
,而不是使用默认 bCNC.ini 文件中的串行端口。


直接回复此电子邮件或在 GitHub
#31(评论)上查看。

Windows 端口自动检测。 #31

@chamnit他们不应该在他们的机器上使用 Carbide Motion 吗?而且,如果驱动程序不兼容,他们不能只卸载专有驱动程序并下载 Arduino 驱动程序以使 bCNC 与他们的机器一起工作吗?

Windows 端口自动检测。 #31
作者

@1bigpig: 当然可以,但从技术上讲,他们可以使用任何 gcode 发送器。这是股票 Grbl。Carbide3d 使用他们的驱动程序,因此他们的机器控制器 CarbideMotion 不必是通用发送器。他们可以根据自己的机器对其进行定制。我不记得他们做了什么,但我认为它在 USB 驱动程序中。它不是 Arduino,而是设备管理器 (Windows) 中的 Carbide3d 设备。现在我没有办法测试这个。我正在报告我在 ShapeOko 论坛上看到的问题。

Windows 端口自动检测。 #31
所有者

大家好,确实将 /dev/ttyACM0 作为预定义变量仅适用于 linux。当我做到这一点时,我并没有想到其他操作系统。现在我将其更改为空字符串,强制用户第一次从下拉框中选择合适的设备或手动输入。

从 python 识别串行设备有点棘手。目前我使用的是串行设备的默认枚举器,因为它带有 pyserial 模块和一个自制的。我正在寻找 python pyserial 实现 serial.tools.list_ports.comports() 并且它只检测到一些预定义名称的存在。因此,如果设备被识别为非标准名称,pyserial 将不会检测到它。

Windows 端口自动检测。 #31
所有者

目前我关闭了这个错误:

  • 我删除了预定义的端口。现在用户必须在他第一次使用 bCNC 时设置它
  • 关于“特殊”端口的端口检测,我要么切换到我的实现并添加所有特殊端口,要么坚持(像现在一样)到自动检测失败的标准 python 端口