2016-06-10 2 views
1

USB 포트를 통해 라즈베리에 Arduino 보드를 연결했습니다. 처리 코드로 나는 arduino에 의해 발송 된 70 바이트를 읽고 싶다. 내 PC 창에서이 프로그램을 사용하면 작동하지만, Raspberry를 사용하면 Processing에서 얻은 데이터가 arduino에서 보낸 데이터와 다릅니다. 직렬 포트는 "DEV/ttyUSB0를"내 경우라즈베리 파이 직렬 포트 데이터가 잘못되었습니다

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

: 이것은 직렬 포트를 읽을 수있는 처리 코드입니다. 이 방법으로 파이썬을 사용해 보았습니다.

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

또한 파이썬에는 같은 오류가 있습니다. 나는 또한 동일한 결과로 보오율 (115200)을 변경하려고했다.

+0

어떻게 다른 ...? –

+0

@marc 예를 들어 20과 22 사이의 값을 가져야하지만, 라즈베리에는 10에서 40 사이의 값을 갖습니다. – andrsimo

+0

전송 한 데이터는 어떻게 되나요 (70 바이트)? –

답변

0

지금 예를 /dev/ttyACM0를 들어, 새 장치를 볼 수 ls /dev/tty* 다시 검색 할 경우 아두 이노가, ls /dev/tty*으로 검색에 연결합니다.
을 분리합니다. 또한 arduino 드라이버가 COM 포트 sudo apt-get update && sudo apt-get install arduino을 에뮬레이션해야합니다.

아두 이노 코드

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

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

라즈베리 파이 코드 - 코드 조각

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

이 페이지의 파이썬 예제를보십시오 : How to attach an Arduino?

+0

내가 찾은 유일한 장치는'/ dev/ttyUSB0'입니다. 시스템이 업데이트되고 arduino가 최신 버전입니다. – andrsimo

+0

/dev/ttyUSB0에 대한 참조가 발견되었습니다. 예를 들어 FT232RL 칩의 장치 이름입니다. 장치 참조는 정상입니다. – codeflag