当前位置: 首页 > news >正文

OrangePi AIpro 变身 Android 打包机

主板基本信息介绍

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插槽

img

接口如此丰富,是不是有点想搞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的设置:

img

大家首次接入键盘鼠标和显示器后,连入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 的了。

比如容器的管理页面:

img

下面开始安装 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 额外的命令

img

参考图中的箭头,点击 Jenkins 容器的日志,就能在日志里看到需要的密码,填入 Jenkins 即可初始化 Jenkins,插件默认系统推荐即可,账号密码自行设置。

到这里就完成了 Jenkins 的安装了。

开始创建 Android 的 job:

img

创建一个自由风格的 Job:

img

设置代码和分支:

这次我们使用开源的任务管理的一个 Android APP 的工程:https://github.com/tasks/tasks.git

img

添加打包的指令:(Jenkins 夜间模式有适配问题)

img

添加打包的脚本和归档成品:

img

到这里,Jenkins 的 Job 已经设置完成。保存后回到Job的页面。

接下来点击「立即构建」即可自动下载代码和安装所需 SDK,并打包出 apk。

img

配合之前的 tailscale,我们就能任意地点打包,通过 tailscale 的后台,还能邀请其他人访问我们的Jenkins打包机。

结尾

OrangePi AIpro 本身性能足够强劲,接口丰富,可以实现很多有价值的功能,欢迎大家一起分享它的玩法。

相关文章:

  • github使用相关问题
  • Oracle数据库面试题-3
  • 宇泰485中继器光电隔离防雷 工业级RS485信号放大器 UT-2209正品
  • 学习DHCP动态主机配置协议
  • 赶紧收藏!2024 年最常见 20道 Kafka面试题(五)
  • Pytorch实用教程:pytorch中 argmax(dim)用法详解
  • nginx优化和重写功能rewrite
  • vscode怎么拷贝插件到另一台电脑
  • 如何用结构化写好GPT的Prompt提示词
  • MySQL之创建高性能的索引(十一)
  • QT之动态加载树节点(QTreeWidget)
  • 《数字图像处理-OpenCV/Python》第15章:图像分割
  • IDEA 2023.3.6 下载、安装、激活与使用
  • 碳微球是新型碳材料 在高科技领域应用价值极高
  • Re0:从零开始的C++游戏开发【中】
  • 【108天】Java——《Head First Java》笔记(第1-4章)
  • 10个确保微服务与容器安全的最佳实践
  • ECMAScript 6 学习之路 ( 四 ) String 字符串扩展
  • gcc介绍及安装
  • HomeBrew常规使用教程
  • Java的Interrupt与线程中断
  • nfs客户端进程变D,延伸linux的lock
  • spark本地环境的搭建到运行第一个spark程序
  • spring boot下thymeleaf全局静态变量配置
  • Vue学习第二天
  • Webpack 4x 之路 ( 四 )
  • WordPress 获取当前文章下的所有附件/获取指定ID文章的附件(图片、文件、视频)...
  • 大快搜索数据爬虫技术实例安装教学篇
  • 工作踩坑系列——https访问遇到“已阻止载入混合活动内容”
  • 规范化安全开发 KOA 手脚架
  • 基于Vue2全家桶的移动端AppDEMO实现
  • 开发基于以太坊智能合约的DApp
  • 两列自适应布局方案整理
  • 聊聊directory traversal attack
  • 码农张的Bug人生 - 见面之礼
  • 每天一个设计模式之命令模式
  • 前端设计模式
  • 使用 Xcode 的 Target 区分开发和生产环境
  • 使用agvtool更改app version/build
  • 新版博客前端前瞻
  • 用quicker-worker.js轻松跑一个大数据遍历
  • Java总结 - String - 这篇请使劲喷我
  • 湖北分布式智能数据采集方法有哪些?
  • #### go map 底层结构 ####
  • ( 10 )MySQL中的外键
  • (2)Java 简介
  • (补)B+树一些思想
  • (附源码)计算机毕业设计SSM疫情下的学生出入管理系统
  • (十)c52学习之旅-定时器实验
  • (转)chrome浏览器收藏夹(书签)的导出与导入
  • (转贴)用VML开发工作流设计器 UCML.NET工作流管理系统
  • ..回顾17,展望18
  • .equals()到底是什么意思?
  • .net core webapi 部署iis_一键部署VS插件:让.NET开发者更幸福
  • .net oracle 连接超时_Mysql连接数据库异常汇总【必收藏】