C.G*_*ons 5 python pyserial g-code 3d-printing
我正在尝试编写一个简单的 python 脚本,将 gcode 命令发送到运行 Marlin 的 wanhao D9 主板打印机。我在通过 USB 连接到打印机的树莓派上运行 python 脚本。
import serial
ser = serial.Serial("/dev/ttyUSB0", 115200)
ser.write("G28\n")
Run Code Online (Sandbox Code Playgroud)
我已经阅读了 20 多个有类似问题的论坛页面,并尝试了他们的答案,例如将波特率更改为 250000 以及对 write 函数参数进行以下更改:
ser.write("G28\r\n")
ser.write(b'G28\r\n')
ser.write(b'G28\n')
ser.write(b'G28')
ser.write("G28")
Run Code Online (Sandbox Code Playgroud)
我已经尝试了所有这些组合,并且我还添加了:
time.sleep(5)
Run Code Online (Sandbox Code Playgroud)
以及我文件顶部的时间模块的相关导入语句。我在 ser 声明和 ser.write 函数调用之间添加了这行代码。
我也尝试添加:
ser.close()
Run Code Online (Sandbox Code Playgroud)
看看这是否会有所作为,但事实并非如此,因为我知道这无论如何都是最佳实践。
无论我使用什么代码组合,当我运行我的 python 脚本时,我的打印机似乎重新启动(屏幕从主页变为打开的 wanhao 徽标并返回主页)
我期待任何人都可以就我的代码以及我可能做错的事情向我提供任何帮助。
在我的命令解决了我的问题后添加了额外的睡眠时间。我现在还可以读回打印机的初始设置反馈。
我的最终代码没有这个是:
import serial
import time
ser = serial.Serial('/dev/ttyUSB0', 115200)
time.sleep(2)
ser.write("G28\r\n")
time.sleep(1)
ser.close()
Run Code Online (Sandbox Code Playgroud)
感谢这篇文章中的用户指导我正确的方向使用 pySerial 包的完整示例
这段代码对我有用,我希望其他人将来也发现它有用。
| 归档时间: |
|
| 查看次数: |
4719 次 |
| 最近记录: |