728x90

지난번과 마찬가지로

다음 링크의 나머지 내용들

 

https://roboticsbackend.com/raspberry-pi-arduino-serial-communication/

 

 

 

 

 

다시 아두이노에 새 펌웨어를 올려야되는데

 

파이에서 꽂은걸 다시 PC에다 연결해서 올리기 번거로우니

 

라즈베리파이에서 바로 업로드할수 있도록 arduino sketch를 설치하려고한다.

 

 

 

arm 아키텍처인건 아는데 32bit은지 64비트인지 몰라

 

검색해보니

 

uname -m 할때

 

armv7l이 뜨면 32비트라고 한다.

 

 

armv7l이뜨니 32비트 아두이노 스캐치 다운

 

 

 

 

 

압축 다풀고 설치해주자

 

 

 

 

 

스케치에서 다음 코드를 아두이노로 업로드 해줍시다.

 

파이에서 보낸 데이터를 다시 에코하는 예제

void setup() {
  Serial.begin(9600);
}
void loop() {
  if (Serial.available() > 0) {
    String data = Serial.readStringUntil('\n');
    Serial.print("You sent me: ");
    Serial.println(data);
  }
}

 

 

 

 

 

 

아두이노에는 보낸 스트링을 에코해주는 펌웨어를 올렸다면

 

파이에다가는 스트링을 보내고

아두이노에서 에코해준 문자열을 출력

 

#!/usr/bin/env python3
import serial
import time
if __name__ == '__main__':
    ser = serial.Serial('/dev/ttyACM0', 9600, timeout=1)
    ser.flush()
    while True:
        ser.write(b"Hello from Raspberry Pi!\n")
        line = ser.readline().decode('utf-8').rstrip()
        print(line)
        time.sleep(1)

 

 

아두이노에서 잘 에코해주고 있는것 같긴한데

 

왜 일부 line 변수에서는 You sent me : 가 빠져서 출력되는지는 잘 모르겠다.

 

 

 

300x250

+ Recent posts