华为计算微信公众号
昇腾AI开发者公众号
华为计算微博
华为计算今日头条
报错信息:
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文件,内容如下:
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 编辑
我要发帖子
报错信息:
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操作文件中添加引入这个文件的代码:
并加载GPIO映射配置