英伟达|jetson nano开发使用的基础详细分享

大家好,我是写代码的篮球球痴,最近我朋友写了一篇英伟达开发板的文章,分享给大家。

前言:

最近拿到一块jetson nano 2GB版本的板子,折腾了一下,从烧录镜像、修改配件等,准备一篇开箱基础文章给大家介绍一下这块AI开发板。


Jetson nano初步介绍:

Jetson Nano是Nvidia在TX2和Xavier获得成功后推出的低配版GPU运算平台。在官方的资料上,Jetson Nano公布的参数如下:

技术规格:

2GB版与4G原版的性能表现相差无几,并没有因为是阉割版而有明显落差,表现可以说让人相当满意。其中原因不外乎是双方的处理器、绘图处理器规格完全相同,且也都可以使用10W的电力模式,让彼此在运算性能部分可以有一样的表现。

从双方的规格差异来看,会造成整体性能落差的主要因素,仍在程序的内存消耗量,而Jetson Benchmarks工具可能没有触碰到该瓶颈。若程序使用超过2GB的内存,系统就需要将部分资料存储于Swap,将形成访问性能瓶颈,并影响整体性能表现。

由于2GB版的目标用户群体为AI程序与AIoT设备的入门者,撰写大型程序的机会不大,因此考量价格与性能的平衡,这样确实是不错的取舍,很适合教育单位或初学者选用。

介绍完使用场景以及一些性能分享,接下来给大家介绍一下硬件信息

大家可以在官 里面搜索对应的开发板,查看对应的接口信息,点击下面的 站 https://developer.nvidia.cn/embedded/learn/getting-started-jetson#support

选中之后我们就可以看到板子详细的硬件信息。或者大家可以直接用这个传送门查看信息。

详细的硬件信息介绍,

配合上图给大家介绍一下这块板子,硬件一一对应的位置:

详细作用
[DS1] 电源LED;当显影剂套件通电时亮起
[J1] Jetson模块的SO-DIMM接头。模块预先组装在开发工具包上
[J2] 用于5V?3A电源的USB C型电源连接器。见电源部分
[J3] RJ45以太 连接器。参见 络部分
[J4] HDMI接口
[J5] 用于MIPI-CSI2摄像机的摄像机连接器。请参见“摄影机”部分
[J6] 40针头:包括电源引脚(+5V/+3.3V)和I2C(2x)、UART、SPI(2x)、I2S和GPIO的接口信 引脚
[J7] 4针风扇控制头。支持脉宽调制(PWM)输出和转速表输入
[J8] 可选币形电池插座
[J9] USB 3.0 A型连接器。限于1A总功率输出
[J10] 两个USB 2.0 A类连接器堆叠,仅支持主机模式
[J11] 可选按钮头(2×4);包括复位/强制恢复/电源按钮和自动上电禁用的连接
[J12] 按钮头(1×12);包括电源LED、复位/强制恢复/电源按钮、UART和自动上电禁用的连接
[J13] 支持恢复模式和设备模式的Micro USB 2.0连接器

40 针接头 (J6)

40 引脚接头提供对电源、接地和接口信 引脚的访问。

电源引脚

有两个 3.3V 电源引脚和两个 5V 电源引脚。这些是不可切换的;当开发人员套件连接到电源时,电源始终可用。

两个 5V 引脚可用于以每个 2.5A 的电流为开发人员套件供电。(不要同时通过这些引脚和 USB-C 连接器为开发人员套件供电。) 接口信 引脚 所有信 使用 3.3V 电平 默认情况下,所有接口信 引脚都配置为 GPIO,支持 I2C 和 UART 的除外

