#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项目非常有用
评论
不是完整的列表,但是这里有一些-尽管我认为这个问题将结束,因为列表类型的问题在堆栈站点上通常无法很好地工作,因为会有无休止的答案源