1.配置GPIO库
https://github.com/NVIDIA/jetson-gpio
(1)安装pip工具
sudo-apt-get update
sudo apt-get install python3-pip
sudo apt-get install python3-pip
(2)下载 jetson-gpio
sudo pip install Jetson.GPIO
sudo pip3 install Jetson.GPIO
或者直接clone github
git clone https://github.com/NVIDIA/jetson-gpio
(3)将下载的文件复制或者移动到目录: /opt/nvidia 中:
sudo cp -r jetson-gpio /opt/nvidia/
(4)进入jetson-gpio库文件夹,并安装库。
cd /opt/nvidia/jetson-gpio
sudo python3 setup.py install
(5)使用前,还需要创建一个 gpio 组,把你的当前的账号加到这个组,并赋予使用权限
sudo groupadd -f -r gpio
sudo usermod -a -G gpio user_name
注:user_name 是自己的账号名
(6)重新加载udev规则,使新规则生效
将99-gpio.rules文件复制到rules.d目录
sudo cp /opt/nvidia/jetson-gpio/lib/python/Jetson/GPIO/99-gpio.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules && sudo udevadm trigger
2.例子

使用两个烟雾传感器检测烟雾,只要有一个检测到烟雾,就会打开继电器开关
import RPi.GPIO as GPIO
import time
gas_pin = 18 # 定义烟雾传感器引脚
gas1_pin = 16 # 定义气味传感器引脚
led_pin = 12 # 控制继电器开关
def main():
GPIO.setmode(GPIO.BOARD) # 定义引脚模式
GPIO.setup(gas_pin, GPIO.IN) # 烟雾为输入
GPIO.setup(gas1_pin, GPIO.IN) # 气味为输入
GPIO.setup(led_pin, GPIO.OUT, initial=GPIO.HIGH) # 继电器为输出,初始化为高电平
GPIO.setwarnings(False)
try:
while True:
status=GPIO.input(gas_pin)
status1=GPIO.input(gas1_pin) # 检测高低电平变化
if status == True and status1 == True:
#print('no gas detect')
GPIO.output(led_pin, GPIO.HIGH) # 没有检测到烟雾,灯不会亮
else:
#print('gas detect')
GPIO.output(led_pin, GPIO.LOW)
except KeyboardInterrupt:
pass
GPIO.cleanup() # 清理引脚通道
if __name__ == '__main__':
main()