Node.js 树莓派 - GPIO 简介
什么是 GPIO?
GPIO 代表通用输入输出。
树莓派 有两排 GPIO 引脚,它们是树莓派 和现实世界之间的连接。
输出引脚就像开关,树莓派 可以打开或关闭它们(就像打开/关闭 LED 灯一样)。但它也可以向其他设备发送信号。
输入引脚就像开关,您可以从外部世界打开或关闭它们(就像一个开关灯开关一样)。但它也可以是来自传感器的 数据或来自其他设备的信号。
这意味着您可以与现实世界互动,并使用树莓派 和其 GPIO 引脚控制设备和电子产品!
仔细看看 GPIO 引脚
这是一幅树莓派 3 的插图。
GPIO 引脚是树莓派 右侧两排的小红色方块,在实际的树莓派 上它们是小的金属引脚。
树莓派 3 有 26 个 GPIO 引脚,其余引脚是电源、接地或“其他”。
引脚位置对应于下面的表格。
树莓派 B+、2、3 和 Zero
3V3 | 1 | 2 | 5V |
GPIO 2 | 3 | 4 | 5V |
GPIO 3 | 5 | 6 | GND |
GPIO 4 | 7 | 8 | GPIO 14 |
GND | 9 | 10 | GPIO 15 |
GPIO 17 | 11 | 12 | GPIO 18 |
GPIO 27 | 13 | 14 | GND |
GPIO 22 | 15 | 16 | GPIO 23 |
3V3 | 17 | 18 | GPIO 24 |
GPIO 10 | 19 | 20 | GND |
GPIO 9 | 21 | 22 | GPIO 25 |
GPIO 11 | 23 | 24 | GPIO 8 |
GND | 25 | 26 | GPIO 7 |
DNC | 27 | 28 | DNC |
GPIO 5 | 29 | 30 | GND |
GPIO 6 | 31 | 32 | GPIO 12 |
GPIO 13 | 33 | 34 | GND |
GPIO 19 | 35 | 36 | GPIO 16 |
GPIO 26 | 37 | 38 | GPIO 20 |
GND | 39 | 40 | GPIO 21 |
图例
物理引脚编号 |
电源 + |
接地 |
UART |
I2C |
SPI |
GPIO |
不要连接 |
仔细看看面包板
面包板 用于电子原型设计,它允许您在不焊接的情况下创建电路。它基本上是一个塑料板,带有连接点(孔)网格。在电路板内部,有金属条以特定方式连接不同的连接点。
在下图中,我们用不同的颜色突出显示了一些部分。这样做是为了向您展示网格是如何连接的。
面包板 的不同部分
- 在左侧和右侧,有两列连接点。每一列的所有连接点都连接在一起。
- 电源总线 - 用红色突出显示的列。它们通常用于将电源连接到面包板。由于整列都连接在一起,因此您可以将电源连接到列中的任何连接点。
- 接地总线 - 用蓝色突出显示的列。它们通常用于将接地连接到面包板。由于整列都连接在一起,因此您可以将接地连接到列中的任何连接点。
- 连接的连接点行 - 用绿色突出显示的行。每一行的连接点都连接在一起,但不是整行!左侧的连接点连接在一起 (A-B-C-D-E),右侧的连接点连接在一起 (F-G-H-I-J)。
- 在面包板 的中心有一个沟槽,它将左侧和右侧的行隔开。沟槽的宽度是为许多集成电路跨越它而设计的。
安装 onoff 模块
为了使用 Node.js 与树莓派 上的 GPIO 进行交互,我们将使用一个名为“onoff”的模块。
使用 npm 安装 onoff 模块
pi@w3demopi:~ $ npm install onoff
现在 onoff 应该已经安装,我们可以与树莓派 的 GPIO 交互了。