Node.js 树莓派-GPIO简介


什么是GPIO?

GPIO 代表通用输入输出。

Raspberry Pi 有两排 GPIO 引脚,它们是 Raspberry Pi 和现实世界之间的连接。

输出引脚就像 Raspberry Pi 可以打开或关闭的开关(如打开/关闭 LED 灯)。但它也可以向另一个设备发送信号。

输入引脚就像可以从外界打开或关闭的开关(如开/关电灯开关)。但它也可以是来自传感器的数据,或来自其他设备的信号。

这意味着您可以与现实世界交互,并使用 Raspberry PI 及其 GPIO 引脚控制设备和电子设备!


仔细观察 GPIO 引脚

Raspberry Pi 3 with GPIO

这是 Raspberry Pi 3 的插图。

GPIO 引脚是 Raspberry Pi 右侧两排的红色小方块,在实际的 Raspberry Pi 上它们是小金属引脚。

Raspberry Pi 3 有 26 个 GPIO 引脚,其余引脚为电源、接地或"other"。

引脚布局与下表相对应。

树莓派 B+、2、3 和零

3V3 1 2 5V
通用输入输出口2 3 4 5V
通用输入输出口3 5 6 接地
通用输入输出口4 7 8 通用输入输出口14
接地 9 10 通用输入输出口15
通用输入输出口17 11 12 通用输入输出口18
通用输入输出口27 13 14 接地
通用输入输出口22 15 16 通用输入输出口23
3V3 17 18 通用输入输出口24
通用输入输出口10 19 20 接地
通用输入输出口9 21 22 通用输入输出口25
通用输入输出口11 23 24 通用输入输出口8
接地 25 26 通用输入输出口7
民主党全国委员会 27 28 民主党全国委员会
通用输入输出口5 29 30 接地
通用输入输出口6 31 32 通用输入输出口12
通用输入输出口13 33 34 接地
通用输入输出口19 35 36 通用输入输出口16
通用输入输出口26 37 38 通用输入输出口20
接地 39 40 通用输入输出口21

传奇

物理引脚号
电源+
地面
串口
I2C
SPI
通用输入输出接口
不连接


仔细观察面包板

面包板用于电子产品原型设计,它允许您无需焊接即可创建电路。它基本上是一块塑料板,带有网格的连接点(孔)。电路板内部有金属条以特定方式连接不同的连接点。

在下图中,我们用不同的颜色突出显示了一些部分。这是为了向您展示网格是如何连接的。

Breadboard with connections highlighted

面包板的不同部分:

  • 左右两侧各有 2 列连接点。每列中的所有连接点均已连接。
  • 电源总线- 以红色突出显示的列。通常用于将电源连接到面包板。由于整个列已连接,因此您可以将电源连接到列中的任何连接点。
  • 地面巴士- 以蓝色突出显示的列。通常用于将接地连接到面包板。由于整个列已连接,因此您可以将地连接到列中的任何连接点。
  • 连接的连接点行- 以绿色突出显示的行。每行的连接点都是连接的,但不是整行!左侧连接点已连接 (ABCDE),右侧连接点已连接 (FGHIJ)。
  • 在面包板的中心有一个沟槽,它将左右行分开。沟槽的宽度经过精心设计,可以容纳许多集成电路。

安装开关模块

要使用 Node.js 与 Raspberry Pi 上的 GPIO 进行交互,我们将使用名为 "onoff" 的模块。

使用 npm 安装 onoff 模块:

pi@w3demopi:~ $ npm install onoff

现在 onoff 应该已安装,我们可以与 Raspberry Pi 的 GPIO 进行交互。