Node.js Raspberry Pi - GPIO Інтро
Що таке GPIO?
GPIO розшифровується як General Purpose Input Output / вхідний вихід загального призначення.
Raspberry Pi має два ряди контактів GPIO, які з’єднують Raspberry Pi з реальним світом.
Вихідні контакти схожі на перемикачі, які Raspberry Pi може вмикати чи вимикати (наприклад, увімкнути чи вимкнути світлодіод). Але він також може надсилати сигнал на інший пристрій.
Вхідні штифти схожі на перемикачі, які можна вмикати чи вимикати із зовнішнього світу (наприклад, вимикач світла). Але це також можуть бути дані від датчика або сигнал від іншого пристрою.
Це означає, що ви можете взаємодіяти з реальним світом і керувати пристроями та електронікою за допомогою Raspberry PI та його контактів GPIO!
Ближчий погляд на контакти GPIO
Це ілюстрація Raspberry Pi 3.
Контакти GPIO — це маленькі червоні квадратики в два ряди з правого боку Raspberry Pi, на Raspberry Pi — це маленькі металеві штифти.
Raspberry Pi 3 має 26 контактів GPIO, решта контактів є живленням, заземленням або іншими.
Розташування шпильок відповідає наведеній нижче таблиці.
Raspberry Pi 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 |
Легенда
Physical Pin Number |
Power + |
Ground |
UART |
I2C |
SPI |
GPIO |
Do Not Connect |
Уважний погляд на макетну плату
Макетна плата використовується для створення прототипів електроніки, вона дозволяє створювати схеми без пайки. В основному це пластикова дошка з сіткою точок з’єднання (отворів). Усередині плати є металеві смуги, які з’єднують різні точки з’єднання певним чином.
На ілюстрації нижче ми виділили деякі розділи різними кольорами. Це, щоб показати вам, як підключена мережа.
Різні розділи макета:
- Ліворуч і праворуч є 2 стовпчики зв’язувальних точок. Усі зв’язувальні точки в кожному з цих стовпців з’єднані.
- Шина живлення – стовпці, виділені червоним. Вони зазвичай використовуються для підключення живлення до макетної плати. Оскільки вся колона під’єднана, ви можете під’єднати живлення до будь-якої зі з’єднувальних точок колони.
- Наземна шина – стовпці, виділені синім. Зазвичай використовуються для підключення заземлення до макетної плати. Оскільки вся колона з’єднана, ви можете під’єднати землю до будь-якої точки зв’язку в колоні.
- Рядки з’єднаних зв’язувальних точок – рядки, виділені зеленим. З’єднуються точки зв’язку кожного з цих рядів, але не всього ряду! Ліві бічні зв’язувальні точки з’єднані (A-B-C-D-E), а праві – з’єднані (F-G-H-I-J).
Встановіть модуль onoff
Для взаємодії з GPIO на Raspberry Pi за допомогою Node.js ми будемо використовувати модуль під назвою "onoff".
Установіть модуль onoff за допомогою npm:
pi@w3demopi:~ $ npm install onoff
Тепер має бути встановлено onoff, і ми зможемо взаємодіяти з GPIO Raspberry Pi.