边缘计算的AI小板——OrangePi AI Pro
简介
OrangePi AI Pro是一款基于Allwinner H6处理器的嵌入式AI计算设备,适用于物联网和边缘计算。它具有强大的性能、低功耗、多接口和小尺寸。
本文分为三个部分:
一、对该板进行简单的开箱介绍。
二、 将SD卡中的系统迁移到由于该板支持SD卡、SSD(m2接口固态硬盘)、EMMC三种启动方式。而官方附赠的SD卡启动显然是最慢的一种。最后附上SSD启动的教程。
三、 将OrangePi官方设置的xface系统桌面切换回Unity桌面
一、开箱介绍
1、 外观

刚拿到手就是这些东西,质感杠杠的。随板附赠的供电插头,不知道Origin官方找哪家工厂代工的,摸起来沉甸甸的。一看就是专业生产手机插头的OEM。看了下输出功率,最高能达到20V/3.25A的输出。驱动这块板绰绰有余了(功耗评测放下下方)。
2、 系统
系统是OriginPI官方定制的Ubuntu20.04。但是没有使用Ubuntu桌面版自带的gnome桌面,而是采用了Xfce 桌面。我不是很喜欢这个桌面的UI。不过Ubuntu还是Ubuntu,之后重装一个就好了。像我一样之前没怎么玩过硬件的也不用有心理压力,就当成Ubuntu就好了。

3、 特性

参数列举在这了,我就不一一介绍了。
4、 功耗
先说结论,基本维持在10w左右。由于我用的是官方的插头,电压一直稳定在20v。但是群里有人说10v的插头也能驱动。
以下是实测图:
1、 开机功耗(我测试过程中的最高)-15w

2、待机功耗 - 9.5w

3、 推理过程 - 12w

所以确实是低功耗小板。
5、AI推理
Jupiter启动过程:
ssh连接
这部分内容跟评测没什么关系,但是又是评测过程中需要用的的技巧,因此算是插播的内容:
插入网线后,OrangeAI pi pro 就获取到了 IPv4地址。
要通过自己的工作机器ssh这台目标机(OrangeAI pi pro),首先要知道目标机的内网IP地址。
这里有两种方式获取IP地址
1、 命令行方式arp -a查看局域网所有的主机。
从这里也看不出来哪个ip是由OrangeAIPro获取的,只能一个个试ssh HwHiAiUser@xxx.xxx.xxx.xxx2、 可视化查看
登录路由器后台,在路由器上查看该板的DHCP,为192.168.0.186。
你的路由器可能不一样,但是原理都是差不多的,也会有这方面的功能。
根据官方的账户就可以ssh连接了。
ssh HwHiAiUser@192.168.0.186
1、 开启Jupyter局域网访问
根据手册提示,进入Jupyter之后,启动jupyter。
./start_notebook.sh
这样就可以远程访问了。
但是远程页面打开,会提示输入token或密码
2、修改密码
pip install notebook  # 否则会提示没有 jupyter-notebook 命令
jupyter notebook password  
就可以设定密码了。
3、运行模型
官方提供的算例都是推理的。显然不希望在这块小板子上进行训练。但是已有的模型推理速度都很快,说明8TOPS算力是有含金量的。

好了,板子介绍完毕了。接下来说一下,怎么把sd中的系统烧录到ssd中。
二、 将SD卡内的系统转到ssd中
这就涉及到Linux系统数据迁移
1、先看成果
GPart软件看到sd卡中系统的大小为29.41G

迁移后ssd中的的系统状态与SD卡中完全一致,因此可以通过ssd引导登录。

2、操作步骤
先用lsblk 查看当前的磁盘状态

接下来使用dd命令进行ubuntu 硬盘转移:
sudo dd if=/dev/sdb of=/dev/sda bs=128K conv=noerror,sync status=progress
dd 的意思是DiskToDisk,if 是输入文件系统,of是输出文件系统。
bs是每次传递的数据大小。
注意:接收文件的容量要大于发送文件的容量。
3、切换启动磁盘,开机点亮!
根据文档,将板子下方的拨片开关,BOOT1拨到右,BOOT2 拨到左,就可以开机了


