如网站所示:https://luketopia.net/2013/07/28/raspberry-pi-gpio-via-the-shell/
因此,如果我们希望能够访问引脚4,我们将输入echo 4> / SYS /类/ GPIO /出口
和
为了指定我们想要将引脚用作输出,我们可以做出回显> / SYS /类/ GPIO / GPIO4 /方向
我是一个bash noob,我想通过终端访问RPi的GPIO引脚。我搜索谷歌,找出究竟是什么">"运算符,但我找到的只是字符串比较(我认为返回1或0)。这究竟是如何使我们达到销钉的?
答案 0 :(得分:3)
在我看来,这个问题有两个方面,
我将在下面单独回答:
>
>
是"重定向运算符"。它接受进程或函数的输出,并将其从终端重定向到其他位置。 echo
命令将输出写入终端。在这种特定情况下,来自echo 4
的终端输出(即值4
)被传递给/sys/class/gpio/export
。有关实际操作的详细信息,请参阅第2节。
>
的另一个常见用途,可能是一个更明确的例子,是将输出重定向到一个文件,例如:
$ echo "This text will go into a file." > "myfile.txt"
将创建文件myfile.txt
,并将我们回显的行放入其中,因此其内容将为"此文本将进入文件。"
它不仅仅是echo
,任何命令的控制台输出都可以被重定向,例如:
$ ls -la > "directoryListing.txt"
上面将列出所有文件的目录,并将结果输出到文本文件" directoryListing.txt"而不是控制台。
有关linux概念的更多详细信息,特别是重定向>
和管道|
等有用的概念,我建议您尝试以下链接:
通过阅读this RPi linux site上的说明,看起来/sys/class/gpio/export
点击了GPIO引脚的设备驱动程序并告诉它您希望使用提供的引脚(在本例中为引脚4)。您可以通过从控制台重定向来为此虚拟目录提供输入(参见上面的第1节)。
一旦你打电话给导出,你就告诉司机你希望使用哪个(或多个)引脚,它会创建一个类似于虚拟文件系统的东西来控制。
这是gpio4/direction
部分的来源。当您导出上面的gpio4
时,创建了pin 4
文件夹。在该目录中有许多(您可以想到的)虚拟文件,然后可以设置引脚配置。 direction
告诉驱动器引脚是输入引脚(在这种情况下是通过字in
)还是输出引脚(在这种情况下我们将字{{1}传递给它) })。
同样,我们使用控制台重定向操作符out
设置它,我们可以像普通文件一样读取它,以获取指定的值,如下所示:
>
要读取/写入引脚的值(即是否设置为打开或关闭),只需遵循与$ cat /sys/class/gpio/gpio4/direction
文件相同的想法:
value
将引脚4的值设置为$ echo 1 > /sys/class/gpio/gpio4/value
,表示打开。等效地,可以通过执行
1
最后,如果您已将引脚的方向指定为输入,请执行以下操作:
$ echo 0 > /sys/class/gpio/gpio4/value
你可以这样读取这个值:
$ echo in > /sys/class/gpio/gpio4/direction
如果您想将其存储在变量中,您可能会执行以下操作:
$ cat /sys/class/gpio/gpio4/value
请注意这些示例未经测试,我的Linux-fu有点生疏,因为我现在很遗憾地在Windows世界中工作。