如何通过USB发送一个gcode命令?

2024-06-01 09:16:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试编写一个简单的python脚本,将gcode命令发送到我的万豪D9主板打印机,运行Marlin。我正在通过USB连接到打印机的raspberry pi上运行python脚本

import serial

ser = serial.Serial("/dev/ttyUSB0", 115200)
ser.write("G28\n")

我已经阅读了20多个论坛页面上的simular问题,并尝试了他们的答案,例如将波特率更改为250000,以及对写入函数参数进行以下更改:

ser.write("G28\r\n")
ser.write(b'G28\r\n')
ser.write(b'G28\n')
ser.write(b'G28')
ser.write("G28")

我已经尝试了所有这些组合,并且我还添加了:

time.sleep(5)

以及文件顶部时间模块的相关导入语句。我在ser声明和ser.write函数调用之间添加了这行代码

我还尝试添加:

ser.close()

看看这是否会有不同,但它没有,因为我知道这是最好的做法无论如何

无论我使用的代码是什么组合,当我运行python脚本时,我的打印机似乎会重新启动(屏幕从主页更改为打开的万豪徽标,然后返回主页)

我期待着任何人能在我的代码和我可能做错的方面给我任何帮助


Tags: 代码命令脚本serial打印机主页raspberryser
1条回答
网友
1楼 · 发布于 2024-06-01 09:16:04

在我的命令修复我的问题后添加额外的睡眠时间。现在,我还可以从打印机读取初始设置反馈

我的最终代码没有这个是:

import serial
import time

ser = serial.Serial('/dev/ttyUSB0', 115200)

time.sleep(2)
ser.write("G28\r\n")
time.sleep(1)
ser.close()

谢谢你,感谢这篇文章中的用户为我指引了正确的方向Full examples of using pySerial package

这段代码对我很有用,我希望其他人将来也会觉得它有用

相关问题 更多 >