Estou apenas começando com o Pi e quero programar o GPIO em Python. Até agora, encontrei cinco bibliotecas:
Antes de dedicar tempo para aprender um, quero saber:
- Se houver alguma limitação em um ou outro.
- Que diferenças objetivas significativas existem entre elas.
gpiozero
é um invólucro simples, projetado para iniciantes.pigpio
é provavelmente o mais poderoso, embora a documentação seja superficial e mais adequada para um programador experiente. (Eu uso wiringpic
porque é mais fácil, mas eu tenho 40 anos c experiência.)Respostas:
Aviso. Eu sou o autor de pigpio, por isso será tendencioso.
Você pode experimentar o elinux .
O RPi.GPIO foi o primeiro e é o mais popular. Será o exemplo para o qual você mais frequentemente vê exemplos.
O RPIO se baseia no RPi.GPIO (deve ser um substituto de plug-in) e adiciona alguns recursos. Em particular, ele adiciona PWM com tempo de hardware adequado para LEDs e servos e cadeias de pulso com tempo de hardware. O RPi.GPIO fornece apenas software PWM, o que fornece falhas visíveis nos LEDs e reduz a vida útil dos servos. Como mencionado no repositório do Github do RPIO :
cabeamentoPi Python é uma porta de grande parte da funcionalidade C do cabeamentoPi para Python. Eu não o usei e não sei muito sobre isso.
pigpio Python é uma porta da funcionalidade C do pigpio para Python. Como o RPIO.GPIO, ele fornece PWM com sincronização de hardware para LEDs e servos e cadeias de pulso com sincronização de hardware. Um recurso exclusivo do pigpio é que ele gera eventos GPIO na fonte, portanto, para qualquer finalidade de tempo, é provável que o pigpio seja o mais preciso. O pigpio pode ser executado em um PC em rede (Windows, Mac, Linux) para controlar um Pi remoto.
O gpiozero é um wrapper simplificador para praticamente qualquer uma das bibliotecas acima. Na verdade, é um front end que tenta remover o usuário o máximo possível dos detalhes subjacentes da implementação. O gpiozero (eu acho) é o ponto de partida recomendado pela Fundação em Python. O gpiozero pode (eu acho) rodar em um PC em rede (Windows, Mac, Linux) para controlar um Pi remoto se pigpio for o back-end.
Atenção, pergunte a outras 10 pessoas e elas terão 10 visualizações diferentes. Todas as bibliotecas têm seus usos. Eles são todas as ferramentas. O que é melhor para você depende de que tipo de trabalhador você é.
fonte
Eu recomendaria o RPi.GPIO, mas o GPIO zero é melhor para iniciantes, mas tem mais limitações. No entanto, eu não tenho conhecimento dos outros, mas se eu não os ouvi, isso não significa que não seja tão bom quanto o resto.
fonte