Orange Pi Ai Pro GPIO口端口映射表
收藏回复举报
Orange Pi Ai Pro GPIO口端口映射表
新人帖
发表于2025-04-26 16:42:36
0 查看

报错信息:

Traceback (most recent call last):
  File "/root/thuei-1/sdk-python/HiwonderSDK/BuzzerControlDemo.py", line 17, in <module>
    Board.setBuzzer(0) # 关闭
  File "/root/thuei-1/sdk-python/HiwonderSDK/Board.py", line 219, in setBuzzer
    GPIO.setup(31, GPIO.IN)
  File "/usr/local/miniconda3/lib/python3.9/site-packages/OPi/GPIO.py", line 470, in setup
    pin = get_gpio_pin(_mode, channel)
  File "/usr/local/miniconda3/lib/python3.9/site-packages/OPi/pin_mappings.py", line 80, in get_gpio_pin
    return _pin_map[mode][channel]
KeyError: 31

解决方法: 这是因为OPi.GPIO库的pin_mappings.py文件中没有31这个引脚的映射(库比较老,没有适配我们用的orange pi pro),所以需要手动添加引脚映射文件。 在Board.py文件所在的目录下新建一个ai_pro_pin_map.py文件,内容如下:

"""
Alternative pin mappings for Orange PI Ai Pro
"""
# Orange Pi Ai Pro physical board pin to GPIO pin
_BOARD = {
    3: 76,    # SDA7
    5: 75,    # SCL7
    7: 226,   # GPIO7_02
    8: 14,    # UTXD0
    10: 15,   # URXD0
    11: 82,   # GPIO2_18
    12: 227,  # GPIO7_03
    13: 38,   # GPIO1_06
    15: 79,   # GPIO2_15
    16: 80,   # GPIO2_16
    18: 25,   # GPIO0_25
    19: 91,   # SPI0_SD0
    21: 92,   # SPI0_SDI
    22: 2,    # GPIO0_02
    23: 89,   # SPI0_CLK
    24: 90,   # SPI0_CS
    26: 83,   # GPIO2_19
    29: 231,  # URXD7
    31: 84,   # GPIO2_20
    32: 33,   # PWM3
    33: 128,  # GPIO4_00
    35: 228,  # GPIO7_04
    36: 81,   # GPIO2_17
    37: 3,    # GPIO0_03
    38: 230,  # GPIO7_06
    40: 229,  # GPIO7_05
}

# No reason for BCM mapping, keeping it for compatibility
BCM = _BOARD

然后在对应的GPIO操作文件中添加引入这个文件的代码:

from ai_pro_pin_map import _BOARD

并加载GPIO映射配置

GPI0.setmode(_BOARD)

本帖最后由 匿名用户 于 2025/04/26 16:43:01 编辑

我要发帖子