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
'로봇 > 전기전자&메카' 카테고리의 다른 글
프로토타이핑 - 31. 라즈베리파이3 opencv 설치 및 영상 스트리밍 (0) | 2020.08.30 |
---|---|
프로토타이핑 - 30. 파이에서 아두이노의 MPU6050 값 읽기 (0) | 2020.08.29 |
프로토타이핑 - 28. USB로 아두이노와 라즈베리파이 직렬 통신 (1) | 2020.08.29 |
프로토타이핑 - 27. 아두이노 mpu6050 연결 (2) | 2020.08.29 |
프로토타이핑 - 26. 라즈베리 파이에서 아두이노 전원 주기 (0) | 2020.08.29 |