1 相关链接
●官网链接:OrangePi AIpro
●官方资料下载(用户手册/工具/github源码/原理图/机械图等):http://www.orangepi.cn/html/hardWare/computerAndMicrocontrollers/service-and-support/Orange-Pi-AIpro.html
●官方镜像下载:
Ubuntuhttps://pan.baidu.com/s/1csbugZiKsuL_NHCOmyi1BA?pwd=ma6z
OpenEulerhttps://pan.baidu.com/s/1m932mWh82ShJnSaVuh1ipA?pwd=is63
●烧录工具 etcher
https://etcher.balena.io/
●华为昇腾社区相关:https://www.hiascend.com/forum/thread-0285140173361311056-1-1.html
2 简介
2.1 背景简介
2023.12月初,香橙派联合华为发布了基于昇腾的Orange Pi AIpro开发板,提供8/20TOPS澎湃算力,能覆盖生态开发板者的主流应用场景,让用户实践各种创新场景,并为其提供配套的软硬件。而价格更是极为亲民,8TOPS、8GB内存的创客价/预售价仅为799元,8TOPS、16GB内存的创客价/预售价仅为999元。
2.2 综合简介
作为业界首款基于昇腾深度研发的AI开发板,Orange Pi AIpro无论在外观上、性能上还是技术服务支持上都非常优秀。采用昇腾AI技术路线,集成图形处理器,拥有8GB/16GB LPDDR4X,可以外接32GB/64GB/128GB/256GB eMMC模块,支持双4K高清输出,8/20 TOPS AI算力。
其丰富的接口更是赋予了Orange Pi AIpro强大的可拓展性。包括两个HDMI输出、GPIO接口、Type-C电源接口、支持SATA/NVMe SSD 2280的M.2插槽、TF插槽、千兆网口、两个USB3.0、一个USB Type-C 3.0、一个Micro USB、两个MIPI摄像头、一个MIPI屏等,预留电池接口。
在操作系统方面,Orange Pi AIpro支持Ubuntu、openEuler操作系统,满足大多数AI算法原型验证、推理应用开发的需求,可广泛适用于AI边缘计算、深度视觉学习及视频流AI分析、视频图像分析、自然语言处理、智能小车、机械臂、人工智能、无人机、云计算、AR/VR、智能安防、智能家居等领域,覆盖 AIoT各个行业。
2.3 板端说明
----------------------------------------------开箱图片-----------------------------------------
----------------------------------------------说明图片-----------------------------------------
3 常见AIOT综合对比:
3.1 综合对比
OrangePi AIPro / Nvidia Jetson Nano/ Nvidia Jetson NX2 / 树莓派 4B
功能类别 | 香橙派 AI Pro | Nvidia Jetson Nano | Nvidia Jetson Xavier NX | 树莓派 4B |
---|---|---|---|---|
CPU | 4核64位处理器 + AI处理器 | 四核 ARM Cortex-A57 | 6核 ARM v8.2 64位CPU,6个Carmel ARM核心 | 四核 ARM Cortex-A72 (64位) |
GPU | 集成图形处理器 | 128核 Maxwell | 384核 Volta GPU,48个张量核心 | Broadcom VideoCore VI |
AI算力 | 8 TOPS INT8 | 472 GFLOPS (FP16) / 2TOPS(INT8) | 1.33 TFLOPs/ 21 TOPS (INT8) | 无(没有专用AI硬件) |
内存 | 8GB/16GB LPDDR4X | 4GB LPDDR4 | 8GB/16GB LPDDR4x | 2GB, 4GB 或 8GB LPDDR4 |
存储 | 32MB SPI Flash,eMMC,NVMe/SATA SSD,TF卡槽 | microSD, eMMC (16GB),M.2 Key E 插槽 | 16GB eMMC,NVMe SSD | microSD |
网络 | 10/100/1000 Mbps 以太网 | 10/100/1000 Mbps 以太网 | 10/100/1000 Mbps 以太网 | 10/100/1000 Mbps 以太网 |
无线 | Wi-Fi 5,BT4.2/BLE | Wi-Fi + BT(通过模块) | Wi-Fi 5,BT5.0 | Wi-Fi 5,BT5.0 |
显示输出 | 2x HDMI 2.0,1x MIPI DSI | HDMI 2.0 | 2x HDMI 2.0,1x DP | 2x micro-HDMI |
摄像头接口 | 2x MIPI CSI | 1x MIPI CSI | 2x MIPI CSI | 2x MIPI CSI-2 |
USB端口 | 2x USB 3.0,1x USB-C 3.0,1x Micro USB | 4x USB 3.0 | 4x USB 3.1,1x USB-C | 2x USB 3.0,2x USB 2.0 |
音频 | 3.5mm耳机孔音频输入/输出,HDMI音频 | HDMI音频 | HDMI音频 | 3.5mm耳机孔,HDMI音频 |
扩展接口 | 40针 GPIO,UART,I2C,SPI,I2S,PWM | 40针 GPIO,I2C,I2S,SPI,UART | 40针 GPIO,UART,I2C,SPI | 40针 GPIO,UART,I2C,SPI,I2S,PWM |
电源供应 | USB-C PD 20V(65W) | 5V 4A DC | 5V 4A DC | 5V 3A DC 通过 USB-C |
尺寸 | 107mm x 68mm | 100mm x 80mm | 87mm x 55mm | 85mm x 56mm |
重量 | 82g | 87g | 125g | 46g |
支持操作系统 | Ubuntu, openEuler | Linux(Ubuntu), L4T | Linux(Ubuntu), L4T | 树莓派 OS,Ubuntu 等 |
AI功能 | 配备AI处理器,提供8 TOPS INT8算力 | 提供472 GFLOPS FP16算力 | 提供21 TOPS算力 | 无专用AI处理器,支持通过CPU/GPU运行AI任务 |
生态系统 | 支持Orange Pi和华为生态系统,兼容树莓派配件 | Nvidia强大的Jetson生态系统支持 | 属于Nvidia Jetson系列,享有先进的工具和框架 | 拥有庞大的社区支持,广泛的软件和配件兼容 |
使用场景 | 教育,机器人,无人机,AI驱动的IoT应用 | AI开发,计算机视觉,机器人,边缘AI应用 | 高级机器人,自动化机器,边缘AI,智能基础设施 | 教育,DIY项目,基础AI/ML任务,家居自动化 |
专家评估 | 适用于需要高AI算力的专业或爱好者应用,性价比高 | 适合入门级AI项目和强大的社区支持 | 高性能AI任务的最佳选择,但成本较高 | 用于通用IoT项目和教育目的,性价比高 |
价格 | 大约 ¥800 - 1500 | 大约 ¥650-¥700 | 大约 ¥3000-¥5500 | 大约 ¥350-¥700 |
tips: 以上内容 2024.05左右京东物价和网上资料汇总对比,如有差异以后面内容为准
综合比较硬件和性能,综合实力测评排序如下:
nvidia jetson nx2 > orange pi aipro > nvidia jetson nano > resperry pi
3.2 选型考虑
从专业选型和使用角度来选一个购买,要看具体需求和使用情况(以下观点个人经验之谈,纯属瞎聊,大佬勿喷)。
1)如果是大型算法(>=2080ti以上算力需求)并且使用pytorch平替想要很快业务迁移、没有国产化需求、经费充裕的话,我觉得nx2是最优选,其实很多人形机器人或者扫地机器人也是选择的nx2;
2)如果有一些应用部署经验(对于国产框架做过适配例如瑞芯微的rknn3399系列、华为的mindspore或者CANN用过,常见算法op要看一下是否支持)、经费性价比较高、有国产化需求的,我觉得还是选择OrangePi AIPro,这个性价比还是非常高的,而且昇腾社区在国内还是挺活跃的。
3)我觉的json nano 这个就是纯属熟悉和入门AIot级别比较好的内容了、社区和github上项目很多,另外也推荐国内瑞芯微的rk3399系列(贵一些)他还有 AI算力棒 18系列吧,可以玩一下做一些项目。
4)树莓派的话,我觉得搭个小网站,做一些简单板端外围扩展应用,学习一些cpu加速方法例如openvino,性价比很高。给刚入门小白玩玩是挺好的,或者真正大佬把大点模型量化到cpu可跑也是NB。但是现在感觉4b好像贵了好多,现在好像500+了,要省钱可以买老版本的。
4 基础使用
4.1 连接配置和远程连接
(1)使用hdmi连接显示屏和香橙派hdmi接口
注意:开发板有两个 HDMI 接口, 目前只有 HDMI0 支持显示 Linux 系统的桌面,
HDMI1 还需等软件更新。 如果想显示 Linux 系统的桌面, 请将开发板的 HDMI0 接
口连接到 HDMI 显示器。
(2)开发板上电开机后, 需要等待一段时间, HDMI 显示器才会显示 Linux 系统的
登录界面, 登录界面如下图所示
Linux 桌面系统的默认登录用户为 HwHiAiUser, 登录密码为 Mind@123。 目
前没有打开 root 用户登录的通道。
Linux 系统默认登录账号和密码
账号 | 密码 |
---|---|
root | Mind@123 |
HwHiAiUser | Mind@123 |
(3)连网,设置静态ip,
右上角网络连接,输入现有网络账号密码,正常连网。
因为希望每次重启之后,可以直接使用其他软件直接远程访问固定地址、摆脱每次都需要连接显示器的困恼、跨平台使用,可以考虑设置静态ip。
- 如果要设置网口的静态 IP 地址, 请先将网线插入开发板, 如果需要设置 WIFI
的静态 IP 地址, 请先连接好 WIFI, 然后再开始设置静态 IP 地址。 - 然后通过 nmcli con show 命令可以查看网络设备的名字, 如下所示:
a. orangepi 为 WIFI 网络接口的名字(名字不一定相同) 。
b. Wired connection 1 为以太网接口的名字。
- 然后输入下面的命令, 其中:
a. "Wired connection 1" 表示设置以太网口的静态 IP 地址, 如果需要设置
range Pi WIFI 的静态 IP 地址, 请修改为 WIFI 网络接口对应的名字( 通过 nmcli
con show 命令可以获取到) 。
b. ipv4.addresses 后面是要设置的静态 IP 地址, 可以修改为自己想要设置的值。
c. ipv4.gateway 表示网关的地址。(base) HwHiAiUser@orangepiaipro:~$ sudo nmcli con mod "Wired connection 1" \ ipv4.addresses "192.168.1.110" \ ipv4.gateway "192.168.1.1" \ ipv4.dns "8.8.8.8" \ ipv4.method "manual"
- 然后重启 Linux 系统。
(base) HwHiAiUser@orangepiaipro:~$ sudo reboot
- 然后重新进入 Linux 系统使用 ip addr show eth0 命令就可以看到 IP 地址已经设
置为想要的值了。(base) HwHiAiUser@orangepiaipro:~$ ip addr show eth0
(4)远程访问
如果是在同一个wifi内, 推荐使用
●moboxterm (终端操作)
●nomachine (需要有画面、看一些实际效果展示)
官网:https://downloads.nomachine.com/download/?id=118&distro=ARM
查看一下配置
注意:下载arm版本的!而且是arm8
Click on Download and save the DEB file.
Install the package by using the graphical package manager provided by your Linux distribution or from command line by running:
$ sudo dpkg -i nomachine_8.11.3_3_arm64.deb
在windows电脑上可以看到:
改成对应的固定ip地址
其他问题:
a. Nomachine远程黑屏通用处理方法: https://blog.csdn.net/Bing_Lee/article/details/136997628
b. 防止休眠方法:
(base) HwHiAiUser@orangepiaipro:~/Software$ sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
如果是希望远程访问,可以使用
●向日葵或者 teamviewer
(如果和树莓派类似的话,应该可以使用Linux arm64麒麟版本)
下载地址:https://sunlogin.oray.com/product/localization
安装:(base) HwHiAiUser@orangepiaipro:~/Software$ sudo dpkg -i ./SunloginClient_11.0.1.44968_kylin_arm.deb
打开左上角,internet ->sunlogin client可以看到安装的向日葵
在自己电脑上,打开香橙派记录下对应的device id /passcode,理论上可以从远程直接连接
●另外也推荐一种常用的vscode ssh remote连接板端的方法
可以参考这个链接:
https://www.cnblogs.com/Lavender-edgar/p/17923473.html
4.2 基础工具安装和配置
4.2.1 vscode
下载链接:https://code.visualstudio.com/download#
(base) HwHiAiUser@orangepiaipro:~/Software$ sudo dpkg -i code_1.89.1-1715058876_arm64.deb
terminal中输入code可以召唤vscode
安装一些常用vscode常用插件
4.3 基础演示内容
官方在镜像中预装了 Jupyter Lab 软件。 Jupyter Lab 软件是一个基于 web 的交
互式开发环境, 集成了代码编辑器、 终端、 文件管理器等功能, 使得开发者可以在
一个界面中完成各种任务。 并且我们在镜像中也预置了一些可以在 Jupyter Lab 软
件中运行的 AI 应用样例。 这些样例都是使用 Python 编写的, 并调用了 Python 版
本的 AscendCL 编程接口。 本章节介绍如何登录 jupyter lab 并在 jupyter lab 中运行
这些预置的 AI 应用样例。
4.3.1 jupyter lab
●使用方案1: jupyter notebook 网页打开
首先登录 Linux 系统桌面, 然后打开终端, 再切换到保存 AI 应用样例的目录下。
(base) HwHiAiUser@orangepiaipro:~$ cd samples/notebooks/
在当前目录下有 9 个文件夹和 1 个 shell 文件, 分别对应 9 个 AI 应用样例和
Jupyter Lab 启动脚本 start_notebook.sh。(base) HwHiAiUser@orangepiaipro:~/samples/notebooks$ ls 01-yolov5 06-human_protein_map_classification 02-ocr 07-Unet++ 03-resnet 08-portrait_pictures 04-image-HDR-enhance 09-speech-recognition 05-cartoonGAN_picture start_notebook.sh
3)然后执行 start_notebook.sh 脚本启动 Jupyter Lab。(base) HwHiAiUser@orangepiaipro:~/samples/notebooks$ ./start_notebook.sh
- 在执行该脚本后, 终端会出现如下打印信息, 在打印信息中会有登录 Jupyter
Lab 的网址链接。
- 然后打开火狐浏览器。
- 再在浏览器中输入上面看到的网址链接, 就可以登录 Jupyter Lab 软件了。
- 登录 Jupyter Lab 后的界面如下所示, 左侧文件管理器中是 9 个 AI 应用样例和
Jupyter Lab 启动脚本。
●使用方案2: vscode
可以使用4.2.1 vscode直接在里面运行jupyter notebook
就是在右上角选择kernel选择base
4.3.2 图像分类
ResNet 是最经典的视觉分类网络之一, 在这个样例中我们选取了 ResNet50,
也是 ResNet 最常用的变体。 在样例中已经包含转换后的 om 模型和测试图片, 可
以按照以下流程在 Jupyter Lab 中运行该样例。
逐步运行main.ipynb,最终显示对于dog的识别结果
4.3.3 目标检测
YOLOv5 是一种单阶段目标检测器算法, 在这个样例中, 官方选取了YOLOv5s, 它是 YOLOv5 系列中较为轻量的网络模型, 适合在边缘设备部署, 进行实时目标检测。 在样例中已经包含转换后的 om 模型和测试视频、 图片, 可以按照以下流程在 Jupyter Lab 中运行该样例。
在“01-yolov5”目录下有运行该示例的所有资源, 其中 mian.ipynb 是在 Jupyter Lab 中运行
该样例的文件, 双击打开 main.ipynb, 在右侧窗口中会显示 main.ipynb 文件中的内容。
在该目录下有运行该示例的所有资源, 其中 mian.ipynb 是在 Jupyter Lab 中运行该样例的文件, 双击打开 main.ipynb, 在右侧窗口中会显示 main.ipynb 文件中的内容。
在 main.ipynb 文件中 infer_mode 的值可赋值为 image、 video 和 camera, 分别对应对图片、 视频、 USB 摄像头中的内容进行目标检测, 默认值为 video。
我们使用vscode逐条运行,打开smi显示npu使用情况,可以看到最高的时候AICOERE使用到了29%.
感觉能够使用yolov5s整体跑下来,能支持的op已经不少了,可以把训练任务搞一下,然后再看看怎么.pth ->om,就可以整体做一下应用了。但是这个视频播放时候还是比较卡顿fps >15的话,会流畅很多。我个人觉得可以考虑多线程分阶段处理和使用mot跟踪+检测方法,有较大优化空间。
4.3.4 其他
还有不少第三方的其他案例内容可以参考:
●基于香橙派部署Tiny-Llama大语言模型
https://gitee.com/wan-zutao/tiny-llama-manual-reset
●【OrangePi AIPro/Kunpeng Pro主频提升啦,加量不加价!】
https://www.bilibili.com/video/BV1VE421G74B/?share_source=copy_web&vd_source=5bf8b5dcc1c9a6f7644fd6bd3437ead3
●orangepi_aipro小修补含yolov7多线程案例
https://www.hiascend.com/forum/thread-0222149764649866023-1-1.html
●香橙派AIpro外设接口样例大全(附源码):
https://www.hiascend.com/forum/thread-0239145098860634139-1-1.html
●「YOLO-V8」 香橙派AIpro 上量化(int8/fp16)和部署 yolov8 目标检测模型(1):
https://www.hiascend.com/forum/thread-0225143546118034040-1-1.html
后续有时间可以继续深入做一下,大有可为。
ref
购买链接:
- 淘宝店铺:https://item.taobao.com/item.htm?spm=a21dvs.23580594.0.0.52de3d0dSuCWxb&ft=t&id=754769404362%E3%80%81https://item.taobao.com/item.htm?spm=a21dvs.23580594.0.0.621e3d0dsM3DgP&ft=t&id=754767816159
- 京东店铺:https://item.jd.com/10092318175356.html
●「AI pro 全面对比 RK3588」NPU 暂时领先,但仍远逊于NVIDIA
https://www.hiascend.com/app-forum/topic-detail/0281143834564881056
●jetson nano: https://developer.nvidia.com/embedded/learn/jetson-nano-2gb-devkit-user-guide
●nx2 用户手册: https://developer.nvidia.com/embedded/downloads
●树莓派:https://developer.nvidia.com/embedded/learn/jetson-nano-2gb-devkit-user-guide
orangepi 向日葵参考 https://www.bilibili.com/read/cv17908907/
https://zhuanlan.zhihu.com/p/680785338
●AI pro 全面对比 RK3588」NPU 暂时领先,但仍远逊于NVIDIA
https://www.hiascend.com/app-forum/topic-detail/0281143834564881056