私はPython 3でグラフィカルインターフェイスを開発していますので、GRBLにファイル(gcode)を送るのに役立つコードがいくつか見つかりましたが、このコードはPython 2 。私はそれを実行すると、私のpythonに3TypeError: 'str'はバッファインターフェイスをサポートしていません
import serial
import time
# Open grbl serial port
s = serial.Serial('/dev/ttyS0',115200)
# Open g-code file
f = open(r'/home/pi/Downloads/spinner.gcode')
# Wake up grbl
s.write("\r\n\r\n".encode("utf8"))
time.sleep(2) # Wait for grbl to initialize
s.flushInput() # Flush startup text in serial input
# Stream g-code to grbl
for line in f:
l = line.strip() # Strip all EOL characters for streaming
print ('Sending: ' + l)
s.write(l + '\n') # Send g-code block to grbl
grbl_out = s.readline() # Wait for grbl response with carriage return
print(' : ' + grbl_out.strip())
# Wait here until grbl is finished to close serial port and file.
raw_input(" Press <Enter> to exit and disable grbl.")
# Close file and serial port
f.close()
s.close()
を動作するようにプログラムを変更しようとした、それは私にエラーを示しています
TypeError : 'str' does not support the buffer interface
フルスタックトレース –
's.write( "\ rをする\ n個ます\ r \ n")を追加してください'右を見ていない( "UTF8")をコードします。 ... –
はい正しい構文は:s.write( "\ r \ n \ r \ n" .encode( "utf8"))、それは私に同じ問題を示しています:( –