三、桌面更换为Unity
orangepi aipro默认安装了ubuntu20.04,配备xfce桌面。这个桌面虽然非常轻量级,但是操作起来却非常不方便。而Ubuntu20.04的默认桌面环境为Unity,这个桌面环境经过多个版本的迭代,已经足以与Windows、MacOS媲美。
因此我们接下来将xfce桌面卸载,使用unity桌面。
1、 卸载xfce桌面
# 卸载桌面及相关软件
sudo apt-get purge xfce*      
# 自动卸载不必要的软件
sudo apt-get  autoremove 
# 系统清理
sudo apt-get  clean
这时打开,还是会有Orange官方的欢迎页面。但是登录的话,就会报错,进不去界面。
2、安装unity桌面
所以接下来我们安装该桌面。
sudo apt update
sudo apt upgrade
sudo apt install ubuntu-unity-desktop
sudo reboot
在安装的过程中,会有提示,这是让你选择使用哪一个桌面管理工具。大家就选第一个gdm3就行。

还会有一些错误警告
Failed to retrieve available kernel versions.
Failed to check for processor microcode upgrades.
这两句的意思是:
内核版本检索失败——"Failed to retrieve available kernel versions." 表示系统无法检索到可用的内核版本。这可能是因为网络问题、Ubuntu软件源配置错误,或者是因为系统已经安装了最新的内核版本,而软件源中没有更新的版本可供检索。
处理器微码升级检查失败:——"Failed to check for processor microcode upgrades." 指的是系统无法检查处理器微码的升级。这涉及到CPU安全更新和性能改进。失败的原因可能与内核版本检索失败相同,也可能是因为系统不需要微码更新。
官网的参数配置中,并没有说采用了哪家的CPU和GPU。
但是跟群友吹水的时候发现这款板的配置跟华为atlas200i dk A2的配置一模一样,所以莫非是遥遥领先同款cpu厂家?但是比华为的板子价格便宜了一半。香橙派不愧是价格屠夫。这波遥遥领先。

3、Unity桌面开机启用

输入原始开机密码 Mind@123,进入桌面。
相关文章:
 
边缘计算的AI小板——OrangePi AI Pro
简介 OrangePi AI Pro是一款基于Allwinner H6处理器的嵌入式AI计算设备,适用于物联网和边缘计算。它具有强大的性能、低功耗、多接口和小尺寸。 本文分为三个部分: 一、对该板进行简单的开箱介绍。 二、 将SD卡中的系统迁移到由于该板支持SD卡、SSD…...
 
