主板基本信息介绍
OrangePi AIpro,是香橙派联合华为精心打造,建设人工智能新生态而设计的一款开发板,这次为大家分享下我上手的这款 OrangePi AIpro 8GB(算力达8TOPS) 的一些小小的经验。
基本参数如下:
- 支持8GB/16GB的LPDDR4X内存,
- 2个 HDMI 2.0输出口,USB3.0 x 2,USB Type-C 3.0
- 千兆网口+Wi-Fi5+BT4.2,BLE
- 可外接32GB/64GB/128GB/256GB eMMC模块
- 厉害的来了,支持SATA/NVMe SSD 2280的M.2插槽
接口如此丰富,是不是有点想搞NAS了?
对了,说到算力,16GB内存的型号,算力达到 20 TOPS INT8,啥概念呢?AMD 8845HS 的 NPU算力才 16 TOPS,用 16GB内存的型号跑跑 AI 小模型还是有搞头的。目前已经有其他网友做了相关的测评,大家可以搜搜看。我使用的是 8GB 内存的型号,算力只有 8 TOPS INT8,并且手头没有多余的 NVMe SSD 来提供足够的存储空间,就不献丑了。
我作为一个多年的 Android 开发者,这次基于此开发板,部署一个支持 Android 打包的 Jenkins,Jenkins的部署则是使用 Docker。
基本设置与虚拟组网
关于上手开机、接显示器、登录、设置 Wifi、密钥登录等,这些已经有很多人分享过了,这里唯一要再次分享是WIFI的设置:
大家首次接入键盘鼠标和显示器后,连入WIFI后记得在设置-网络里,设置成上图的样子,勾选 All users may connect to this network
,如果没有设置,你可能会发现退出后,每次都有使用键盘鼠标显示器先登入才能使用 SSH 连接,那可就太麻烦了。
然后,给大家推荐一个虚拟组网的软件:tailscale。
有了 tailscle,可以虚拟组网,然后就能任意地点访问到处于家庭或者公司内网的开发板了。
安装 tailscale
先使用 SSH 登录 OrangePi AIpro,或者使用键盘鼠标+显示器登入带桌面的 OrangePi AIpro 并打开终端:
#执行官方的安装脚本
curl -fsSL https://tailscale.com/install.sh | sh
#启动软件并设为自启
systemctl start tailscaled
systemctl enable tailscaled
#启动软件,并在链接中登录账号
tailscale up
安装并设置好 tailscale 之后,我们就能在任意地方的电脑上,安装 tailscale 客户端并开启后,就能找到 OrangePi AIpro 在 tailscale 分配的内网 IP,直接使用对应的 SSH 指令即可登入。
跑个分
一切都设置完毕了,咱们先来跑个分看看:
首先是 OrangePi AIpro 的跑分:
CPU 型号 : Orange Pi Ai ProCPU 核心数 : 4CPU 缓存 : L1: 0.00 KB / L2: 0.00 KB / L3: 0.00 KBAES-NI指令集 : ✔ EnabledVM-x/AMD-V支持 : ❌ Disabled内存 : 1.09 GiB / 7.37 GiB负载 : 17.57, 17.39, 17.22系统 : Ubuntu 22.04.4 LTS (aarch64)架构 : aarch64 (64 Bit)内核 : 5.10.0+虚拟化架构 : DedicatedNAT类型 : Inconclusive
----------------------CPU测试--------------------------> CPU 测试中 (Fast Mode, 1-Pass @ 5sec)1 线程测试(单核)得分: 2060 Scores4 线程测试(多核)得分: 6137 Scores
---------------------内存测试------------------------> 内存测试 Test (Fast Mode, 1-Pass @ 5sec)单线程读测试: 9265.24 MB/s单线程写测试: 8792.92 MB/s
作为对比的:树莓派4B-8G内存
CPU 型号 : Cortex-A72
CPU 核心数 : 4
CPU 缓存 : L1: 128.00 KB / L2: 1.00 MB / L3: 0.00 KB
AES-NI指令集 : ❌ Disabled
VM-x/AMD-V支持 : ❌ Disabled
内存 : 2.63 GiB / 7.63 GiB
硬盘空间 : 30.92 GiB / 58.20 GiB
系统在线时间 : 181 days, 16 hour 40 min
系统 : Ubuntu 22.04.3 LTS (aarch64)
架构 : aarch64 (64 Bit)
内核 : 5.15.0-1043-raspi
虚拟化架构 : Dedicated
----------------------CPU测试--------------------------> CPU 测试中 (Fast Mode, 1-Pass @ 5sec)1 线程测试(单核)得分: 1455 Scores4 线程测试(多核)得分: 5526 Scores
---------------------内存测试------------------------> 内存测试 Test (Fast Mode, 1-Pass @ 5sec)单线程读测试: 3637.18 MB/s单线程写测试: 2428.83 MB/s
CPU 得分稳压 树莓派4B,内存速度更是秒杀。
基于 Docker 的 Jenkins:Android 自动化打包
安装 Docker
在终端里执行:
curl -fsSL https://get.docker.com
安装 Portainer + Jenkins
Portainer 是一个简单易用的docker可视化管理工具,可以极大的降低我们使用 Docker 的上手难度,在网页里点点就能管理我们的 Docker 相关的东西。
下面开始安装 Portainer:
docker volume create portainer_datadocker run -d --name portainer \
-p 9000:9000 \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
portainer/portainer-ce:2.20.2
执行完命令,就能进入 OrangePi AIpro 的 http://[IP]:9000
来初始化和使用 portainer 的了。
比如容器的管理页面:
下面开始安装 Jenkins:
docker volume create jenkins_homedocker run -d --name jenkins-lts-diy \
--restart on-failure \
-p 18080:8080 \
-v jenkins_home:/var/jenkins_home \
-e ANDROID_HOME="/var/jenkins_home/android_tools/" \
-e ANDROID_SDK_ROOT="/var/jenkins_home/android_tools/" \
-e LANG="C.UTF-8" \
jenkins/jenkins:lts-jdk17
执行完命令就能访问 http://[IP]:18080
来访问 Jenkins 了:
首次打开需要输入一串密码:Portainer 的作用就来了,不需要学习 Docker 额外的命令
参考图中的箭头,点击 Jenkins 容器的日志,就能在日志里看到需要的密码,填入 Jenkins 即可初始化 Jenkins,插件默认系统推荐即可,账号密码自行设置。
到这里就完成了 Jenkins 的安装了。
开始创建 Android 的 job:
创建一个自由风格的 Job:
设置代码和分支:
这次我们使用开源的任务管理的一个 Android APP 的工程:https://github.com/tasks/tasks.git
添加打包的指令:(Jenkins 夜间模式有适配问题)
添加打包的脚本和归档成品:
到这里,Jenkins 的 Job 已经设置完成。保存后回到Job的页面。
接下来点击「立即构建」即可自动下载代码和安装所需 SDK,并打包出 apk。
配合之前的 tailscale,我们就能任意地点打包,通过 tailscale 的后台,还能邀请其他人访问我们的Jenkins打包机。
结尾
OrangePi AIpro 本身性能足够强劲,接口丰富,可以实现很多有价值的功能,欢迎大家一起分享它的玩法。