jetson GPIO使用

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)

在这里插入图片描述

### Jetson 平台上使用 GPIO 接口的方法 #### 使用 Python 控制 GPIO 为了在 Jetson Nano 上控制 GPIO,可以采用 `Jetson.GPIO` 库。安装并配置好该库之后,通过设置模式为 BOARD 来指定引脚编号方式[^1]。 ```python import Jetson.GPIO as GPIO GPIO.setmode(GPIO.BOARD) ``` 接着定义要使用的具体引脚号,并设定其工作模式(输入/输出)。对于输出操作而言,可以通过调用 `output()` 函数改变电平状态;而对于读取外部信号,则需利用 `input()` 方法获取当前逻辑值。 #### 编译 C/C++ 程序访问 GPIO 当偏好于C语言编程时,在 Jetson 设备上同样能够借助特定工具链完成对硬件资源的操作。例如,给定源文件名为 `gpiobaseApp.c` 的程序,可运用交叉编译器将其转换为目标架构下的二进制文件[^2]: ```bash /home/e/jetson/source/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc gpiobaseApp.c -o gpiobaseApp ``` 此过程会生成一个适用于 ARM 架构处理器执行的应用程序——即 `gpiobaseApp` 可执行文件。 #### 获取必要的权限 值得注意的是,在尝试操控任何物理端口前,确保已赋予用户足够的权限去管理这些设备。这通常涉及到修改组成员关系,使得目标账户成为相应外围组件所属群组的一员。针对 GPIO 和 I²C 功能来说,可通过如下指令实现这一目的[^3]: ```bash sudo usermod -a -G gpio jetson sudo usermod -a -G i2c jetson ``` 上述命令中的 "jetson" 是指代登录名,请依据实际情况替换为实际用户名字串。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值