零基础入门Jetson Nano——硬件篇
Jetson Nano学习——硬件篇
- 写在前面的话
- Jetson Nano_Hardware
- 安装GPIO库与配置——GPIO
- 使用示例
- 示例1、simple_input
- 示例2、simple_out
- 安装serial库与配置——UART
- 安装smbus库与配置——I2C
写在前面的话
最近因为比赛的原因入手了树莓派和Jstson Nano,对于两款开发板性能的比较这里不多赘述,大家可以参考这篇博客:树莓派 4 与英伟达 Jetson Nano 性能大比拼,谁是最佳的嵌入式“电脑”
我的建议是:你的项目要用到CUDA,就选Jetson,否则就选树莓派。
Jetson Nano_Hardware
我们先来看一下Jetson Nano的GPIO(24PIN-引脚分布图):

安装GPIO库与配置——GPIO
1、下载jetson-gpio库
git clone https://github.com/NVIDIA/jetson-gpio
# 下载jetson-gpio库
2、将下载的文件移动到目录:/opt/nvidia 中
sudo mv jetson-gpio /opt/nvidia/
# 移动文件到指定目录下
3、安装pip3工具
sudo apt-get install python3-pip
4、进入jetson-gpio文件夹,并安装库
cd /opt/nvidia/jetson-gpio
# 进入文件夹sudo python3 setup.py install
# 安装GPIO库
5、设置用户权限与修改规则
sudo groupadd -f -r gpio
# 将用户添加至组,赋予权限sudo usermod -a -G gpio your_user_name
# your_user_name需改成自己的账号名sudo cp /opt/nvidia/jetson-gpio/lib/python/Jetson/GPIO/99-gpio.rules /etc/udev/rules.d/
# 将99-gpio.rules文件复制到rules.d目录sudo udevadm control –reload-rules && sudo udevadm trigger
# 重载rules规则来让文件生效sudo
使用示例
cd /opt/nvidia/jetson-gpio/samples/
# 进入示例文件夹sudo python3 xxxx.py
# 运行示例文件
#将xxxx替换为对应的程序文件名称
samples文件夹下的官方示例

示例1、simple_input
sudo python3 simple_input.py
使用BCM的引脚编码模式,可读取PIN12的值并打印到终端

示例2、simple_out
sudo python3 simple_out.py
输出高电平和低电平(每2秒交替更新) 到物理引脚 PIN12

安装serial库与配置——UART
1、安装python3 serial库
sudo apt-get install python3-serial
2、开启临时串口权限
sudo chmod 777 /dev/ttyTHS1
# 开启串口权限,关机后该权限也将被关闭,下次使用串口前需再次重新开启
3、获取串口通信测试案例
git clone https://github.com/JetsonHacksNano/UARTDemo
# 获取串口通讯测试案例cd UARTDemo
# 进入该文件夹
4、硬件连接
Jetson Nano引脚8(TXD) →USB转TTL模块RX
Jetson Nano 引脚10(RXD) →USB转TTL模块TX
Jetson Nano J引脚6(GND) →USB转TTL模块GN
#Jetson Nano J引脚2(5V) →USB转TTL模块VCC 该引脚可不接
Jetson nano-硬件接口

串口通信Python3程序 uart_example.py
#! /usr/bin/python3
import time
import serial
#导入serial库serial_port = serial.Serial(port="/dev/ttyTHS1",baudrate=115200,bytesize=serial.EIGHTBITS,parity=serial.PARITY_NONE,stopbits=serial.STOPBITS_ONE,
)
time.sleep(1)
# 串口配置信息
# 波特率115200,8位数据位,无奇偶校验位,1位停止位try:serial_port.write("UART Demonstration Program\r\n".encode())serial_port.write("NVIDIA Jetson Nano Developer Kit\r\n".encode())while True:if serial_port.inWaiting() > 0:data = serial_port.read()print(data)serial_port.write(data)if data == "\r".encode():serial_port.write("\n".encode())except KeyboardInterrupt:print("Exiting Program")except Exception as exception_error:print("Error occurred. Exiting Program")print("Error: " + str(exception_error))finally:serial_port.close()
程序部分解释
参数配置-串口助手
运行程序
python3 uart_example.py
发送情况-串口助手
接收情况-Jetson nano

安装smbus库与配置——I2C
1、安装python3 I2C模块及开启I2C访问权限
sudo apt-get install -y python3-smbus
sudo usermod -aG i2c <用户名> #添加用户组
sudo reboot #重启
Smbus库-API目录

2、下载I2Ctool及检查是否安装成功
sudo apt-get install -y i2c-tools #下载I2Ctool
apt-cache policy i2c-tools #检查是否安装成功
若出现如下信息责表示安装成功

3、硬件连接
以LCD1602_I2C为例,其地址为0X27
sudo i2cdetect -y -r -a 1
#扫描某一总线(BUS)上所有I2C设备,并打印其地址。
当出现如下信息时,表示I2C总线挂载成功

至此,有关于Jetson Nano的三种硬件通信方式全部介绍完毕。
参考文章:Jetson nano_Hardware新手向导
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
