首页 > 解决方案 > 将串行数据从 Arduino 读入 Python

问题描述

我是编码新手。我正在尝试将 Arduino 中的串行数据读取到 debian armf sbc 上的 python 脚本中。脚本的重点只是使用 USB 端口将数据从 arduino 传递到计算机。Arduino 在其循环函数中只打印一个 int: Serial.print(some-number-int) 。python代码在这里:

import serial
ser = serial.Serial('/dev/ttyACM0', 9600)
while True:
    x = ser.readline().decode('utf-8')
    print(x)

我听说解码步骤以前不是一个东西,但是有些东西发生了变化,现在你必须对其进行解码,否则它会吐出类似的东西:“b'(int)\r\n”

此代码有时有效,但不稳定。偶尔运行此代码时会出现错误,例如:

Traceback (most recent call last): File "read_usb_arduino.py", line 4, in <module> x = ser.readline().decode('utf-8') UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte

我想知道是否有人知道解决此问题的方法或无需解码的方法?

感谢:D

标签: pythonarduinodebian

解决方案


推荐阅读