2016-06-10 7 views
1

Ich habe ein Arduino Board mit Raspberry über einen USB-Anschluss verbunden. Mit einem Verarbeitungscode möchte ich 70 Bytes lesen, die von Arduino gesendet werden. Wenn ich dieses Programm auf meinen PC-Fenstern verwende, funktioniert es, aber mit Raspberry unterscheiden sich die Daten, die ich von Processing erhalte, von den Daten, die von Arduino gesendet werden. Dies ist der Verarbeitungscode der seriellen Schnittstelle zu lesen:Raspberry Pi serielle Schnittstelle Daten falsch

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); 
    } 
} 

In meinem Fall die serielle Schnittstelle ist „dev/ttyUSB0“. Ich versuchte auch mit Python auf diese Weise:

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

Auch in Python gibt es den gleichen Fehler. Ich habe auch versucht, die Baudrate (115200) mit dem gleichen Ergebnis zu ändern.

+0

verschiedene WIE ...? –

+0

@marc Zum Beispiel sollte ich Werte zwischen 20 und 22 haben, aber auf Himbeere habe ich Werte zwischen 10 und 40 – andrsimo

+0

Wie sehen die gesendeten Daten aus (die 70 Bytes)? –

Antwort

0

Trennen Sie Ihren Arduino, mit ls /dev/tty* suchen und stecken Sie es in.
Wenn Sie jetzt wieder die Suche mit ls /dev/tty* werden Sie ein neues Gerät sehen, zum Beispiel /dev/ttyACM0. Zusätzlich benötigen Sie die Arduino-Treiber, um den COM-Port sudo apt-get update && sudo apt-get install arduino zu emulieren.

Arduino-Code

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) 

Versuchen Sie, die Python Beispiel auf dieser Seite: How to attach an Arduino?

+0

Danke für die Antwort das einzige Gerät, das ich finde, ist '/ dev/ttyUSB0'. Das System ist aktualisiert und auch Arduino ist die neueste Version – andrsimo

+0

Ich fand einen Verweis auf/dev/ttyUSB0, das ist der Gerätename zum Beispiel FT232RL Chips. Die Gerätereferenz ist in Ordnung. – codeflag