RDMA (2)
iWARP(RDMA)怎么工作的 招式1:bypass内核 非iWARP时,当应用向网络适配器发出读或者写命令时,命令穿过用户空间以及内核空间,因此需要在用户空间和内核空间间进行切换。 iWARP使用RDMA,让应用直接将命令送达到网络适配器。这规避了对内核的调用,减少了开销和延迟。 招式2…...
vue.config.js中,devServer对象用于配置开发服务器的行为
devServer: {hot: true, // 启用模块热替换(Hot Module Replacement,HMR)。liveReload: true, // 启用页面自动刷新。当热更新失败时,将回退到页面自动刷新。open: true, // 启动服务器后自动打开浏览器。port: 8080, // 设置开发…...
 
JVM 运行流程
JVM 是 Java 运行的基础,也是实现一次编译到处执行的关键,那么 JVM 是如何执行的呢? JVM 执行流程 程序在执行之前先要把java代码转换成字节码(class 文件), JVM 首先需要把字节码通过一定的 方式 类加…...
 
android-JNI
1.2【静态库】的特点: (.a) ①静态库对函数库的链接是在编译期完成的。执行期间代码装载速度快。 ②使可执行文件变大,浪费空间和资源(占空间)。 ③对程序的更新、部署与发布不方便,需要全量更新…...
Go_unsafe包
是什么?为什么? 如何利用unsafe包修改私有成员? 结构体会被分配到一块连续的内存,结构体的地址也代表第一个成员的地址。 如何利用unsafe包获取slice和map的长度? // 利用unsafe包修改私有成员 type S struct {name …...
 
【HarmonyOS4学习笔记】《HarmonyOS4+NEXT星河版入门到企业级实战教程》课程学习笔记(十三)
课程地址: 黑马程序员HarmonyOS4NEXT星河版入门到企业级实战教程,一套精通鸿蒙应用开发 (本篇笔记对应课程第 20 - 21节) P20《19.ArkUI-属性动画和显式动画》 本节先来学习属性动画和显式动画: 在代码中定义动画&am…...
 
企业建站响应式网站建设平台版源码系统 海量模版可选择 带完整的安装代码以及搭建教程
系统概述 企业建站响应式网站建设平台版源码系统是一款集创新性、实用性和便捷性于一体的建站解决方案。它旨在为用户提供一站式的网站建设服务,无论你是新手还是经验丰富的开发者,都能通过该系统轻松实现网站的构建与部署。 该系统采用先进的技术架构…...
在 VSCode 中搭建 Flutter 开发环境并运行项目
要在 Visual Studio Code (VSCode) 中运行 Flutter 项目并启动虚拟机(例如 Android Emulator),可以按照以下步骤进行设置和操作: 一、安装 Flutter 和 Dart 插件 安装 Flutter SDK: 前往 Flutter 官网 下载并安装 Flu…...
 
如何执行VMware P2V迁移|VMware Converter和替代方案
VMware中的P2V是什么? 我们常说的VMware P2V其实指的就是“物理到虚拟”,将工作负载从物理机器转换或迁移到虚拟机(VM)的过程,能够使您无需从头开始费力地创建和配置新虚拟机。 就像您可以使用Disk2vhd执行Hyper-V物理…...
03-3.2.3 队列的链式存储的实现
👋 Hi, I’m Beast Cheng👀 I’m interested in photography, hiking, landscape…🌱 I’m currently learning python, javascript, kotlin…📫 How to reach me --> 458290771qq.com 喜欢《数据结构》部分笔记的小伙伴可以订…...
 
Spring AI 第二讲 之 Chat Model API 第八节Anthropic 3 Chat
Anthropic Claude 是一系列基础人工智能模型,可用于各种应用。对于开发人员和企业来说,您可以利用 API 访问,直接在 Anthropic 的人工智能基础架构之上进行构建。 Spring AI 支持用于同步和流式文本生成的 Anthropic 消息 API。 Anthropic …...
【ARM 常见汇编指令学习 6.2 -- ARMv8 汇编指令 SDIV 详细介绍】
文章目录 SDIV指令格式使用示例注意事项总结 SDIV ARMv8 架构中的 SDIV 指令用于执行带符号整数除法操作。这意味着它可以处理负数除法,与 UDIV(执行无符号整数除法)形成对比。SDIV 将两个寄存器中的带符号整数相除,将除法结果存…...
【ArcGIS微课1000例】0113:大地测量要素概述与构建
文章目录 一、大地测量要素描述1. 大地要素的概念2. 大地要素的类型二、创建大地测量要素1. 创建要素类2. 创建大地要素一、大地测量要素描述 1. 大地要素的概念 大地测量要素的测量值考虑了投影空间的固有变形。如果要创建一个空间跨度较大的要素(例如一条横跨大洋的飞行路…...
【记录】LangChain+本地模型的文档问答(webUI)
已在notebook测试无误。 包安装 pip install langchain langchain_community transformers InstructorEmbedding sentence_transformers2.2.2 faiss-gpu PyPDF2 streamlit pyngrok gradio fitz frontend 环境变量设置 huggingface连不上无法下载模型,需要设置镜像。…...
 
Winddow系统下关于Golang使用Cgo的配置
1.配置CGO_ENABLED为1 go env -w CGO_ENABLED1 2.安装gcc环境,否则出现cgo: C compiler "gcc" not found: exec: "gcc": executable file not found in %PATH%错误 安装包:链接:https://pan.baidu.com/s/1sgF9lijqGeP…...
 
python面向过程与初始面向对象编程
让我们穿越到《龙珠》世界,一起揭开 面向对象编程 的神秘面纱吧。 面向过程编程与面向对象编程 天下第一武道会 选手登记 第 22 届天下第一武道会即将召开,各路武术高手齐聚一堂,其中最受瞩目的,当属卡卡罗特(孙悟…...
 
vue3 实现自定义指令封装 --- 通俗易懂
1、局部自定义指令 1.1 在<script setup>定义组件内的指令,任何以v开头的驼峰式命名的变量都可以被用作一个自定义指令 <template><div><h3>使用自定义指令</h3><div>########################## start 局部自定义指令</d…...
 
5.31.15 使用图像到图像转换和 YOLO 技术对先前的乳房 X 光检查结果中的异常进行早期检测和分类
在本研究中,我们研究了基于 You-Only-Look-Once (YOLO) 架构的端到端融合模型的有效性,该模型可同时检测和分类数字乳房 X 光检查中的可疑乳腺病变。包括四类病例:肿块、钙化、结构扭曲和正常,这些病例来自包含 413 个病例的私人数…...
 
题解web
1.[LitCTF 2023]Follow me and hack me 1)进入题目环境,提示get传参,post传参 2)看看源码,也没啥 3)直接用hackbar,传入对应参数即可得到FLAG 3)但是扫描出来它后端还有东西&#x…...
 
