Jetson Nano Developer Kit扩展了40PIN的GPIO接口,兼容树莓派的40PIN接口。 NVIDIA官方提供了了JetsonGPIO库(Python)方便用户来控制GPIO,Jetson.GPIO库运用了跟RPi.GPIO库一样的API,因此对于用惯了树莓派的用户来说应该不难上手。本章就如何使用jetson.gpio库操作GPIO做一下说明 关于该函数库的具体说明,你可以在https://pypi.org/project/Jetson.GPIO/中了解 环境配置和安装库 安装PIP工具: sudo apt-get update sudo apt-get install python-pip sudo apt-get install python3-pip 下载安装Jetson.GPIO库: sudo pip install Jetson.GPIO sudo pip3 install Jetson.GPIO 设置用户权限: sudo groupadd -f -r gpio sudo usermod -a -G gpio your_user_name 注意:这里的your_user_name需要改成你自己的账号名,不然库无法正常使用 将99-gpio.rules文件复制到rules.d目录
重载rules规则来让文件生效 sudo udevadm control --reload-rules && sudo udevadm trigger 例程使用 针对jetson.gpio库,官方也提供了一些简单的例程,例程存放在 /opt/nvidia/jetson-gpio/samples/路径下 cd /opt/nvidia/jetson-gpio/samples/ 我们可以看到,在samples目录下,总共提供了8个示例程序(具体情况以官方最新版本为准) 用户可以使用指令运行程序,注意将xxxx替换成对应的程序名 sudo python3 xxxx.py 这里我们一步步来写一个LED灯的程序 新建一个jetson-gpio-test.py文件 sudo vi jetson-gpio-test.py Jetson Nano没有预装nano编辑器,如果是对vi编辑器不熟悉的用户,可以自行安装nano(sudo apt-get install nano) 首先开头引用需要用到的库 import Jetson.GPIO as GPIO import time as time 设置要操作的引脚,并将引脚设置为输出引脚 LED_Pin = 11 GPIO.setmode(GPIO.BOARD) GPIO.setup(LED_Pin, GPIO.OUT) 在设置引脚的时候,Jetson.GPIO提供了四种编码规则,GPIO.BOARD和GPIO.BCM同树莓派的RPI.GPIO一样,前一个是根据物理引脚顺序,另一种是根据BCM芯片(树莓派使用的芯片)的引脚顺序来的。 还有两种分别是GPIO.CVM和GPIO.TEGRA_SOC, CVM和TEGRA_SOC的参数类型是字符串而非数字,两者分别对应到CVM、CVB连接器和Tegra片上系统的信号名称 通过切换GPIO的电平来点亮和熄灭LED css代码:
while (True): GPIO.output(LED_Pin, GPIO.HIGH) time.sleep(2) GPIO.output(LED_Pin, GPIO.LOW) time.sleep(2) 最后在退出循环的时候清楚GPIO的状态 GPIO.cleanup() 保存文件。将一个LED灯连接到11号引脚上,并试着运行程序,可以看LED灯以两秒的间隔在闪烁。 sudo python3 jetson-gpio-test.py |