本文分享的是Purple Pi OH開(kāi)源主板搭載Debian/Ubuntu系統(tǒng)如何使用python控制gpio。
Purple Pi OH作為一款兼容樹(shù)莓派的開(kāi)源主板,采用瑞芯微RK3566 (Cortex-A55) 四核64位超強(qiáng)CPU,主頻最高達(dá)1.8 GHz,算力高達(dá)1Tops,支持INT8/INT16,支持TensorFlow/MXNet/PyTorch/Caffe框架,多路視頻輸出和輸入,支持4K、H.265/H.264視頻解碼,接口豐富。
玩法豐富,支持OpenHarmony、Ubuntu、Debian、Android等多種系統(tǒng),提供豐富開(kāi)源資料。
產(chǎn)品規(guī)格書(shū):Purple Pi OH 產(chǎn)品手冊(cè)


安裝python gpio庫(kù)
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()
我們通過(guò)萬(wàn)用表檢測(cè)該引腳的電壓是否會(huì)在高低電壓中進(jìn)行反復(fù)橫跳
GPIO15對(duì)應(yīng)的位置在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功能定義
| 序號(hào) | 定義 | 電平 | 說(shuō)明 |
| 1 | VDD_3V3 | 3.3V | 供電輸出3.3V |
| 2 | VDD_5V | 5V | 可做5V輸入供電,也可輸出5V |
| 3 | I2C_SDA | 3.3V | I2C數(shù)據(jù)信號(hào) |
| 4 | VDD_5V | 5V | 可做5V輸入供電,也可輸出5V |
| 5 | I2C_SCL | 3.3V | I2C時(shí)鐘信號(hào) |
| 6 | GND | GND | 電源地 |
| 7 | GPIO_7 | 3.3V | gpio編號(hào)為23 |
| 8 | UART_TXD | 3.3V | /dev/ttyS0 發(fā)送 |
| 9 | GND | GND | 電源地 |
| 10 | UART_RXD | 3.3V | /dev/ttyS0 接收 |
| 11 | GPIO_0 | 3.3V | gpio編號(hào)為15 |
| 12 | GPIO_1 | 3.3V | gpio編號(hào)為22 |
| 13 | GPIO_2 | 3.3V | gpio編號(hào)為20 |
| 14 | GND | GND | 電源地 |
| 15 | GPIO_3 | 3.3V | gpio編號(hào)為21 |
| 16 | GPIO_4 | 3.3V | gpio編號(hào)為124 |
| 17 | VDD_3V3 | 3.3V | 供電輸出3.3V |
| 18 | GPIO_5 | 3.3V | gpio編號(hào)為125 |
| 19 | SPI_MOSI | 3.3V | SPI數(shù)據(jù)信號(hào) |
| 20 | GND | GND | 電源地 |
| 21 | SPI_MISO | 3.3V | SPI數(shù)據(jù)信號(hào) |
| 22 | GPIO_6 | 3.3V | gpio編號(hào)為130 |
| 23 | SPI_SCLK | 3.3V | SPI時(shí)鐘信號(hào) |
| 24 | SPI_CS0 | 3.3V | SPI片選信號(hào)0 |
| 25 | GND | GND | 電源地 |
| 26 | SPI_CS1 | 3.3V | SPI片選信號(hào)1 |
| 27 | GPIO_30 | 3.3V | gpio編號(hào)為138 |
| 28 | GPIO_31 | 3.3V | gpio編號(hào)為139 |
| 29 | GPIO_21 | 3.3V | gpio編號(hào)為132 |
| 30 | GND | GND | 電源地 |
| 31 | GPIO_22 | 3.3V | gpio編號(hào)為121 |
| 32 | GPIO_26 | 3.3V | gpio編號(hào)為120 |
| 33 | GPIO_23 | 3.3V | gpio編號(hào)為122 |
| 34 | GND | GND | 電源地 |
| 35 | GPIO_24 | 3.3V | gpio編號(hào)為127 |
| 36 | GPIO_27 | 3.3V | gpio編號(hào)為123 |
| 37 | GPIO_25 | 3.3V | gpio編號(hào)為133 |
| 38 | GPIO_28 | 3.3V | gpio編號(hào)為126 |
| 39 | GND | GND | 電源地 |
| 40 | GPIO_29 | 3.3V | gpio編號(hào)為131 |
-
主板
+關(guān)注
關(guān)注
54文章
2361瀏覽量
76880 -
開(kāi)源
+關(guān)注
關(guān)注
3文章
4209瀏覽量
46171 -
GPIO
+關(guān)注
關(guān)注
16文章
1329瀏覽量
56235 -
python
+關(guān)注
關(guān)注
57文章
4877瀏覽量
90072 -
Purple
+關(guān)注
關(guān)注
0文章
8瀏覽量
396
發(fā)布評(píng)論請(qǐng)先 登錄
無(wú)法運(yùn)行 Ubuntu 23.04怎么解決?
安裝 Python VisionFive_GPIO失敗是哪里出了問(wèn)題?
安裝官方 Ubuntu 23.10 映像時(shí)報(bào)錯(cuò),求解決
GPIO 引腳不工作是為什么?
termux如何搭建python游戲
技能+1!如何在樹(shù)莓派上使用C++控制GPIO?
嘗鮮開(kāi)源鴻蒙6.0?試試明星開(kāi)發(fā)板Purple Pi OH
【BPI-CanMV-K230D-Zero開(kāi)發(fā)板體驗(yàn)】+燈效控制與Python編程
RISC-V生態(tài)又一里程碑!Debian官宣支持RV64
Debian和Ubuntu哪個(gè)好一些?
請(qǐng)問(wèn)什么是“循環(huán)”PI 控制器?
鴻蒙北向開(kāi)發(fā)OpenHarmony5.0 DevEco Studio開(kāi)發(fā)工具安裝與配置
僅僅使用代碼,就能點(diǎn)亮樹(shù)莓派的 GPIO 世界
我只會(huì)Java,憑什么不能玩轉(zhuǎn)樹(shù)莓派?GPIO操控竟比C++更優(yōu)雅~
Purple Pi OH(Debian/Ubuntu)使用python控制gpio
評(píng)論