我只是从Pi开始,想用Python编写GPIO。到目前为止,我遇到了五个库:
在我花时间学习一个之前,我想知道:
- 一个或另一个是否有任何限制。
- 它们之间有什么重大的客观差异。
gpiozero
是一个简单的包装,专为初学者设计。pigpio
尽管文档是粗略的,并且可能更适合经验丰富的程序员,但它可能是功能最强大的。(我使用wireringpi c
是因为它比较容易,但是我有40多年的c经验。)
我只是从Pi开始,想用Python编写GPIO。到目前为止,我遇到了五个库:
在我花时间学习一个之前,我想知道:
gpiozero
是一个简单的包装,专为初学者设计。pigpio
尽管文档是粗略的,并且可能更适合经验丰富的程序员,但它可能是功能最强大的。(我使用wireringpi c
是因为它比较容易,但是我有40多年的c经验。)
Answers:
警告。我是Pigpio的作者,因此会有偏见。
RPi.GPIO是第一个,也是最受欢迎的。这将是您最常看到的示例。
RPIO建立在RPi.GPIO(它是替代插件)的基础上,并增加了一些功能。特别是它增加了适用于LED和伺服器的硬件定时PWM,以及硬件定时脉冲链。RPi.GPIO仅提供软件PWM,该软件在LED中产生可见的毛刺,据说会缩短伺服器的寿命。如RPIO github repo中所述:
该存储库不再积极维护!
connectionPi Python是许多connectionPi的C功能与Python的移植。我没有用过,对此也不是很了解。
Pigpio Python是Pigpio的C功能到Python的移植。像RPIO.GPIO一样,它为LED和伺服器提供硬件定时PWM,以及硬件定时脉冲链。Pigpio的一个独特功能是它在源处对GPIO事件进行计时,因此对于任何计时目的,Piggio可能都是最准确的。Pigpio可以在联网的PC(Windows,Mac,Linux)上运行以控制远程Pi。
gpiozero是几乎所有上述库的简化包装。实际上,它是一个前端,试图从基础实现细节中尽可能多地除去用户。gpiozero(我认为)是基金会推荐的Python起点。如果Pigpio是后端,则gpiozero可以(我认为)可以在联网的PC(Windows,Mac,Linux)上运行以控制远程Pi。
警告,请问10个人,他们将有10种不同的观点。所有的库都有其用途。它们都是工具。哪种最适合您取决于您是哪种工人。
我会推荐RPi.GPIO,但是GPIO零对于初学者来说是最好的,但有更多的限制。但是,我对其他人一无所知,但是如果我没有听说过其他人,那并不意味着那里的人不如其他人。