文章目录
- 一、引言
- 二、硬件开箱与介绍
- 1.硬件清单
- 2.硬件介绍
- 三、软件介绍
- 四、性能测试
- 1. 功率测试
- 2. cpu测试
- 2.1 单线程cpu测试
- 2.2 多线程cpu测试
- 五、实际开发体验
- 1. 搭建API服务器
- 2. ONNX推理测试
- 3. 在线推理平台
- 五、测评总结
- 1. 能与硬件配置
- 2. 系统与软件
- 3. 实际开发体验
- 个人总结
一、引言
近期,香橙派(Orange Pi) 联合华为再次发布力作—OrangePi Kunpeng Pro。这是两家公司合作发布OrangePi AI pro之后的又一力作。OrangePi Kunpeng Pro是一块基于鲲鹏面向开发者的开发板,具有鲲鹏主板的完整能力,内置 openEuler 开源操作系统、openGauss
开源数据库和鲲鹏开发套件 DevKit
。这意味着香橙派将成为面向通用计算的鲲鹏和面向人工智能计算的昇腾两大计算产业的参与者。通过搭载华为的“鲲鹏+昇腾”双引擎,国产开发板将在通用计算和人工智能计算方面迈上新的高度。
此次非常荣幸能够测评OrangePi Kunpeng Pro,下面给出官方的配置介绍:
- OrangePi Kunpeng Pro采用4核64位处理器+AI处理器,集成图形处理器,支持8TOPS AI算力,拥有8GB/16GB LPDDR4X,可以外接32GB/64GB/128GB/256GB eMMC模块,支持双4K高清输出。
- OrangePi Kunpeng Pro引用了相当丰富的接口,包括两个HDMI输出、GPIO接口、Type-C电源接口、支持SATA/NVMe SSD 2280的M.2插槽、TF插槽、千兆网口、两个USB3.0、一个USB Type-C 3.0、一个Micro USB(串口打印调试功能)、两个MIPI摄像头、一个MIPI屏等,预留电池接口等。
- OrangePi Kunpeng Pro支持openEuler操作系统,满足大多数AI算法原型验证、推理应用开发的需求,同时可以为各种应用场景提供更高效的算力,如云计算、大数据、分布式存储、高性能计算等。
二、硬件开箱与介绍
1.硬件清单
附带清单:开发板1,电源65W头1,C口数据线1,32G内存卡1(附带openEuler系统)(这里值得提一下的是,香橙派官方提供的Type-c 快速充电器,支持65W快充,非常nice!!👍)
首次看到OrangePi Kunpeng Pro开发板子
,我的第一感觉就是做工极为扎实。深黑色的PCB板散发着一种高端而专业的气质。仔细观察之下,我发现OrangePi Kunpeng Pro设计既合理又规整,配备了一个大型散热器,能有效地为板子散热,确保CPU性能得以充分发挥。但是,我发现天线是一片金属箔,在使用时,我们确实需要特别留意,不要将这片金属箔置于PCB板下方,因为这可能会导致短路的风险。
2.硬件介绍
- 处理器和存储方面:
OrangePi Kunpeng Pro搭载了强大的4核64位处理器和集成AI处理器,提供了高达8 TOPS的AI算力,能够应对复杂的计算任务。其内存采用LPDDR4X
,容量可选8GB或16GB,速率高达3200 Mbps。存储方面,支持多种存储选项,包括32MB的SPI FLASH
、可扩展的SATA/NVME SSD
(M.2接口2280)以及32GB至256GB的eMMC 5.1 HS400
,还配备了TF卡
插槽,确保存储灵活性。
- 网络连接与串口通信方面:
网络连接通信方面,设备支持Wi-Fi 5双频(2.4G和5G)
和蓝牙4.2/BLE
,提供了千兆以太网接口,保证高速稳定的网络传输。显示接口丰富,包括2个支持4K@60帧的HDMI 2.0接口和1个MIPI DSI
接口,满足高分辨率显示需求。摄像头接口兼容树莓派摄像头,提供2个2-lane MIPI CSI
接口。USB接口齐全,包括2个USB 3.0 HOST
接口、1个USB Type-C 3.0 HOST
接口和1个用于串口打印的Micro USB
接口。音频方面,配备3.5mm耳机孔,支持音频输入输出。设备还配有多种按键和扩展接口,包括关机键、RESET键、启动方式拨动键、烧录按键,以及40PIN
功能扩展接口,支持GPIO、UART、I2C、SPI、I2S、PWM等多种外设连接。
经过上述的介绍,我们不难发现OrangePi Kunpeng Pro的配置相当高端,接口设计极为丰富。与树莓派系列相比,OrangePi Kunpeng Pro无需额外购买转换器,为用户实际开发提供了极大的便利。而最让我兴奋的是,OrangePi Kunpeng Pro竟然配备了M.2接口,这一接口不仅兼容SATA/NVME SSD
协议,还支持eMMC
存储方案,这无疑大大拓宽了其存储应用的可能性。
三、软件介绍
在介绍软件之前先开机进入系统,当插入电源后板子就自动开机(接电自动开机,在实际开发过程中这个是非常方便的👍), 此时会听到风扇正在高速运转,大概半分钟左右,风扇恢复正常转速,几乎没有噪声(除非耳朵贴近)。然后,使用HDMI线连接显器,可以发现已经进入系统的登录界面,如图3.1。原厂已经预先烧录了openEuler
系统,这一点无疑让我赞赏。对于初学者来说,这种即插即用的体验十分友好,省去了许多自行安装系统的繁琐步骤,让学习变得更加轻松和高效。
开机这里在我测试的过程中遇到了一个小麻烦,当我先连接HDMI视频线到显示器后再插电源开机,发现显示器并没有正常显示而是无信号连接,后来经过多次尝试,发现先接通电源线开机,等风扇转速稳定后再连接HDMI线就可以正常显示了。这个问题不知道是缺陷还是还是我的板子问题。
如图3.1所示,出厂已经烧录了openEuler
系统,默认的账号和密码均为openEuler
。
输入密码进入系统发现和常见的Linux桌面差不多。
简单的打开软件和浏览网页,非常的流畅丝滑,这无疑证明了软件与硬件之间的协同优化
达到了极高水平。这种出色的表现,不仅彰显了系统的高效运行能力,也体现了制造商在软硬件结合方面的精湛技艺。简而言之,这款产品的流畅体验,正是软硬件优化完美结合的最好诠释。
打开终端,输入cat /etc/os-release
查看系统版本信息。
我拿到的是22.03(LTS-SP3)
版本。
仔细观察发现系统的时间不正确,我们先连接网络,打开设置
,找到Wi-Fi
,选择WIFI进行连接。
连接后打开设置
,找到日期和时间
,点击解锁
。
设置这里需要输入admin
密码依然是openEuler
。
获取权限后,选择自动设置日期和时间
和正确的时区
。
观察发现,系统还预装了vs code。👍
软件方面总结来说分为以下几点:
- 系统预装了
openEuler
、openGauss
和DevKit
。内置的openEuler
操作系统和openGauss
数据库提供了高效、稳定和安全的体验,支持多种硬件架构和虚拟化技术,适用于各种企业级边缘计算应用场景。内置的DevKit
开发工具集成了编辑、编译、调试、测试和优化工具,满足端到端开发需求。 - 这款设备还助力高校计算机系统能力的教学,支持设计计算机系统能力课程,适用于服务器课程创新、云计算课题创新、边缘计算课程创新以及嵌入式课程创新。一块OrangePi Kunpeng Pro即可满足从本科到研究生的系统化学习需求。
- 设备提供类似PC的桌面环境,支持图形化桌面(如gnome)、浏览器(如firefox)、文本编辑器(如gedit)、中文输入法和shell终端,简化了上手难度。
- 设备还支持鲲鹏全栈原生开发,适用于开发各种创新应用场景,包括教育教学、无人机、小车、智能家居、机械手臂和物联网等。
四、性能测试
在测试开始前,我首先尝试了一下远程SSH连接。由于我当前的环境并不具备直接连接局域网的条件,我便利用了笔记本电脑的网络共享功能。我将OrangePi Kunpeng Pro设备连接到笔记本所共享的网络上,这样简单地构建了一个临时局域网环境,为接下来的测试工作做好了准备。
成功建立连接后,在笔记本上能发现OrangePi Kunpeng Pro的IP地址。随后,我使用xshell进行尝试远程连接。板子默认安装和开启了ssh,只需在xshell中输入正确的IP地址、账号以及密码,即可迅速与板子建立连接,这一流程简洁而高效。如图4.2所示,连接成功后,我们可以清晰地看到一些简单的连接信息和系统状态。这些信息不仅帮助我们确认连接已建立,还为我们提供了关于系统当前状态的直观了解。
1. 功率测试
我这里正好有一个充电器电压测试模块,关机------连接开发板进行测试。
OrangePi Kunpeng Pro开机功率测试
通过上方视频可以发现,在刚开始风扇处于高转速模式,实际功率在12w左右,风扇变为正常转速时实际功率在9w左右。
OrangePi Kunpeng Pro轻度负载功率测试
通过浏览器播放视频,功率在10w左右。
2. cpu测试
- 系统更新
更新yum包管理器,使用下方命令:
sudo yum update -y
结果:
安装测试工具
使用以下命令:
sudo yum install sysbench
安装结果:
2.1 单线程cpu测试
使用 sysbench
进行单线程 CPU 测试的命令如下:
sysbench --test=cpu --cpu-max-prime=20000 --num-threads=1 run
参数说明:
--test=cpu
:指定测试类型为 CPU。--cpu-max-prime=20000
:设定一个较大的素数上限,增加计算量。--num-threads=1
:设置线程数量为 1,也就是单线程测试。
结果:
在 sysbench
单线程 CPU 测试中,CPU 以每秒 814.75 个事件的速度处理任务,总共处理了 8152 个事件。平均每个事件的延迟为 1.23 毫秒,延迟非常稳定,最大延迟仅为 1.83 毫秒。测试运行了 10 秒,显示出 CPU 在单线程任务中的高效和稳定性能。
2.2 多线程cpu测试
使用 sysbench
进行多线程 CPU 测试的命令如下:
sysbench --test=cpu --cpu-max-prime=20000 --num-threads=4 run
参数说明:
-
--test=cpu
:指定测试类型为 CPU。 -
--cpu-max-prime=20000
:设定一个较大的素数上限,增加计算量。 -
--num-threads=4
:设置线程数量为 4,表示进行多线程测试。
结果:
在 sysbench
多线程 CPU 测试中,使用 4 个线程运行。结果显示 CPU 每秒处理 2424.78 个事件,总共处理了 24262 个事件。平均每个事件的延迟为 1.65 毫秒,最小延迟为 1.22 毫秒,最大延迟为 26.24 毫秒,95 百分位延迟为 1.32 毫秒。每个线程平均处理 6065.5 个事件,标准偏差为 1434.94,表明线程间的负载分布略有不均。测试总时间为 10 秒,显示了 CPU 在多线程任务下的性能和延迟情况。
五、实际开发体验
1. 搭建API服务器
这里我尝试搭建一个简单的API微型服务器,选择python的Django后端框架开发API接口,接下来上传代码进行简单的测试。
先在主目录下创建一个www文件夹用于存放网站文件。
这里我通过FileZilla
是同SFTP
进行连接上传代码文件,上传完成后对代码进行解压。
输入python
命令时,发现系统已经自带了Python 3.9的环境,这一点非常便利和值得称赞。这意味着我们无需额外安装Python,就可以直接开始编写和运行Python代码了。这种预安装的环境将极大地提高我们的开发效率,让我们能够更快地投入到实际的编程工作中。
使用pip install -r requirements.txt
安装环境。
安装完成后,使用命令 python manage.py runserver 0.0.0.0:8080
启动项目发现速度非常的快。
启动成功后,系统默认没有启用防火墙,我们可以在局域网内直接进行访问。
访问成功而且速度非常的快
2. ONNX推理测试
这里我使用了PaddleDetection 的 PublicPP-PicoDet超轻量实时目标检测模型,使用官方的demo官方的进行测试。
点击上方的链接,我们下载后上传到服务器并解压。
安装环境包
pip install opencv-python tqdm onnxruntime -i https://pypi.tuna.tsinghua.edu.cn/simple/
结果:
在刚才的的官方demo页面下载官方提供的ONNX( w/ 后处理)并上传到服务器。
我们进入到demo的文件目录,使用命令python main.py --modelpath picodet_xs_320_lcnet_postprocessed.onnx
(注意替换模型路径)
可以看到运行成功,速度非常的快。
3. 在线推理平台
我们结合前小节,简单的搭建一个在线检测平台。
- 配置 URL 路由。在
image_processor/urls.py
中添加process
的路由:
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('process/', include('process.urls')),
]
- 创建
process/urls.py
文件并添加路由:
from django.urls import path
from . import views
urlpatterns = [
path('', views.process_image, name='process_image'),
]
-
编写视图来处理图像上传和处理。在
process/views.py
中添加以下代码:from django.http import HttpResponse import cv2 import numpy as np import io from apiai.det_api import PicoDet def process_image(request): if request.method == 'POST': if 'image' not in request.FILES: return HttpResponse('No image uploaded', status=400) image_file = request.FILES['image'] image = cv2.imdecode(np.fromstring(image_file.read(), np.uint8), cv2.IMREAD_COLOR) net = PicoDet("./apiai/picodet_xs_320_lcnet_postprocessed.onnx", "./apiai/coco_label.txt") srcimg = net.detect(image) # 将处理后的图像保存到字节流 _, img_encoded = cv2.imencode('.jpg', srcimg) img_io = io.BytesIO(img_encoded) return HttpResponse(img_io.getvalue(), content_type='image/jpeg') return HttpResponse('Invalid request method', status=405)
-
将前端的
index.html
文件放在Django项目的静态文件目录中,并确保settings.py
中配置了静态文件目录:python复制代码STATICFILES_DIRS = [ BASE_DIR / "static", ]
-
运行Django开发服务器:
python manage.py runserver 0.0.0.0:8080
结果:
笔者在笔记本打开浏览器访问 http://ip:8000/static/index.html
来打开页面。
访问成功!
我们上传照片测试推理。
同过上方动图可以发现推理速度非常的快。
五、测评总结
1. 能与硬件配置
OrangePi Kunpeng Pro 在硬件配置上无疑是极其强大的。其搭载的4核64位处理器和集成AI处理器,能够提供高达8 TOPS的AI算力,内存最高可达16GB LPDDR4X,确保了在处理复杂任务时的高效性能。同时,多样化的存储选项(包括支持SATA/NVME SSD的M.2插槽、eMMC模块和TF卡插槽)提供了极大的存储灵活性。丰富的接口设计(如双4K HDMI输出、USB 3.0、USB Type-C等)满足了各种外设连接需求,适用于多种应用场景。
2. 系统与软件
预装的openEuler
系统及其流畅的运行表现,展现了硬件与软件的高度协同优化。系统的默认安装和设置友好,特别适合初学者入门。同时,设备支持openGauss
数据库和鲲鹏开发套件DevKit
,为开发者提供了丰富的工具和资源。这些预装的软件不仅提升了设备的易用性,也使其在教育、研究和开发等多个领域具有广泛的应用前景。
3. 实际开发体验
在实际开发测试中,OrangePi Kunpeng Pro展现出了卓越的性能表现。通过搭建API服务器和进行ONNX
模型的推理测试,设备表现出极高的处理速度和稳定性
。在搭建在线推理平台时,其出色的处理能力和响应速度进一步证明了其在AI计算和实时任务中的应用潜力。
优势:
- 高性能处理器和AI算力:适用于复杂的计算任务和AI推理。
- 丰富的接口和扩展性:支持多种外设连接,满足各种开发需求。
- 预装系统和开发工具:简化了初学者的上手难度,提供了丰富的开发资源。
- 高效的软硬件协同:流畅的系统运行体验,极大提升了开发效率。
优化建议:
- 视频输出问题:在测试过程中发现HDMI连接需要在设备启动后进行,否则可能出现无信号的情况。
- 初期设置:虽然系统预装了
openEuler
,但某些初始设置(如时间设置)仍需手动调整。 - 电源接口:这个板子有两个Type-c接口,第一次拿到不查询手册,很难确定哪个是电源接口,建议在电源接口做一下区分(比如:印刷一个闪电的标注)。
个人总结
OrangePi Kunpeng Pro是一款性能卓越、配置丰富的开发板,适用于AI计算、边缘计算、物联网等多种应用场景。其强大的处理器和丰富的接口设计,使其在高性能计算和实际开发中具有广泛的应用前景。尽管在某些细节上存在改进空间,但总体而言,这款设备无疑是开发者和学习者的理想选择。通过这次评测,可以看出OrangePi Kunpeng Pro不仅在硬件和软件方面表现出色,更在实际应用中展示了其强大的功能和潜力。
对于笔者个人来说,整体评测下来OrangePi Kunpeng Pro给了我很多的惊喜。首先,它强大的硬件配置和出色的性能表现让我印象深刻。无论是处理复杂的计算任务还是运行大型的应用程序,它都能够轻松应对,展现出卓越的计算能力。
其次,openEuler开源操作系统和openGauss开源数据库的内置,为开发者提供了极大的便利。openEuler以其稳定、可靠和高效的特点,为服务器提供了坚实的基础。而openGauss作为一款高性能的分布式关系型数据库,为数据的存储和查询提供了强大的支持。这两个开源项目的结合,使得OrangePi Kunpeng Pro在软件开发和数据管理方面具备了出色的能力。
再者,DevKit开发套件的配备也让我对这款开发板赞不绝口。它提供了丰富的开发工具和资源,使得开发者能够更加高效地进行开发工作。无论是进行底层驱动的开发,还是进行上层应用的构建,DevKit都能够提供强大的支持,帮助开发者快速实现自己的创意和想法。
此外,OrangePi Kunpeng Pro还具有良好的兼容性和扩展性。它支持国产的openEuler操作系统和开发环境,能够满足不同开发者的需求。同时,它还提供了丰富的接口和扩展槽,方便开发者连接各种外部设备和传感器,实现更加丰富的功能和应用。
总的来说,OrangePi Kunpeng Pro给我带来了很多惊喜。它不仅在硬件性能上表现出色,更在软件生态和扩展性方面具备了强大的能力。我相信这款开发板将会成为未来开发者们进行项目开发的重要工具之一,为各种应用场景提供强大的支持,是一款性价比极高的开发版,非常值得购入!!!