USB 직렬 장치에 어떻게 연결합니까?


12

Raspberry Pi에 연결하려는 USB 직렬 포트 케이블이있는 장치가 있습니다. 이 USB- 직렬 케이블 용 칩셋은 Prolific Technology, Inc.의 PL-2303입니다.

Python을 사용하여이 장치의 직렬 연결에서 데이터를 읽으려면 어떻게해야합니까?


1
흥미로운 질문입니다. 이것은 USB 부분에 도움이 될 수 있습니다 : raspberrypi.stackexchange.com/questions/258/…
Jivings

1
이 두 질문입니까? 특히, '직렬 장치 용 드라이버를 어떻게 설치합니까?' '파이썬에서 시리얼 장치에 어떻게 연결할 수 있습니까?' 드라이버에 관한 질문은이 사이트에서 길어질 것입니다. 그러나 Python 질문은 StackOverflow와 같은 사이트에 더 구체적 일 수 있습니다. Linux 기반 아키텍처 또는 설치 메커니즘에 관계없이 Python의 직렬 장치와 통신하는 것이 동일하다고 가정합니다.
RLH

온보드 직렬 포트 (UART 핀)와 USB 직렬 포트와의 통신에는 차이가 없어야합니다.
Alex Chamberlain

이 질문은 다음과 같이 읽습니다. [PL2303 TTL에서 직렬로의 구성 \ Litmus 테스트] ( raspberrypi.stackexchange.com/questions/41553/… )를 시작하려면 어떻게해야 합니까? 하드웨어가 확인되면 직렬 포트에서 데이터를 가져 오기 위해 pyserial을 실행할 수 있습니다
gatorback

답변:


7

Python을 사용하여 직렬 장치와 통신하려면 pyserial 모듈을 사용하십시오. 배포판에서 사용할 수없는 경우 pyserial 프로젝트 페이지 에서 소스 사본을 가져 와서 "python setup.py install"을 실행하여 설치할 수 있습니다

pyserial 사용에 대한 간단한 예제 는 짧은 소개 에서 볼 수 있습니다 .

PL-2303 용 모듈은 기본적으로 사용 가능합니다 ( 펌웨어 GitHub 리포지토리 참조) . 장치를 연결하면 장치가 시작됩니다 /var/log/messages. 나는 Arduino에 연결했으며 통신 포트 /dev/ttyUSB0(다른 장치, 드라이버, 칩셋 등에서 "작동" 했으므로 마일리지가 다를 수 있습니다 ).


장치를 연결하면 / dev / ttyUSB0이 표시되므로 "작동"할 가능성이 높습니다.
Swinders

pyserial을 설치하고 예제 미니 용어를 사용하면 장치의 데이터를 볼 수 있습니다 :)
Swinders

4

PL-2303은 잘 지원되며 다음과 같이 나타납니다 /dev/ttyUSBx. 드라이버가 필요하지 않습니다. 일반적인 직렬 포트와 마찬가지로 읽습니다. 파이썬을 사용하지는 않았지만 C ++에서는 비 블로킹 모드에서 open (), select ()를 읽고 읽을 데이터가 있는지 확인한 다음 read ()를 수행합니다.


4

pySerial 다운로드 ( https://pypi.python.org/pypi/pyserial )

wget http://pypi.python.org/packages/source/p/pyserial/pyserial-2.7.tar.gz?raw=true -O pyserial-2.7.tar.gz
tar -xzf pyserial-2.7.tar.gz
cd pyserial-2.7
sudo python setup.py install

라인으로 ttyUSB 가용성을 확인할 수 있습니다

ls -ltr /dev|grep -i ttyUSB

직렬 출력을 보려면

tail -f /dev/ttyUSB<NUMBER FROM ABOVE>

crtl + c를 나누려면

testserial.py 파일을 작성하여이 코드를 붙여 넣습니다.

#!/usr/bin/python
from time import sleep
import serial

# Establish the connection on a specific port
ser = serial.Serial('/dev/ttyUSB0', 9600) 

x = 1 while True:
       print ser.readline() # Read the newest output 
       x += 1

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.