라즈베리 파이 1 UART를 통해 두 라즈베리 파이 (들) 사이에 읽을 pyserial 사용
: 라즈베리 파이로 데이터를 전송 2
while 1:
ser=serial.Serial('/dev/ttyAMA0')
if not ser.isOpen():
ser.open()
msg=raw_input('RPi 1 send:')
ser.write(msg)
ser.close()
라즈베리 파이 2 : 라즈베리 파이 1
while 1:
ser=serial.Serial('/dev/ttyAMA0' ,timeout=0)
if not ser.isOpen():
ser.open()
data=ser.read(1024)
if data.__len__()>0:
print 'RPi 2 receive:',data
ser.close()
내가 모두 코드를 실행로부터 데이터를 수신.
RPi 2 receive : Hello
그러나 예를 들어 RPI 1 송신 데이터 8 개 이상의 문자
RPi 1 send : Hello Raspberry pi NO.2
경우 결과는
및 전송 데이터
RPi 1 send : Hello
및 수신 데이터
RPi 2 receive: Hello Ra
RPi 2 receive: spberry
RPi 2 receive: pi NO.2
이것은 내 문제입니다. 이런 수신을 받고 싶기 때문에
(RPi 2 수신 : Hello Raspberry pi NO.2) # 단 한 줄만 보입니다.
그리고 (8 자 이상) 다시 보내면 새 줄에 표시됩니다.
한 줄에 어떤 코드를 추가 하시겠습니까? 또는 이렇게 다른 방법? :)
read()는 해당 시간만큼 준비됩니다. – cmd