这两天又碰了一下之前造的写字机器人,因为要测试一下实体外挂,需要用这台机器来完成重复的动作。需要自己写程序来发送G代码过去。为了避免重复造轮子,找了一个可以用python来发送G代码的代码片段。
def main():
import serial
from time import sleep
ser = serial.Serial('COM8',115200,timeout = 0.1)#打开COM8波特率115200 超时2秒
ser.timeout=40#读超时设置
ser.writeTimeout=2#写超时
line = 'G1 X1000 Y1000 F100\n'#运动命令
print(line)#打印命令数据
cmd = line.encode()#对数据unicode编码成bytes
ser.write(cmd)#发送命令
data = ser.readline()#读取返回数据 10s超时
print(data)#打印返回数据
f = open('/Desktop/output_new.nc','r')#只读模式打开文档打开Gcode文档
while True:
# 获取数据
line = f.readline()#按行读取
if not line:#读到最后文档结尾
f.close() #关闭文档
break#退出循环
print(line)#打印数据
cmd = line.encode()#对数据unicode编码成bytes
ser.write(cmd)#发送命令
data = ser.readline() #读取返回数据 10s超时
print(data)#打印返回数据
print('发送完成')
if __name__ == '__main__':
main()
实测电机能运行。接下来可以参考这段代码在树莓派上部署实体外挂了。