摘要: 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./dist-packages/Jetson/GPIO/-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 =
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()
GPIO.output(LED_Pin, GPIO.LOW)
time.sleep()

最后在退出循环的时候清楚GPIO的状态

GPIO.cleanup()

保存文件。将一个LED灯连接到11号引脚上,并试着运行程序,可以看LED灯以两秒的间隔在闪烁。

1 sudo python3 jetson-gpio-test.py

Jetson Nano系列教程3:GPIO的更多相关文章

  1. Jetson Nano系列教程0:初识Jetson Nano

    关于Jetson Nano Developer Kit Jetson nano搭载四核Cortex-A57 MPCore 处理器,采用128 核 Maxwell™  GPU.支持JetPack SDK ...

  2. Jetson Nano 系列教程2:串口调试接口登录Jetson Nano

    连接Jetson Nano可以有多种方法,这里我们一一介绍一下.开始本章节前,请先参考上一章,烧写好镜像 直接连接 所谓直接连接,就是将Jetson Nano当做主机,连接HDMI屏幕,连接键盘和鼠标 ...

  3. Jetson Nano系列教程1:烧写系统镜像

    下载镜像 NVIDIA官方为Jetson Nano Developer Kit (后面统称为Jetson Nano了)提供了SD卡版本的系统镜像,并且根据JetPack版本不断得在更新.所以你可以直接 ...

  4. jetson nano开发使用的基础详细分享

    前言: 最近拿到一块jetson nano 2GB版本的板子,折腾了一下,从烧录镜像.修改配件等,准备一篇开箱基础文章给大家介绍一下这块AI开发板. 作者:良知犹存 转载授权以及围观:欢迎关注微信公众 ...

  5. [Jetson Nano]Jetson Nano快速入门

    NVIDIAJetsonNano开发套件是适用于制造商,学习者和开发人员的小型AI计算机.相比Jetson其他系列的开发板,官方报价只要99美金,可谓是相当有性价比.本文如何是一个快速入门的教程,主要 ...

  6. 开发快平台(M302I小e开发板系列教程)

    开发快平台(M302I小e开发板系列教程) 开发块平台ESP8266模块相关理解 一. M302I小e开发板源码注释,源码基于:v1.4.0.8-u34.zip 1. user_main.c /*** ...

  7. Microsemi Libero系列教程(二)——新建点灯工程

    前言 上一篇文章,介绍了Microsemi Libero系列教程(一)-Libero开发环境介绍,下载,安装与注册,作为嵌入式开发中的Hello World,点灯是再也基础不过的实验了,通过点灯实验, ...

  8. Angular2入门系列教程7-HTTP(一)-使用Angular2自带的http进行网络请求

    上一篇:Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数 感觉这篇不是很好写,因为涉及到网络请求,如果采用真实的网络请求,这个例子大家拿到手估计还要自己写一个web ...

  9. Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数

    上一篇:Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数 之前介绍了简单的路由以及传参,这篇文章我们将要学习复杂一些的路由以及传递其他附加参数.一个好的路由系统可以使我们 ...

随机推荐

  1. linux0.11内核源码——用户级线程及内核级线程

    参考资料:哈工大操作系统mooc 用户级线程 1.每个进程执行时会有一套自己的内存映射表,即我们所谓的资源,当执行多进程时切换要切换这套内存映射表,即所谓的资源切换 2.但是如果在这个进程中创建线程, ...

  2. ANTLR4在windows10下的安装

    1.下载ANTLR ①.从官网下载到最新版本的antlr-4.7.1-complete.jar.我下载的时候最新版本是4.7.1. ②.选择路径保存,为方便之后修改环境变量.我的下载目录为E:\Ant ...

  3. SercletConfig 详解

    ServletConfig:从一个servlet被实例化后,对任何客户端在任何时候访问有效,但仅对本servlet有效,一个servlet的ServletConfig对象不能被另一个servlet访问 ...

  4. CentOS7下python虚拟环境

    搭建python虚拟环境 1.我们先创建一个隐藏目录 .virtualenvs,所有的虚拟环境都放在此目录下 :mkdir /root/.virtualenvs 2.安装虚拟环境 确认pip:wher ...

  5. 按回车键切换input鼠标光标

    function focue(){ if(event.keyCode==13){//回车键的键值13 event.keyCode=9;//tab键的键值9 } }

  6. std::sort的详细用法

    #include <algorithm> #include <functional> #include <array> #include <iostream& ...

  7. C# 笔记 获取程序当前目录

    在C#中,我们有以下几种方式获取程序当前目录: Console.WriteLine(System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssem ...

  8. golang的数据类型之布尔类型

    1)布尔类型也叫 bool类型,bool类型数据只允许取值true或false2)bool类型占1个字节.3)bool类型适于逻辑运算,一般用于程序流程控制4)不可以0或非0的整数替代false和tr ...

  9. C++中采用操作符重载完善复数类

    1,复数类应该具有的操作: 1,运算:+,-,*,/: 2,比较:==,!=: 3,赋值:=: 4,求模:modulus: (5),完善的复数类操作符重载必不可少: 2,利用操作符重载: 1,统一复数 ...

  10. python基础--新式类实现单例模式

    在网上看了有关python实现单例模式的博客,发现好多都是转载的,并且都是按照python2.x版本旧式类的方式写的. 虽然也能读懂,但对于我这种一开始学的就是python3.x的新手来说,心里总有点 ...