Pin 名称 描述 Power
1 电源指示灯 – 连接到 LED 阴极以指示系统睡眠/唤醒(系统处于睡眠模式时关闭) +5V
2 电源指示灯 + 连接到 LED 阳极(见引脚 1) +5V
3 UART2_RXD 收到 + 3.3V
4 UART2_TXD 发送 + 3.3V
5 锁存器 连接引脚 5 和引脚 6 以禁用自动开机并需要按下电源按钮(或等效按钮) +5V
6 闩锁设置按钮 连接引脚 5 和引脚 6 以禁用自动开机并需要按下电源按钮(或等效按钮) +5V
7 GND
8 复位按钮 将常开按钮连接到引脚 7 和引脚 8。临时按下按钮启动系统复位 +1.8V
9 GND
10 恢复模式按钮 将常开按钮连接到引脚 9 和引脚 10。在打开系统电源时按住按钮以将其置于 USB 强制恢复模式 +1.8V
11 GND
12 电源按钮 将常开按钮连接到针脚 11 和针脚 12。如果自动开机禁用(针脚 5 和针脚 6 已连接),请暂时按下按钮以启动开机 +5V

8 针按钮接头 (J11)

这是一个备用的 8 针 (2×4) 按钮接头,可焊接在载板上的位置 J11 上,并用作主按钮接头的替代。

标题详细信息:

  • 总引脚/位置 8

  • 2 排 4 针

  • 间距为 2.54 毫米

  • 无遮挡

  • 通孔垂直

Pin 描述
1 PWM
2 +5V 电源
3 转速表
4 PWM(脉宽调制)

控制风扇

  • 风扇可通过PWM控制。

  • 如果要向系统中添加风扇,请选择一个5V风扇:

  • 具有40mm x 40mm的螺钉间距,用于与显影剂套件散热器连接

耗电量 开发工具包的总功耗是载体板、模块和外围设备功耗的总和,由您的特定用例决定。

Jetson模块有两种软件定义的电源模式。电源模式可以通过桌面右上角的UI界面进行切换,也可以按照L4T电源管理指南进行切换。

两种模块电源模式为:

10W-更高性能的默认模式 5W-建议减少能源使用

摄像头

照相机 有关Jetson生态系统支持的摄像头的完整列表,请访问我们的合作伙伴支持的摄像头页面。

所有与Jetson Nano显影剂套件和Jetson Xavier NX显影剂套件兼容的MIPI CSI-2相机也将与Jetson Nano 2GB显影剂套件配合使用。

Name Manufacturer Link Comment
Raspberry Pi  Camera Module V2 Raspberry Pi Adafruit
Raspberry Pi Camera Module NoIR V2 Raspberry Pi Adafruit
Raspberry Pi High Quality Camera Raspberry Pi Canakit 仅限Jetson Nano 2GB开发者工具包下载从下载中心下载驱动程序并按照软件包中的说明进行操作

安装软排线摄像头模块