SpringBoot-17-MyBatis动态SQL标签之常用标签
文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...
 
测试微信模版消息推送
进入“开发接口管理”--“公众平台测试账号”,无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息: 关注测试号:扫二维码关注测试号。 发送模版消息: import requests da…...
 
iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版分享
平时用 iPhone 的时候,难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵,或者买了二手 iPhone 却被原来的 iCloud 账号锁住,这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...
 
如何在最短时间内提升打ctf(web)的水平?
刚刚刷完2遍 bugku 的 web 题,前来答题。 每个人对刷题理解是不同,有的人是看了writeup就等于刷了,有的人是收藏了writeup就等于刷了,有的人是跟着writeup做了一遍就等于刷了,还有的人是独立思考做了一遍就等于刷了。…...
 
分布式增量爬虫实现方案
之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面,避免重复抓取,以节省资源和时间。 在分布式环境下,增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路:将增量判…...
 
深度学习习题2
1.如果增加神经网络的宽度,精确度会增加到一个特定阈值后,便开始降低。造成这一现象的可能原因是什么? A、即使增加卷积核的数量,只有少部分的核会被用作预测 B、当卷积核数量增加时,神经网络的预测能力会降低 C、当卷…...
【Go语言基础【12】】指针:声明、取地址、解引用
文章目录 零、概述:指针 vs. 引用(类比其他语言)一、指针基础概念二、指针声明与初始化三、指针操作符1. &:取地址(拿到内存地址)2. *:解引用(拿到值) 四、空指针&am…...
 
并发编程 - go版
1.并发编程基础概念 进程和线程 A. 进程是程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立单位。B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。C.一个进程可以创建和撤销多个线程;同一个进程中…...
Webpack性能优化:构建速度与体积优化策略
一、构建速度优化 1、升级Webpack和Node.js 优化效果:Webpack 4比Webpack 3构建时间降低60%-98%。原因: V8引擎优化(for of替代forEach、Map/Set替代Object)。默认使用更快的md4哈希算法。AST直接从Loa…...
 
Web后端基础(基础知识)
BS架构:Browser/Server,浏览器/服务器架构模式。客户端只需要浏览器,应用程序的逻辑和数据都存储在服务端。 优点:维护方便缺点:体验一般 CS架构:Client/Server,客户端/服务器架构模式。需要单独…...



