摘要: JetsonTX1,TX2,AGXXavier和Nano开发板包含一个40引脚的GPIO头,类似于Raspberry PI中的40引脚头。这些GPO可以通过JetsonGPIOLibrary包中提供的Python库控制数字输入和输出。 ... ... ... ... ... ... ... ... ...
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目录
sudo cp /usr/local/lib/python3.6/dist-packages/Jetson/GPIO/99-gpio.rules /etc/udev/rules.d/ 这里要注意自己的python包里rules文件所在的位置 重载rules规则来让文件生效
例程使用
针对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灯以两秒的间隔在闪烁。
|