ADU505 通用AI边缘计算机兼容NVIDIA Jetson Orin Nano/0rin NX计算模组,算力可选20 / 40 / 70 / 100TOPS。扩展WiFi、GPS、4G/5G等功能,支持4路以太网接口、POE供电,支持外部GPS时钟授时同步、NTP时钟授时同步、远程唤醒。整机支持多传感器接入,可满足智慧交通、AI监控、智能安防等领域的应用需求。
| 序号 | 型号 | 名称 | 备注 |
|---|---|---|---|
| 1. | ADU505-A01 | AI 边缘计算机 | ORIN NX 157TOPS,GD32F,DDR 16GB,SSD 256GB,GNSS,WiFi5,1000BASE-TX (POE)*4,工作电压 9-36V,不含 SSD |
| 2. | ADU505-B01 | AI 边缘计算机 | ORIN NX 117 TOPS,GD32F,DDR 8GB,SSD 256GB,GNSS,WiFi5,1000BASE-TX (POE)*4,工作电压 9-36V,不含 SSD |
| 3. | ADU505-C01 | AI 边缘计算机 | ORIN Nano 67 TOPS,GD32F,DDR 8GB,SSD 256GB,GNSS,WiFi5,1000BASE-TX (POE)*4,工作电压 9-36V,不含 SSD |
| 4. | ADU505-D01 | AI 边缘计算机 | ORIN Nano 34 TOPS,GD32F,DDR 4GB,SSD 256GB,GNSS,WiFi5,1000BASE-TX (POE)*4,工作电压 9-36V,不含 SSD |
| 注:可扩展SSD硬盘 | |||
| 序号 | 功能 | 说明 | 配置 |
|---|---|---|---|
| 1. | 4G 模块 | Mini PCIe | 选配 |
| 2. | 5G 模块 | M.2 B Key | 选配 |
| 序号 | 项目 | ADU505-A01 | ADU505-B01 |
|---|---|---|---|
| 1. | 型号 | Jetson Orin NX 16GB | Jetson Orin NX 8GB |
| 2. | AI Performance | 157 TOPS | 117 TOPS |
| 3. | GPU | 搭载 32 个 Tensor Core 的 1024 核 NVIDIA Ampere 架构 | 搭载 32 个 Tensor Core 的 1024 核 NVIDIA Ampere 架构 |
| 4. | GPU 最大频率 | 1173 MHz | 1020MHz |
| 5. | CPU | 8-core Arm® Cortex®-A78AE v8.2 64-bit CPU 2MB L2 + 4MB L3 最大频率 2GHz | 6-core Arm® Cortex®-A78AE v8.2 64-bit CPU 1.5MB L2 +4MB L3 最大频率 2GHz |
| 6. | DDR | 16 GB 128-bit LPDDR5 102.4GB/s | 8 GB LPDDR5 DRAM 102.4GB/s |
| 7. | SSD | 标配 256GB(容量可选配) | 标配 256GB(容量可选配) |
| 8. | DL Accelerator | 2x NVDLA v2.0,最大频率 614MHz | 1x NVDLA v2.0,最大频率 610MHz |
| 9. | DL 最大频率 | 1.23GHz | 1.23GHz |
| 10. | Vision Accelerator | 1x PVA v2 | 1x PVA v2 |
| 11. | Video Encode | 1x 4K60 (H.265) 3x 4K30 (H.265) 6x 1080p60 (H.265) 12x 1080p30 (H.265) |
|
| 12. | Video Decode | 1x 8K30 (H.265) 2x 4K60 (H.265) 4x 4K30 (H.265) 9x 1080p60 (H.265) 18x 1080p30 (H.265) |
|
| 13. | MCU | GD32F | |
| 14. | OS | Ubuntu 22.04 | |
| 序号 | 项目 | ADU505-C01 | ADU505-D01 |
|---|---|---|---|
| 1. | 型号 | Jetson Orin Nano 8GB | Jetson Orin Nano 4GB |
| 2. | AI Performance | 67 TOPS | 34 TOPS |
| 3. | GPU | 搭载 32 个 Tensor Core 的 1024 核 NVIDIA Ampere 架构 | 搭载 16 个 Tensor Core 的 512 核 NVIDIA Ampere 架构 |
| 4. | GPU 最大频率 | 1020 MHz | 1020 MHz |
| 5. | CPU | 6-core Arm® Cortex®-A78AE v8.2 64-bit CPU 1.5MB L2 +4MB L3 最大频率 1.7GHz | 6-core Arm® Cortex®-A78AE v8.2 64-bit CPU 1.5MB L2 +4MB L3 最大频率 1.7GHz |
| 6. | DDR | 8GB 128 位 LPDDR5 102 GB/s | 4GB 64 位 LPDDR5 51 GB/s |
| 7. | SSD | 标配 256GB(容量可选配) | |
| 8. | DL Accelerator | -- | |
| 9. | Vision Accelerator | -- | |
| 10. | Video Encode | 1080P30 由 1~2 个 CPU 内核支持 | |
| 11. | Video Decode | 1x 4K60 (H.265) 2x 4K30 (H.265) 5x 1080p60 (H.265) 11x 1080p30 (H.265) |
|
| 12. | MCU | GD32F | |
| 13. | OS | Ubuntu 22.04 | |
ADU505软件系统为JetPack 6.2开发环境,包括系统镜像、库、示例、开发工具以及文档,同时支持以下关键特性:
JetPack 6.2 是 JetPack 6 的最新生产版本。此版本包括 Jetson Linux 36.4.3,其中包含基于 Linux 内核 5.15 的 Ubuntu 22.04 的根文件系统。JetPack 6.2 中包含的 Jetson AI 堆栈包括 CUDA 12.6、TensorRT 10.3、cuDNN 9.3、VPI 3.2、DLA 3.1 和 DLFW 24.0、JetPack 6.2 为 NVIDIA Jetson Orin Nano 和 Jetson Orin NX 生产模组提供新的高功率 Super 模式。借助 Super Modes,Jetson Orin NX 系列可将 AI TOPS 提升高达 70%,同时 Jetson Orin Nano 系列可将 AI TOPS 提升 50%,并将显存带宽提升 50%。性能的提升使 Jetson Orin 模块的生成式 AI 推理性能提升高达 2 倍。
JetPack 包括以下软件库:
JetPack自带一些演示示例,存放在文件系统中,并且可以被编译。
| 组件名称 | 版本 | 主安装目录 | 关键子路径(工具 / 头文件 / 库) | 示例代码路径及说明 |
|---|---|---|---|---|
| CUDA | 12.6.10 | /usr/local/cuda(软链接指向 cuda-12.2) | - 编译器:/usr/local/cuda/bin/(含 nvcc、nvprof)- 头文件:/usr/local/cuda/include/(含 cuda.h、cuda_runtime.h)- 库文件:/usr/local/cuda/lib64/(含 libcudart.so、libcuda.so) | /usr/local/cuda-12.6/samples/ |
| TensorRT | 10.3.0 | /usr/src/tensorrt/ | - 头文件:/usr/src/tensorrt/include/(含 NvInfer.h、NvOnnxParser.h)- 库文件:/usr/lib/aarch64-linux-gnu/(含 libnvinfer.so、libnvonnxparser.so) | /usr/src/tensorrt/samples/ |
| cuDNN | 9.3.0 | /usr/lib/aarch64-linux-gnu/ | - 头文件:/usr/include/aarch64-linux-gnu/cudnn_version.h- 库文件:/usr/lib/aarch64-linux-gnu/(含 libcudnn.so、libcudnn_cnn_infer.so) | /usr/src/cudnn_samples_v9/ |
| VPI | 3.2.4 | /opt/nvidia/vpi3/ | - 头文件:/opt/nvidia/vpi3/include/vpi/(含 Types.h、Image.h)- 库文件:/opt/nvidia/vpi3/lib/aarch64-linux-gnu/(含 libvpi.so、libvpi_algo.so) | /opt/nvidia/vpi3/samples/ |
| OpenCV | 4.8.0 | /usr/ | - 头文件:/usr/include/opencv4/(含 opencv2/core/core.hpp)- 库文件:/usr/lib/aarch64-linux-gnu/(含 libopencv_core.so、libopencv_imgproc.so) | /usr/share/opencv4/samples/ |
| Jetson Multimedia API | — | /usr/src/jetson_multimedia_api/ | - 头文件:/usr/src/jetson_multimedia_api/include/(含 NvEglRenderer.h、NvVideoEncoder.h)- 库文件:/usr/lib/aarch64-linux-gnu/(含 libjetson_multimedia_api.so) | /usr/src/jetson_multimedia_api/samples/ |
常见的验证指令
# CUDA
nvcc -V
cat /usr/local/cuda/version.txt
# cuDNN
cat /usr/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
# TensorRT
dpkg -l | grep nvinfer
# VPI
dpkg -l | grep vpi
# OpenCV
opencv_version
JetPack包括用于应用程序开发、调试、分析和优化的开发工具。有些工具直接在Jetson系统上使用,有些则在连接到Jetson系统的Linux主机上运行。
具体工具列表说明参见:
https://docs.nvidia.com/jetson/jetpack/introduction/index.html#devtools
默认用户名:aiec,密码:123
可以执行sudo su切换到root,密码123
LED1(红色):电源正常时常亮、电源过压 / 欠压时闪烁、无电压时灭;
LED2(绿色):MCU 启动时慢闪,MCU 收到 ARM 心跳正常后常亮。
运行布谷鸟守护精灵,获取设备基本信息、状态信息、自检数据、报警信息和驱动信息等。
AWApp_TOP
运行后,查看设备信息
根据4.1.1给系统上电,并且确认系统正常后,进行如下步骤确认软件版本是 否正确。
打开命令行终端,输入:
uname -a #查看系统版本
sudo dmesg | grep DTB #查看DTB日期
注意:操作系统版本请勿升级(upgrade),如有更新需求请先和布谷鸟科技沟通确认,以免更新升级后造成异常。
可通过第三方工具jetson-stats查看系统、硬件、库等相关信息。
安装jetson-stats:
sudo apt install python3-pip
sudo -H pip3 install -U jetson-stats
运行jetson-stats:
jtop #正常运行后,点击“7INFO”查看相关信息
#或
jetson_release #命令行输出相关信息
设备有多种功率模式,可以通过点击“桌面右上角的NVIDIA绿色标志→Power mode→MODE ID”进行变更,更改后可能需要重启设备。
图3 设置功率模式
也可采用命令行调整:
#查看设备现在的模式
sudo nvpmodel -q
# 设定为某一模式
sudo nvpmodel -m <MODE ID>
| MODE ID | MODE NAME |
|---|---|
| 0 | MAXN |
| 1 | 10W |
| 2 | 15W |
| 3 | 20W |
通过固定CPU/GPU/EMC时钟频率为当前功率模式下的最大值(不降频),获取在当前模式下的最佳表现,可通过如下命令实现:
#获取在当前模式下的最佳表现
sudo jetson_clocks
#查看jetson_clocks当前设置详细信息:
sudo jetson_clocks --show
注意:长时间运行在最大频率下,可能会造成温度升高,影响元器件寿命。
ADU505基于 NVIDIA Jetson Orin平台,支持 NVIDIA 发布的相关 AI工具或软件。用户可基于平台,自行开发和部署所需的业务软件,如物体检测、图像处理、路线规划等。
注:当安装的软件或存储的文件位于内部存储,且占据较大空间时,请及时留意剩余空间(可通过“df -h”命令查看),当剩余空间不足时,可能会使系统工作不正常,如开机不能进入系统,造成数据丢失等。
注意:操作系统版本请勿升级(upgrade),如有更新需求请先和布谷鸟科技沟通确认,以免更新升级后造成异常。
以下内容,用于示例说明如何配置开机自启动(配置rc.local开机启动脚本)。
Linux中的rc-local服务是一个开机自动启动的,调用开发人员或系统管理员编写的可执行脚本或命令的,它的启动顺序是在系统所有服务加载完成之后执行。
ubuntu22.04系统已经默认安装了rc-local.service服务,用户可自行创建开机脚本文件rc.local,即可使用。
1)创建/etc/rc.local
开机自启动脚本一般放在这个文件中,但是系统默认没有这个文件,需要用户创建。
sudo vi /etc/rc.local //创建并编辑rc.local文件
sudo chmod +x /etc/rc.local //增加权限
rc.local文件内容:
#!/bin/sh
echo “rc.local is working” > /home/aiec/rclocaltest.log
其中,第一行必须添加。echo行内容为脚本验证用。用户可自行添加其它内容。
重启,验证是否有包含“rc.local is working”内容的/home/cookoo/rclocaltest.log的文件。
2)查看rc-local服务状态:
systemctl status rc-local.service #查看rc-local服务状态
可从/var/log和/var/crash目录下,获取完整log文件。
因ADU505为上电自启动,所以需要关机时,在保存数据、退出程序后,关机。
1.软关机
命令行方式
sudo poweroff
2.软重启
sudo restart
1)硬件连接方法:
2)设备节点映射关系
网口对应名称如下表所示:
| 物理接口名称 | 网口配置名称 | 出厂配置 | 备注 |
|---|---|---|---|
| ETH1 | ETH1 | DHCP 自动获取 | 独立千兆 |
| ETH2 | ETH2 | DHCP 自动获取 | 独立千兆 |
| ETH3 | ETH3 | DHCP 自动获取 | 独立千兆 |
| ETH4 | ETH4 | 192.168.100.146 固定 IP,用户可自行修改 | 独立千兆 |
如需配置IP,可从桌面右上方进入网络配置,进行手动配置,如下图所示。
在Wired对话框中,点击IPv4页,选择“Manual”,在下方“Addresses”、“DNS”、“Routes”栏中按需输入相关内容,同时按需关闭“Automatic”按钮。
使用nmcli命令进行配置,依次执行:
1)修改配置文件(第一次使用时)
sudo vi /etc/NetworkManager/NetworkManager.conf
#将其中的“managed=false”改为“managed=true”,保存退出
2) 重启NetworkManager服务
sudo systemctl restart NetworkManager.service
3)使用nmcli命令配置静态IP(举例):
语法:
sudo nmcli connection add con-name <连接名> ifname <网卡名> type <连接类型> ipv4.method manual ipv4.addresses <ipv4地址> ipv4.gateway <ipv4网关地址> ipv4.dns <ipv4 dns服务器>
#例
sudo nmcli connection add con-name test ifname eth0 type ethernet ipv4.method manual ipv4.addresses 192.168.0.148/24 ipv4.gateway 192.168.0.1 ipv4.dns 192.168.0.1
其中:<连接名>-自定义;<网卡名>-eth0/eth1/enp2s0等,需与实际名称一致;
<连接类型>-ethernet。
上例中,为eth0建立了一个名为test的manual连接,其中IP地址为192.168.0.148。
更多参数配置,请参考nmcli --help命令。
4)激活连接:
语法:
sudo nmcli connection up <连接名> ifname <网卡名>
#例
sudo nmcli connection up test ifname eth0
至此,为eth0手动添加了一个静态IP连接。需注意,eth0之前的连接仍然存在,可使用nmcli c命令查询,nmcli c delete命令删除多余连接。
1. 测试是否可以自动获取IP
配置为DHCP时,插入网线,使用ifconfig命令查询对应网口是否可以看到IP,或在桌面右上方网络配置处查看。
2. 测试是否可以ping通
方法一:可ping通网关,即可按ctrl +c退出。
方法二:可ping通www.baidu.com(联网状态),即可按ctrl +c退出。
以太网POE功能开机默认自动开启。
使用前需安装好Wi-Fi 5天线(1根)。
在桌面右上角会出现网络连接图标,找到要连接的Wi-Fi名称并点击,然后在弹出的密码框输入密码并点击连接即可。
连接后测试是否可以ping通。
如需将设备配置为Wi-Fi热点,进入并点击Settings→Wi-Fi→“三个点图标”(右上方)→Turn On Wi-Fi Hotspot...,在弹出的对话框中输入名称和密码,点击Turn On,即可看到设置的Wi-Fi热点。
注:因Ubuntu系统bug,若Turn On Wi-Fi Hotspot...选项为灰色不可点击,可点击左侧Settings下的Network选项,再重新点击Wi-Fi→“三个点图标”(右上方),即可点击Turn On Wi-Fi Hotspot...。
如需保存热点配置重启后依旧生效,可采用如下方法:
在命令行,切换到aiec账号,输入sudo nm-connection-editor,在弹出的对话框中,点击+,选择Wi-Fi,点击Creat...,在弹出的对话框中进行相关配置后,点击Save即可,可参考下图。
注:Device内容,建议手动删除MAC地址,只保留wlan0,避免因MAC地址变化导致重启后配置失效。
5G模组为选配。使用前需在断电情况下,接好5G天线、取下后面板插入5G Micro-SIM卡(SIM卡金属面朝向板上基座、缺口朝里,不支持热插拔)。
5G功能出厂默认已配置完成,可直接使用连接网络。
开机自动拨号成功后,可用ifconfig命令看到usb0节点获取到了IP,如下图:
AT指令操作方法:
sudo busybox microcom -s 115200 /dev/tty5g
常见AT指令如下,更多AT配置信息,请查询5G模块AT命令手册。
ATE 1 //开启回显
ATI //查询型号ID及固件版本信息
AT+CPIN? //设备PIN管理
AT+QSIMSTAT? //SIM卡插拔状态上报
AT+QNWINFO //查询网络信息
AT+CGPADDR //查看PDP地址
定位模组为标配,如已选配,出厂缺省会配置好。使用前需接好GPS天线。
普通GPS模式,也可通过如下指令获取GPS数据。
sudo cat /dev/ttyTHS1 //默认波特率9600
运行结果为
设备输出4路1PPS信号(GPS-PPS-OUT),并通过4路串口(GPS-RS232-OUT)发送脉冲上升沿产生时间的NMEA GPRMC消息,消息示例:
GNRMC,124354.90,A,3910.01737,N,11721.55637,E,0.023,,171224,7.29,W,A,V*50
其中“124354.90”为每秒产生脉冲时的时间戳(UTC时间),支持PPS同步模式的传感器会通过接受到的PPS以及GPRMC消息对自身时钟系统进行校时,使之与设备之间的系统时钟保持一致。
接口为/dev/pps1。可用pps-tools工具
#获取信息
sudo ppstest /dev/pps1
结果显示:
ADU505共包含2路CAN,其中ARM 1路, MCU 1路。CAN速率默认500K,ARM CAN支持CAN FD定制开发。
以下为CAN接口对照表,其中CK_CAN为cookoo_sdk.h中定义的CAN通道号。
| 线束标识 | 对应模块 | Socket CAN | Cookoo_sdk/CK_CAN |
|---|---|---|---|
| CAN1_H/L | ARM | can0 | CK_CAN1 |
| CAN2_H/L | MCU | 不支持 | CK_CAN2 |
可以使用socket CAN独立配置ARM的1路CAN(CAN0),出厂已完成CAN基本配置。配置如下:
1) 查看配置信息
2) 发送和接收验证
a)ADU505发送测试
发送:
cansend can0 200#1122334455667788 // CAN0连接
接收:CAN控制器查看接收数据
b)ADU505接收测试
CAN0连接CAN控制器
发送:使用CAN控制器给CAN0发送数据。
接收:
candump can0
3)常见问题
ip -d -s link show can0
#检查波特率是否和之前设置的值相同。
#检查error信息是否为0
#如果以上都没有问题,请检查硬件连接
#如果有问题,并且找不到问题点,请联系技术支持人员排查。
出厂的产品中,提供了CAN SDK使用方法的示例程序。布谷鸟CAN example位置:
/usr/local/cookoo/examples/example-cookoo_can(对应源码为该目录下cookoo_can.cpp),运行程序请使用root权限。线束与SDK CAN通道号对应情况见CAN接口对照章节。
相关头文件、库位置:
/usr/local/cookoo/inc/、/usr/local/cookoo/lib
| 线束标识 | 对应模块 | 设备节点 | CookooSDK/UART_ID |
|---|---|---|---|
| RS232-RX1/TX1 | ARM | /dev/ttysWK0 | 0 |
| RS232-RX2/TX2 | ARM | /dev/ttysWK2 | 1 |
| UART3_RS485_A/B | ARM | /dev/ttysWK1 | 2 |
| UART4_RS485_A/B | ARM | /dev/ttysWK3 | 3 |
| UART5_RS422_A/B/Y/Z | ARM | /dev/ttyTHS3 | 4 |
| MCU_RS232-RX1/TX1 | MCU | 无 | 5 |
| UART6_RS422_A/B/Y/Z | MCU | 无 | 6 |
ADU505包含3路RS232(ARM 2路RS2332、MCU 1路RS2332)、2路422(ARM 1路RS422、MCU 1路RS422)、和2路RS485(ARM 2路R RS485),其中ARM端的两路RS232和两路RS485以及RS422可以通过读写设备节点进行收发测试。
两路RS232可以通过回环的方式测试:
将RS232-RX1接RS232-TX2,RS232-TX1接RS232-RX2。并打开两个设备终端一个用来发送,一个用来接收。操作设备节点前先通过sudo su切换到root。
测试RS232-1发送,RS232-2接收:
#终端1 RS232-2接收
sudo cat /dev/ttysWK2
#终端2 RS232-1发送
sudo echo "112233" > /dev/ttysWK0
测试RS232-1接收,RS232-2发送:
#终端1 RS232-1 接收
sudo cat /dev/ttysWK0
#终端2 RS232-1发送
sudo echo "112233" > /dev/ttysWK2
两路RS485可以通过回环的方式测试:
将UART3_RS485_A接UART4_RS485_A, UART3_RS485_B接UART4_RS485_B。并打开两个设备终端一个用来发送,一个用来接收。操作设备节点前先通过sudo su切换到root。
测试UART3_RS485接收,UART4_RS485发送:
#终端1 UART3_RS485接收,等待UART4_RS485发送数据
sudo cat /dev/ttysWK1
#终端2 UART4_RS485发送数据
sudo echo "112233" > /dev/ttysWK3
测试UART4_RS485接收,UART3_RS485发送:
#终端1 UART4_RS485接收,等待UART3_RS485发送数据
sudo cat /dev/ttysWK3
#终端2 UART3_RS485发送数据
sudo echo "112233" > /dev/ttysWK1
出厂的产品SDK软件中,提供UART SDK使用方法的示例程序。布谷鸟UART SDK example位置:/usr/local/cookoo/example-cookoo_uart(对应源码为该目录下cookoo_uart.cpp),运行程序请使用root权限。线束与UART通道号对应情况见UART接口对照章节。
相关头文件、库位置:
/usr/local/cookoo/inc/、/usr/local/cookoo/lib
ADU505共4路IN/OUT,均与MCU直接连接。
可参照布谷鸟提供的example程序,由ARM与MCU通讯,对IO进行控制。
以下为GPIO接口对照关系,其中CK_PIN为定义在cookoo_sdk.h头文件中的GPIO通道号。
| 线束标识 | Cookoo_sdk/CK_PIN |
|---|---|
| CTL-OUT/IN1 | CK_PIN_IO1 |
| CTL-OUT/IN2 | CK_PIN_IO2 |
| CTL-OUT/IN3 | CK_PIN_IO3 |
| CTL-OUT/IN4 | CK_PIN_IO4 |
布谷鸟IO example位置:
/usr/local/cookoo/examples/
源码为cookoo_pin.cpp,编译后程序为example-cookoo_pin,运行程序请使用root权限。
线束与GPIO通道号对应情况见GPIO接口说明章节。
相关头文件、库位置:
/usr/local/cookoo/inc/、/usr/local/cookoo/lib
ADU505标配256G(容量可选配)的SSD,SSD初始配置在出厂前已经完成,用户可以直接使用。
用户若自行购买SSD,请先联系布谷鸟科技进行确认是否支持。
1)设备无法开机 / 无法进入系统
确认电源线是否正确连接,电压是否正确,电源功率预留是否足够。保证存储空间有足够的余量。确认指示灯状态,可尝试 ssh 连接。
2)开机后,设备无网络
首先明确使用何种网络连接:以太网、5G 或 Wi-Fi 5。
以太网:确认网线是否连接牢固;检查网络配置。
4G/5G:确认 Micro-SIM 卡已激活、可用;确认安装正确;确认天线已连接。
Wi-Fi 5:确认天线已安装;确认已接入 Wi-Fi 网络。
3)GPS 数据
确认天线已正确安装,天线终端推荐置于户外无遮挡处,且天气晴朗时使用;确认定位工作模式,配置是否正确。
布谷鸟科技通过线上技术支持体系、电话技术指导、远程支持及现场技术支持等方式向用户提供及时有效的技术支持。
如果在设备维护或故障处理过程中,遇到难以确定或难以解决的问题,通过文档的指导仍不能解决,请通过如下方式获取技术支持:
登录开发者技术支持网站: http://www.cookoo-ai.com