Purple Pi OH(Debian/Ubuntu)使用python控制gpio

本文分享的是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-get update
apt -y install 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:
    while True:
        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:
    while True:
        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 |

相关推荐
微学AI1 小时前
内网穿透的应用-服务器日志出现异常怎么办?Python监控、钉钉告警与远程处理教程
服务器·python·钉钉
_Jimmy_9 小时前
Agent 溯源精度提升方案
人工智能·python·langchain
晚风吹长发10 小时前
Docker基础——Docker Network(网络详解)
linux·运维·网络·ubuntu·docker·容器
SamChan9010 小时前
在Web应用中集成PDF多语言翻译功能:PDFTranslator API实战指南
前端·python·ai·pdf·yapi·机器翻译
天天进步201511 小时前
Python全栈项目--智能办公自动化系统
开发语言·python
颜酱11 小时前
09 | 重构项目结构
人工智能·python·langchain
kisloy12 小时前
【爬虫入门第8讲】Python爬虫反爬入门
开发语言·爬虫·python
Sisphusssss13 小时前
香橙派5plus GPIO
linux·python·ubuntu
颜酱13 小时前
08 | 把维度值同步到 Elasticsearch(生成阶段)
人工智能·python·langchain
久久学姐14 小时前
基础转码学 AI:Java+Python 双语言入门,3 个月可落地实战项目
java·python·ai·转码·实战项目