我想通过 pyserial 发送这样的数组:
[49, 56, 48] or [82]
我在发送之前尝试过这样的解决方案:
print(list(str(180).encode()))
它给了我我想要的数组。但是当我尝试通过 pySerial 发送它时,它说我需要缓冲区而不是列表。一般来说,我试图从 kotlin 中获得一些类似物:
byteArrayOf('O'.code.toByte())
"70".toByteArray()
这给了我这样的数组来将它们发送到 Arduino。我尝试发送地图、字典等,但没有成功。 Python 中是否可以有类似的东西? python发送代码:
import json
import struct
import serial
ser = serial.Serial('/dev/tty.usbmodem14401', 9600)
data = [49, 56, 48]
ser.write(json.dumps(data) + '\n')
ser.write(str('R').encode())
ser.write(str(80).encode())
这对我有用
import serial
import time
ser = serial.Serial('COM10', 115200, write_timeout=1)
time.sleep(4) # Wait for Arduino to reboot
# bytes_to_send = [65]
bytes_to_send = [65, 66, 67, 68, 69]
count = 0
while True:
for byte in bytes_to_send:
ser.write([byte])
print(f"{count} Sent {byte}")
count += 1
需要四秒延迟,因为打开串口时 Arduino 会重新启动。