要安装摄像头模块,请将其柔性带状电缆连接到摄像头连接器(J5)中。遵循以下步骤:

  • 下载JetPack(看官 ,需要JetsonPack 4.4.1才支持Jetson Nano 2GB ):https://developer.nvidia.com/embedded/jetpack

  • 连接外设(鼠标、键盘、显示器)并启动,这里如果我们要进行屏幕显示的启动,除了连接的HDMI显示器,鼠标和键盘也是必须要连接的,在Jetson Nano 2GB Developer Kit里面有描述。

    1. 烧写完成后,将SD卡插入Jetson Nano,接上显示器和电源开机

    配件使用

    1. 硬件风扇 和 wif模块 因为nano使用起来发热挺严重的,所以我在上面加了一个散热的风扇,nano 2g里面默认风扇的配件是没有,所以这个部分也是我自己购买的,不过我没有使用pwm控制的风扇,而是使用了直驱的风扇,并且在nano 2gb 板子上焊接了排插,接入风扇。

    排插位置,以及对应的丝印的电源和GND位置:

    安装之后检测一下CPU温度情况:这部分我们使用了jetson-stats这个包,此外我们也可以使用lm-sensors进行查询CPU实时温度。jetson-stats是一个软件包,用于监测和控制Nvidia Jetson设备的,其中jtop可以实时监测温度;

    安装:

    使用:jtop 命令

    1. 远程VNC 因为nano上面我们想跑一些视觉等等需要界面查看的模型,而不只是单纯的使用命令行进行访问,那么我们就需要用到远程桌面了。

    说到远程桌面,可能大家会比较熟悉VNC Viewer这个软件。这里我们介绍如何配合Jetson Nano的 Desktop功能来远程访问。首先,下载并安装VNC Viewer软件到你的电脑上。(这里是下载链接) 需要先用HDMI屏幕和键盘等链接到Jetson Nano

    • 安装vino

    sudo apt install vino

    设置为Gnome编译模式

    sudo glib-compile-schemas /usr/share/glib-2.0/schemas

    现在屏幕共享面板在单位控制中心工作…但这并不足以让vino运行!所以您需要在会话启动时添加程序:Vino-server,使用以下命令行:

    /usr/lib/vino/vino-server 这种是属于手动启动,如果每次都需要手动启动会比较麻烦下面会设置开机自启动的形式。

    • 设置VNC登陆密码(‘thepassword’ 修改为自己的密码)

    gsettings set org.gnome.Vino authentication-methods “[‘vnc’]”

    gsettings set org.gnome.Vino vnc-password $(echo -n ‘thepassword’|base64)

    • 重启机器,验证是否设置vnc 成功

    sudo reboot

    • 设置开机自启动VNC Server

    VNC服务器只有在您本地登录到Jetson之后才可用。如果您希望VNC自动可用,请使用系统设置应用程序来启用自动登录。

    gsettings set org.gnome.Vino enabled true

    mkdir -p ~/.config/autostart

    vi  ~/.config/autostart/vino-server.desktop

    将下面的内容添加到该文件中,保存并退出。

    [Desktop Entry]

    Type=Application

    Name=Vino VNC server

    Exec=/usr/lib/vino/vino-server

    NoDisplay=true

    启动vnc界面,输入对应IP 进行连接:

    nano使用介绍以及资料分享:

    镜像完成安装了,使用的基本配套工具也准备好了,那么我们该怎么进行nano的使用呢就给大家分享一些nano使用中,我们可以参考的学习资料,方便大家进行学习使用。

    官方资料

    首先进入官 最开始的nano介绍 页,里面就有对应的学习引导:

    详细嵌入式开发指导说明:
    这个部分就是比较详细的底层开发的指导了,包含基本的驱动的音视频开发,这个部分属于大家要深度定制化自己的板卡时候对应的资料:

    https://docs.nvidia.com/jetson/archives/l4t-archived/l4t-325/index.html#page/Tegra%20Linux%20Driver%20Package%20Development%20Guide/introduction.html#wwpID0E3HA

    JetBot

    NVIDIA JetBot是一个新的开源自动机器人套件,它提供了所有软件和硬件计划,以低于250美元的价格构建一个人工智能的深度学习机器人。硬件材料包括Jetson Nano,IMX219 800万像素摄像头,3D打印机箱,电池组,电机,I2C电机驱动器和配件。https://jetbot.org/master/index.html

    结语

    相比Jetson Nano 4GB 使用的GNOME桌面,Jetson Nano 2GB 使用的是轻量化的LXDE桌面,大幅节省内存。这也是Jetson Nano 2G版可以和4G版本运行大多数相同的项目的原因之一。

    NVIDIA  Jetson Nano  2GB对于想要运行计算量不大的项目,且预算不多的开发者来说绝对是性价比之选,可以仅以54美元就享受到其4GB版的绝大多数功能,但是不能否认的是其2GB的内存,在需要使用Jetson Nano训练模型的时候会略感缓慢。总而言之,Jetson Nano绝对是性价比之选。配合Jetson 区丰富的项目和课程,可以高效地进行AI学习。可以说是新手入门AI计算的绝佳之选。接下来我们就开始玩起来哈。

    这就是我jetson nano使用的初步分享,后面继续分享在一些自己使用这块AI计算板卡的经验。如果大家有更好的想法和需求,也欢迎大家加我好友交流分享哈。


    文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览92728 人正在系统学习中

    声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

    上一篇 2022年1月9日
    下一篇 2022年1月10日

    相关推荐