Python GPIO开发¶
Copyright © Quectel Wireless Solutions Co., Ltd. 2026. All rights reserved.
本文档说明 Quectel Pi M1/L1 上使用 Python 访问 GPIO 的基本流程。
环境确认¶
gpiodetect
ls -l /dev/gpiochip*
gpioinfo
python3 --version
设备节点 |
说明 |
|---|---|
/dev/gpiochip0 |
当前验证为主 GPIO 控制器,标签 400000.pinctrl |
/dev/gpiochip1 |
当前验证为 PMIC 相关 GPIO 控制器 |
/dev/gpiochip2 |
当前验证为 LPI 相关 GPIO 控制器 |
安装依赖¶
建议先使用虚拟环境,再安装 Python GPIO 库。
sudo apt update
sudo apt install -y gpiod python3-venv python3-pip
python3 -m venv .venv
source .venv/bin/activate
pip install python-periphery
读取示例¶
示例使用 /dev/gpiochip0 的 line 36。实际开发前应根据 M1 引脚定义确认物理引脚与 line offset 的对应关系。
from periphery import GPIO
chip = "/dev/gpiochip0"
line = 36
gpio = GPIO(chip, line, "in")
try:
print(gpio.read())
finally:
gpio.close()
输出示例¶
from periphery import GPIO
import time
chip = "/dev/gpiochip0"
line = 36
gpio = GPIO(chip, line, "out")
try:
gpio.write(True)
time.sleep(1)
gpio.write(False)
finally:
gpio.close()
注意事项¶
GPIO line offset 不等于物理排针编号,接线前必须确认 M1 引脚定义。
使用
gpioinfo查看线路是否已被系统占用,带[used]的线路不建议直接抢占。当前板端 gpiod 工具为 libgpiod v1.6.3,命令行验证请参考 GPIOD 使用说明。