Raspberry pi串口数据错误

时间:2016-06-10 15:35:39

标签: python arduino serial-port raspberry-pi processing

我通过USB端口将Arduino Board连接到Raspberry。使用处理代码我想读取arduino发出的70个字节。如果我在我的PC窗口上使用这个程序它可以工作,但是使用Raspberry我从Processing获得的数据与arduino发出的数据不同。这是读取串口的处理代码:

import processing.serial.*;
Serial uart;
byte[] codice= new byte[70];

void setup() {
  uart= new Serial(this, Serial.list()[1], 9600);
}

void draw() {
  if (uart.available()>0) {
    codice=uart.readBytes();
    println(codice);
  }
}

在我的情况下,串口是" dev / ttyUSB0"。我也用这种方式尝试了python:

>>> import serial
>>> ser = serial.Serial('/dev/ttyUSB0', 9600)
>>> while True:
 ...     print ser.readline()

同样在python中也有同样的错误。我也尝试用相同的结果更改波特率(115200)。

1 个答案:

答案 0 :(得分:0)

拔下您的Arduino,使用ls /dev/tty*进行搜索并将其插入。
如果您现在使用ls /dev/tty*再次搜索,则会看到一个新设备,例如/dev/ttyACM0。此外,您需要arduino驱动程序来模拟COM端口sudo apt-get update && sudo apt-get install arduino

Arduino代码

void setup(){
  Serial.begin(9600);
}

void loop(){
  Serial.println(“Hello Raspi”);
  delay(3000);
}

Raspberry Pi Code-Snippet

import serial
ser = serial.Serial('/dev/ttyACM0', 9600)

尝试此页面上的python示例:How to attach an Arduino?