注释
|
首先感谢您为开发 BCNC 所做的所有工作。 我需要帮助。 这个想法是将 ESP32 连接到触摸屏和 SD 卡支持,以控制另一台运行 GRBL 的微型计算机。因此无需连接 PC 即可控制 GRBL。 在 ESP32 站点上,我编写了 telnet 服务器,它似乎可以工作。如果我在我的 windows pc 上打开一个 telnet 会话,我可以在 PC 和 GRBL 之间交换 telnet 消息。 现在,我想用 BCNC 测试它。 难道我必须安装一些额外的包(pyserial???)。 |
我期待启用 wifi 的 GRBL ……
尝试升级到最新的 pyserial,例如:
抱歉,.exe 是实验性的。它有旧版本的 pyserial 直接编译为 .exe 并且没有办法升级它。 您应该改为使用 pip 安装 bCNC … 然后您可以升级 pyserial,因为它会在安装 bCNC 时降级。使用 pip 安装 bCNC 和 pyserial 后,您可以使用包含的 .bat 编译新的 .exe,但没有必要。 |
|
感谢您的快速答复。
我刚刚删除了我的 BNC 安装(基于 exe 文件),然后我采用了其他解决方案。
现在,当我尝试连接时,出现另一个错误: 也许我必须升级。 |
|
我已经尝试使用您提供的命令升级 pyserial。 |
|
您确定已在 ESP32 上实施 RFC2217 吗?我认为您应该尝试 |
|
我尝试了 socket:// 并且现在可以连接了。 我将进一步查看 ESP32 方面的错误。 |
|
好像没问题 |
由于已经有两个项目在做这件事,我认为我们应该就一些基本的身份验证机制达成一致: 我认为 bCNC 可以在连接/重置后立即发送类似这样的内容:
它会被其他 GRBL 实现忽略,因为它是一个注释,但网络设置可以使用它来防止随机的人弄乱你的 CNC。 |
|
@Harvie是通过普通 TCP 连接发送的吗?如果是这样,它似乎很弱(但总比没有好)。 |
|
在我的项目中,我不认为它是真正需要的。
|
|
仅供参考: |
它很弱,但他们将来可能会为 Pyserial 添加 TLS 支持。它更多的是为了防止随机事故,而不是完美地保护您的 CNC。但是如果你和你的 CNC 在同一个局域网中,你应该没问题。此外,人们正在研究 QUIC 协议,它可能会直接取代 TCP,并且默认情况下会加密,因此将来可能根本不需要 TLS。 |
|
@Harvie我一直很喜欢将 Bcnc 用于我的 cnc,但我一直在不断更换微控制器。 |
那是什么意思?某些 GCODE 被忽略,然后它照常运行? |
|
它切割了形状,但似乎在奇数间隔的奇数位置错过了步骤,因此零件并不总是在形状的起始路径处完成 |
|
@dylanpil这个问题似乎更像是一个错误条件,而不是通信问题。我会检查 grbl_ESP32 的未解决问题,据我所知,这可能是 ESP32 电源的问题,因为它有一个不太好的电源可能无法享受的消耗峰值,在这些时刻触发一些随机行为。 |
|
@misan谢谢,我很乐意解决这个问题,所以我也在尝试与 grbl_ESP32 团队合作。 |
|
@dylanpil我的意思是 ESP32 电源电压可能不够稳定,而不是电机的电源。如果可能,请尝试关闭移动电源以查看是否有帮助。 |
|
@misan我明白你在说什么,一旦我能够测试单独的移动电源,我就会给你反馈。感谢您的指导。 |


GRBL 到 ESP32 有有趣的 wifi 和蓝牙启用端口:
https ://github.com/bdring/Grbl_Esp32
所以我想到,我们可以支持这一点。但后来我发现,pyserial 库已经知道如何使用此 URL 语法(#592)连接到远程串行:
socket://localhost:2217(= 纯 TCP 连接)rfc2217://localhost:2217(= rfc2217 连接)spy:///dev/ttyUSB3?raw(= 调试到 STDERR 的串行流量)hwgrep://0451:f432(USB 视频:PID)更多文档在这里:https ://pyserial.readthedocs.io/en/latest/url_handlers.html
我想测试与各种连接选项的兼容性,比如bdring/Grbl_Esp32#60
我还发现 pyserial 有方法可以附加您自己的 URL 处理程序以支持新的串行协议或后端:
protocol_handler_packages.append("my_handlers")我还将尝试在 pyserial pyserial/pyserial#393中实现一些新的处理程序