本文分享的是Purple Pi OH開源主板搭載Debian/Ubuntu系統如何使用python控制gpio。
Purple Pi OH作為一款兼容樹莓派的開源主板,采用瑞芯微RK3566 (Cortex-A55) 四核64位超強CPU,主頻最高達1.8 GHz,算力高達1Tops,支持INT8/INT16,支持TensorFlow/MXNet/PyTorch/Caffe框架,多路視頻輸出和輸入,支持4K、H.265/H.264視頻解碼,接口豐富。
玩法豐富,支持OpenHarmony、Ubuntu、Debian、Android等多種系統,提供豐富開源資料。
安裝python gpio庫
apt-getupdate
apt -yinstall python3-libgpiod
GPIO輸出
import time
import gpiod
//B7=15
LINE_OFFSET =15
chip0 = gpiod.Chip("0", gpiod.Chip.OPEN_BY_NUMBER)
gpio0_b0 = chip0.get_line(LINE_OFFSET)
gpio0_b0.request(consumer="gpio", type=gpiod.LINE_REQ_DIR_OUT, default_vals=[0])
print(gpio0_b0.consumer())
try:
whileTrue:
gpio0_b0.set_value(1)
time.sleep(0.5)
gpio0_b0.set_value(0)
time.sleep(0.5)
finally:
gpio0_b0.set_value(1)
gpio0_b0.release()
我們通過萬用表檢測該引腳的電壓是否會在高低電壓中進行反復橫跳
GPIO15對應的位置在11
GPIO輸入
import time
import gpiod
LINE_OFFSET =23
chip0 = gpiod.Chip("0",gpiod.Chip.OPEN_BY_NUMBER)
gpio0_b7 = chip0.get_line(LINE_OFFSET)
gpio0_b7.request(consumer="gpio", type=gpiod.LINE_REQ_DIR_IN, default_vals=[0])
try:
whileTrue:
value = gpio0_b7.get_value()
time.sleep(0.5)
print("gpio status: ",value)
finally:
gpio0_b7.release()
chip.close
給此GPIO也就是23腳連接3.3V的電平,終端輸出1;將此GPIO連接到GND,終端輸出0。
雙排針Pin功能定義
序號 | 定義 | 電平 | 說明 |
1 | VDD_3V3 | 3.3V | 供電輸出3.3V |
2 | VDD_5V | 5V | 可做5V輸入供電,也可輸出5V |
3 | I2C_SDA | 3.3V | I2C數據信號 |
4 | VDD_5V | 5V | 可做5V輸入供電,也可輸出5V |
5 | I2C_SCL | 3.3V | I2C時鐘信號 |
6 | GND | GND | 電源地 |
7 | GPIO_7 | 3.3V | gpio編號為23 |
8 | UART_TXD | 3.3V | /dev/ttyS0 發送 |
9 | GND | GND | 電源地 |
10 | UART_RXD | 3.3V | /dev/ttyS0 接收 |
11 | GPIO_0 | 3.3V | gpio編號為15 |
12 | GPIO_1 | 3.3V | gpio編號為22 |
13 | GPIO_2 | 3.3V | gpio編號為20 |
14 | GND | GND | 電源地 |
15 | GPIO_3 | 3.3V | gpio編號為21 |
16 | GPIO_4 | 3.3V | gpio編號為124 |
17 | VDD_3V3 | 3.3V | 供電輸出3.3V |
18 | GPIO_5 | 3.3V | gpio編號為125 |
19 | SPI_MOSI | 3.3V | SPI數據信號 |
20 | GND | GND | 電源地 |
21 | SPI_MISO | 3.3V | SPI數據信號 |
22 | GPIO_6 | 3.3V | gpio編號為130 |
23 | SPI_SCLK | 3.3V | SPI時鐘信號 |
24 | SPI_CS0 | 3.3V | SPI片選信號0 |
25 | GND | GND | 電源地 |
26 | SPI_CS1 | 3.3V | SPI片選信號1 |
27 | GPIO_30 | 3.3V | gpio編號為138 |
28 | GPIO_31 | 3.3V | gpio編號為139 |
29 | GPIO_21 | 3.3V | gpio編號為132 |
30 | GND | GND | 電源地 |
31 | GPIO_22 | 3.3V | gpio編號為121 |
32 | GPIO_26 | 3.3V | gpio編號為120 |
33 | GPIO_23 | 3.3V | gpio編號為122 |
34 | GND | GND | 電源地 |
35 | GPIO_24 | 3.3V | gpio編號為127 |
36 | GPIO_27 | 3.3V | gpio編號為123 |
37 | GPIO_25 | 3.3V | gpio編號為133 |
38 | GPIO_28 | 3.3V | gpio編號為126 |
39 | GND | GND | 電源地 |
40 | GPIO_29 | 3.3V | gpio編號為131 |
-
主板
+關注
關注
53文章
1842瀏覽量
70526 -
開源
+關注
關注
3文章
3256瀏覽量
42420 -
GPIO
+關注
關注
16文章
1196瀏覽量
51934 -
python
+關注
關注
56文章
4783瀏覽量
84473 -
Purple
+關注
關注
0文章
8瀏覽量
236
發布評論請先 登錄
相關推薦
評論