파이썬 GPIO API 비교 및 ​​대조


11

방금 Pi로 시작하여 파이썬에서 GPIO를 프로그래밍하고 싶습니다. 지금까지 5 개의 라이브러리를 살펴 보았습니다.

배우는 데 시간을 투자하기 전에 다음을 알고 싶습니다.

  • 둘 중 하나에 제한이있는 경우
  • 그들 사이에 어떤 중요한 객관적인 차이점이 있습니까?


당신은 정확하고 이것은 아마도 주관적인 것으로 닫힐 것입니다. 간단한 대답은 없습니다. gpiozero초보자를 위해 설계된 간단한 래퍼입니다. pigpio문서가 스케치적이고 숙련 된 프로그래머에게 더 적합하지만 가장 강력 할 것입니다. (나는 c더 쉬워서 와이어 링 파이를 사용 하지만 40 년 이상 경험이있다.)
Milliways

GPIO를 사용하는 모든 사람이 답변에 대한 경험을 공유하기를 원하지 않는 한,이 질문을 의견 기반으로 닫는 것이 좋습니다.
Dmitry Grigoryev

답변:


13

경고. 나는 pigpio의 저자이므로 편향 될 것입니다.

elinux 를 보면 맛을 볼 수 있습니다 .

RPi.GPIO는 처음이었으며 가장 인기가 있습니다. 가장 자주 예제를 볼 수 있습니다.

RPIO는 RPi.GPIO를 기반으로하며 (플러그인 대체 ​​용) 일부 기능을 추가합니다. 특히 LED 및 서보에 적합한 하드웨어 타이밍 PWM과 하드웨어 타이밍 펄스 체인을 추가합니다. RPi.GPIO는 소프트웨어 PWM을 제공하여 LED에 눈에 띄는 결함을 제공하며 서보 수명을 단축한다고합니다. RPIO github repo 에서 언급했듯이 :

이 저장소는 더 이상 적극적으로 유지 관리되지 않습니다!

배선 파이 Python은 많은 파이핑 C의 기능을 파이썬에 연결하는 포트입니다. 나는 그것을 사용하지 않았고 그것에 대해 많이 모른다.

pigpio Python은 pigpio의 C 기능을 Python에 이식 한 포트입니다. RPIO.GPIO와 마찬가지로 LED 및 서보에 하드웨어 타이밍 PWM과 하드웨어 타이밍 펄스 체인을 제공합니다. pigpio의 고유 한 기능 중 하나는 소스에서 GPIO 이벤트를 곱하여 모든 타이밍 목적을 위해 pigpio가 가장 정확하다는 것입니다. pigpio는 네트워크로 연결된 PC (Windows, Mac, Linux)에서 실행하여 원격 Pi를 제어 할 수 있습니다.

gpiozero는 위의 라이브러리 중 대부분을 단순화 한 래퍼입니다. 사실상 기본 구현 세부 사항에서 사용자를 최대한 제거하려고 시도하는 것은 프론트 엔드입니다. gpiozero (저는 생각합니다)는 재단이 권장하는 Python 시작점입니다. gpiozero는 pigpio가 백엔드 인 경우 네트워크 PC (Windows, Mac, Linux)에서 원격 Pi를 제어하기 위해 실행할 수 있습니다.

경고, 다른 10 명에게 물어보십시오. 그들은 10 가지의 다른 견해를 가질 것입니다. 모든 라이브러리는 용도가 있습니다. 그것들은 모두 도구입니다. 당신에게 가장 적합한 것은 어떤 종류의 노동자인지에 달려 있습니다.


0

RPi.GPIO를 권장하지만 초보자에게는 GPIO 0이 가장 좋지만 더 많은 제한이 있습니다. 그러나 나는 다른 사람들에 대해 알지 못하지만 그들에 대해 듣지 못했다고해서 다른 사람들만큼 좋지 않다는 것을 의미하지는 않습니다.


GPIO Zero는 RPi.GPIO의 모든 기능을 수행하지만 제한은 없습니다. pigpio에는 GPIO Zero에서 아직 구현되지 않은 고급 기능이 있지만 지원하는 기능에 대해 두 라이브러리 모두에 멋진 API를 제공합니다.
ben_nuttall
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.