Jetson Nano Developer Kit扩展了40PIN的GPIO接口,兼容树莓派的40PIN接口。 NVIDIA官方提供了了JetsonGPIO库(Python)方便用户来控制GPIO,Jetson.GPIO库运用了跟RPi.GPIO库一样的API,因此对于用惯了树莓派的用户来说应该不难上手。本章就如何使用jetson.gpio库操作GPIO做一下说明 环境配置和安装库 安装PIP工具: 2 | sudo apt-get install python-pip |
3 | sudo apt-get install python3-pip |
下载安装Jetson.GPIO库: 1 | sudo pip install Jetson.GPIO |
2 | sudo pip3 install Jetson.GPIO |
设置用户权限: 1 | sudo groupadd -f -r gpio |
2 | sudo usermod -a -G gpio your_user_name |
注意:这里的your_user_name需要改成你自己的账号名,不然库无法正常使用
将99-gpio.rules文件复制到rules.d目录 1 | <div> sudo cp lib/python/Jetson/GPIO/99-gpio.rules /etc/udev/rules.d/ |
重载rules规则来让文件生效 1 | sudo udevadm control --reload-rules && sudo udevadm trigger |
例程使用 针对jetson.gpio库,官方也提供了一些简单的例程,例程存放在 /opt/nvidia/jetson-gpio/samples/路径下 1 | cd /opt/nvidia/jetson-gpio/samples/ |
我们可以看到,在samples目录下,总共提供了8个示例程序(具体情况以官方最新版本为准) 用户可以使用指令运行程序,注意将xxxx替换成对应的程序名 这里我们一步步来写一个LED灯的程序 新建一个jetson-gpio-test.py文件 1 | sudo vi jetson - gpio - test.py |
Jetson Nano没有预装nano编辑器,如果是对vi编辑器不熟悉的用户,可以自行安装nano(sudo apt-get install nano) 首先开头引用需要用到的库 1 | import Jetson.GPIO as GPIO |
设置要操作的引脚,并将引脚设置为输出引脚 2 | GPIO.setmode(GPIO.BOARD) |
3 | 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代码:2 | GPIO.output(LED_Pin, GPIO.HIGH) |
4 | GPIO.output(LED_Pin, GPIO.LOW) |
最后在退出循环的时候清楚GPIO的状态 保存文件。将一个LED灯连接到11号引脚上,并试着运行程序,可以看LED灯以两秒的间隔在闪烁。 1 | sudo python3 jetson-gpio- test .py |
|