Jetson 40 pin介绍
其中18个引脚为专用,分别是:5v(2个)、3v(2个)、GND(8个)、两组 I2C(4个pin)、一组 UART(2个pin)
剩余22个引脚为可配置的GPIO。
可以进入配置主菜单界面配置GPIO,修改后记得保存并重启系统生效。
sudo /opt/nvidia/jetson-io/jetson-io.py
GPIO库
Jetson GPIO库提供了Python库或者C++库控制这些GPIO的数字输入和输出,而且该库与Raspberry Pi的RPi.GPIO库具有相同的API,而且Jetson 开发板和Raspberry Pi一样都是40pin,便于将在Raspberrry Pi上运行的应用程序移动到Jetson板。
正常情况下,jetson中在/opt/nvidia/jetson-gpio目录下已经预装了gpio,如果未预装,可以使用如下指令进行安装
#python3
sudo pip3 install Jetson.GPIO
#python2
sudo pip install Jetson.GPIO
设置gpio用户组及规则
#创建gpio使用的用户组
sudo groupadd -f -r gpio
sudo usermod -a -G gpio your_user_name
#复制规则并使规则生效
sudo cp JetsonGPIO/99-gpio.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules
sudo udevadm trigger
我们仍然习惯延用树莓派对引脚序号的编码方法,即分为BOARD和BCM。当GPIO.setmode(GPIO.BOARD),则引脚就按照上面图中的序号表示;当GPIO.setmode(GPIO.BCM)时,则引脚就按照下面图中的序号表示。比如需要读取jetson开发板上的12号引脚时,我设置为BCM编码就是18。
import Jetson.GPIO as GPIO
input_pin = 18
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.setup(input_pin, GPIO.IN)
value=GPIO.input(input_pin)
print(value)