哪些库可用于与GPIO接口?

评论

不是完整的列表,但是这里有一些-尽管我认为这个问题将结束,因为列表类型的问题在堆栈站点上通常无法很好地工作,因为会有无休止的答案源

#1 楼

我将解释我认为您可能会问的更广泛的问题,即“如何从用户区控制GPIO?”

使用GPIO的一种非常不错的入门方法是使用/sys文件系统。您可以从命令行完成所有操作。例如,

cd sys/class/gpio
echo 0 > export
cd gpio0
echo high > direction


更多文档位于linux / Documentation / gpio.txt中。

评论


这适用于所有操作系统吗?

– Alex L
2012年6月13日7:12

这是特定于linux的。

– blueshift
2012年6月13日在9:03

是否有使用此方法的教程?我只看过库(主要是python库)。

– Shane Hudson
2012年6月13日13:56

根据OP的要求,这不一定是一个库。

–安德鲁·拉尔森(Andrew Larsson)
2012年6月18日于17:04

该问题的其他答案要好得多-该答案不能回答有关库的问题。

– recantha
2013年1月2日,13:29

#2 楼

我在这里找到了一个。我还没有机会进行测试,因为我的Pi还没到。但是,它确实可以确保。这里甚至有一个论坛线程,声称有希望获得回报。如果您想要使用标准库的基础C示例,请参见eLinux。

评论


您对这个图书馆有什么经验呢?

– Peter Mortensen
15年8月9日在9:53

#3 楼

RPi.GPIO是用于GPIO控制的Python软件包。

本教程视频显示了该软件包的基本用法。

#4 楼

普通用户(不是root用户)可以使用quick2wire:

Quick2Wire Python API
一个Python库,用于控制连接到Raspberry Pi头引脚的硬件,而无需以root用户身份运行。 br />

评论


尽管此链接可以回答问题,但最好在此处包括答案的基本部分,并提供链接以供参考。如果链接的页面发生更改,仅链接的答案可能会失效。

– Mark Booth
13年2月7日,0:59

@MarkBooth:“答案的必要部分”是“可以由普通用户使用”,这与其他答案不同。

– dugres
2013年2月7日14:51



#5 楼

我使用Wiring PI,它确实很棒。我将其与C语言一起使用,到目前为止没有任何问题。它易于理解且易于处理。

#6 楼

我意识到我正在回答一个已经存在多年的问题,但是还没有提到一个问题:gpiozero。
https://gpiozero.readthedocs.io/en/stable/

它应该已经安装在新版本的Raspbian中。您还可以将其安装在其他版本的Linux上。
https://gpiozero.readthedocs.io/en/stable/installing.html

#7 楼

Pi4J允许您使用Java控制GPIO引脚。
我不确定它如何工作,但http://pi4j.com/
上有解释

#8 楼

如http://elinux.org所示,以任何语言控制GPIO端口确实非常简单,因此我相信您实际上不需要直接控制的框架。

您需要知道您希望框架具有哪些其他功能,例如


通过浏览器进行远程控制
漂亮的浏览器用户界面或独立程序
基于时间的自动控制(cron作业)

我最终为自己编写了一个框架:通过HTTP和cron作业控制GPIO端口,这非常适合我的需求。我想要一些用于家庭自动化的东西。因此,我需要cron作业和JSON Web界面才能在iPhone上运行本机应用程序。因此,我没有编写浏览器UI。我相信这对于警报系统也是有益的。

我还没有找到(完整的)框架列表。在raspberrypi.org论坛上有提及。

#9 楼

对于熟悉Node.js或JavaScript的人来说,Johny-Five非常易于使用。
请参见http://johnny-five.io/examples/raspi-io/

 npm install johnny-five raspi-io
 


 var five = require("johnny-five");
var Raspi = require("raspi-io").RaspiIO;
var board = new five.Board({
  io: new Raspi()
});

board.on("ready", function() {
  var led = new five.Led("P1-13");
  led.blink();
});
 


对于通过Web服务器控制GPIO的Pi项目非常有用