【发布时间】:2018-10-26 00:38:36
【问题描述】:
我正在尝试制作一个生成随机数的 Arduino 代码和一个从串行读取这些数字并在命令行中打印它们的 Python 程序。
这是我的 Arduino 代码:
void setup() {
}
void loop() {
long rand = random(10);
Serial.println(rand);
delay(1000);
}
这是我的 Python 代码:
#!/usr/bin/python
import serial
ser = serial.Serial("/dev/ttyACM0",9600, timeout = 1)
if ser.is_open == 0:
ser.open()
print('serial was not open, so it is open now')
else:
print('serial was open this whole time')
while ser.is_open:
thing = ser.readline()
print(thing)
#ser.readline()
ser.close()
一旦 Arduino 开始生成随机数,我运行 Python 程序并得到以下输出:
b''
b''
b''
b''
b''
b''
b''
b''
我希望看到随机数而不是 b''。
我该如何解决这个问题?
【问题讨论】:
-
我希望代码能够在 Arduino 草图中设置串行通信。
-
嗨 Klaus,是的,我添加了
Serial.begin(9600)来取消设置,它可以正常工作,我现在在屏幕上打印了一些随机数。但是,格式有点奇怪,数字显示为b'8\r\n'。你知道我怎样才能修复这种格式,以便只显示数字吗?
标签: python linux arduino pyserial