一.前期准备
jetson-gpio 是一个可以使用Jetson 系列 GPIOs的Python库, Github地址为:
(https://github.com/NVIDIA/jetson-gpio)
Jetson TX1, TX2, AGX Xavier, 和 Nano开发板上都有一个40 Pin的接口, 类似于树莓派, 可以方便使用树莓派众多的扩展板卡. 这些GPIO的控制如读, 写, 中断, PWM等都可以通过jetson-gpio库来进行。
引脚分布如图所示:
二.开始配置
1.启用Jetson-GPIO
Jetson系统目录/opt/nvidia/jetson-gpio已经默认下好了这个库, 直接配置一下:
1.cd /opt/nvidia/jetson-gpio
2.sudo python3 setup.py install
2.也可以可以直接从github下载:
git clone https://github.com/NVIDIA/jetson-gpio.git
cd jetson-gpio/
sudo python3 setup.py install
3.测试一下:
sudo python3
>>> import Jetson.GPIO as GPIO
>>> GPIO.VERSION
>>> GPIO.RPI_INFO
sudo python3
Python 3.6.9 (default, Oct 8 2020, 12:12:24)
[GCC 8.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import Jetson.GPIO as GPIO
>>> GPIO.VERSION
'2.0.12'
>>> GPIO.RFI_INFO
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: module 'Jetson.GPIO' has no attribute 'RFI_INFO'
>>>
三.GPIO代码测试
让40引脚每1s翻转一次。可以串2KΩ电阻的LED小灯之类的连接39(GND)和40引脚, 运行程序:小灯每隔1s翻转一次。
新建一个demo.py文件
import Jetson.GPIO as GPIO
import sys
import time
led_pin = 40
def main():
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
GPIO.setup(led_pin, GPIO.OUT)
try:
while True:
GPIO.output(led_pin, GPIO.HIGH)
time.sleep(0.1)
GPIO.output(led_pin, GPIO.LOW)
time.sleep(0.1)
print("运行正常")
except :
print("ERROR")
finally:
GPIO.cleanup(led_pin)
if __name__ == '__main__':
main()
运行结果如下:
hcb@hcb-desktop:~$ sudo python3 VSCODEPY/demo.py
运行正常
运行正常
运行正常
运行正常
运行正常
运行正常
运行正常
欢迎大家关注,如有侵权请告知删除,谢谢!