边缘计算的AI小板——OrangePi AI Pro

news2024/11/15 8:32:52

简介

OrangePi AI Pro是一款基于Allwinner H6处理器的嵌入式AI计算设备,适用于物联网和边缘计算。它具有强大的性能、低功耗、多接口和小尺寸。

本文分为三个部分:

一、对该板进行简单的开箱介绍。

二、  将SD卡中的系统迁移到由于该板支持SD卡、SSD(m2接口固态硬盘)、EMMC三种启动方式。而官方附赠的SD卡启动显然是最慢的一种。最后附上SSD启动的教程。

三、  将OrangePi官方设置的xface系统桌面切换回Unity桌面

一、开箱介绍

1、  外观

img

刚拿到手就是这些东西,质感杠杠的。随板附赠的供电插头,不知道Origin官方找哪家工厂代工的,摸起来沉甸甸的。一看就是专业生产手机插头的OEM。看了下输出功率,最高能达到20V/3.25A的输出。驱动这块板绰绰有余了(功耗评测放下下方)。

2、  系统

系统是OriginPI官方定制的Ubuntu20.04。但是没有使用Ubuntu桌面版自带的gnome桌面,而是采用了Xfce 桌面。我不是很喜欢这个桌面的UI。不过Ubuntu还是Ubuntu,之后重装一个就好了。像我一样之前没怎么玩过硬件的也不用有心理压力,就当成Ubuntu就好了。

img

3、  特性

img

参数列举在这了,我就不一一介绍了。

4、  功耗

先说结论,基本维持在10w左右。由于我用的是官方的插头,电压一直稳定在20v。但是群里有人说10v的插头也能驱动。

以下是实测图:

1、  开机功耗(我测试过程中的最高)-15w

img

2、待机功耗 - 9.5w

img

3、  推理过程 - 12w

img

所以确实是低功耗小板。

5、AI推理

Jupiter启动过程:

ssh连接

这部分内容跟评测没什么关系,但是又是评测过程中需要用的的技巧,因此算是插播的内容:
插入网线后,OrangeAI pi pro 就获取到了 IPv4地址。
要通过自己的工作机器ssh这台目标机(OrangeAI pi pro),首先要知道目标机的内网IP地址。
这里有两种方式获取IP地址
1、  命令行方式

arp -a

查看局域网所有的主机。

img


从这里也看不出来哪个ip是由OrangeAIPro获取的,只能一个个试

ssh HwHiAiUser@xxx.xxx.xxx.xxx

2、  可视化查看
登录路由器后台,在路由器上查看该板的DHCP,为192.168.0.186。
你的路由器可能不一样,但是原理都是差不多的,也会有这方面的功能。

img


根据官方的账户就可以ssh连接了。

img

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算力是有含金量的。

img

好了,板子介绍完毕了。接下来说一下,怎么把sd中的系统烧录到ssd中。

二、  将SD卡内的系统转到ssd中

这就涉及到Linux系统数据迁移

1、先看成果

GPart软件看到sd卡中系统的大小为29.41G

img

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

img

2、操作步骤

先用lsblk 查看当前的磁盘状态

img

接下来使用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 拨到左,就可以开机了

img

img

三、桌面更换为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就行。

img

还会有一些错误警告

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厂家?但是比华为的板子价格便宜了一半。香橙派不愧是价格屠夫。这波遥遥领先。

img

3、Unity桌面开机启用

img

输入原始开机密码 Mind@123,进入桌面。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1793363.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Kong网关身份认证

认证的步骤: 启用认证插件。创建用户。给用户分配认证信息(扩展:账号密码 等)。请求时,带上认证信息。 key-auth: 创建用户: [rootlocalhost etc]# curl -i -X POST http://localhost:8001/consumers -…

【教程】如何实现WordPress网站降级(用于解决插件和主题问题)

在最新可用版本上运行WordPress安装、插件和主题是使用该平台的关键最佳实践。还建议使用最新版本的PHP。但是,在某些情况下,这是不谨慎或不可能的。 如果您发现自己处于这种情况,您可能需要撤消更新并降级您的WordPress网站(或其中的一部分)。幸运的是,有一些方法可用于…

数字逻辑电路交通信号灯控制器设计与multisim仿真

当今时代是一个自动化时代,交通灯控制等很多行业的设备都与计算机密切相关。因此,一个好的交通灯控制系统,将给道路拥挤、违章控制等方面给技术革新。随着大规模的集成电路及计算机技术的迅速发展,以及人工智能在控制技术方面的广泛运用,智能设备有了很大的发展,是现在科…

Systemd服务配置排坑-TasksMax参数

一、背景 由于产品是Java程序,之前都是通过封装的start.sh运行即可。但是出于架构调整,改换为Ansible进行自动化部署,同时改用Systemd service的方式来对程序进行管理。 但不知道为啥原因,使用systemctl启动这个程序,就…

如何优雅的解析多层JSON报文数据?什么是Ognl?

在日常项目开发中,经常遇到与其他数据交互就需要进行数据传输处理,那么当对方系统返回的数据报文有多层复杂的json数据时候,如何简单快捷的获取指定节点的数据呢,答案是可以使用Ognl来解决。 1.什么是ognl? OGNL全称…

一位美国的PM分享:AI产品经理的10大技能

从传统角度来看,一款成功的产品需要拥有稳定的功能,至少要满足甚至超出用户的期望,并且能够为业务的增长作出重大贡献。产品经理的主要职责包括设定和管理用户期望,定期收集可量化的反馈信息,严格地与工程师进行沟通&a…

【代码随想录——动态规划——理论基础】

1.理论基础 动态规划,英文:Dynamic Programming,简称DP,如果某一问题有很多重叠子问题,使用动态规划是最有效的。 所以动态规划中每一个状态一定是由上一个状态推导出来的,这一点就区分于贪心&#xff0c…

Jenkins的jdk和maven配置

目录 传送门前言一、概念二、JDK的配置三、Maven配置四、环境变量配置五、坑 传送门 SpringMVC的源码解析(精品) Spring6的源码解析(精品) SpringBoot3框架(精品) MyBatis框架(精品&#xff09…

Java+前端+Vue 后端Spring boot 开发的全套UWB定位方案,0.1米高精度定位系统源码

Java前端Vue 后端Spring boot 开发的全套UWB定位方案,0.1米高精度定位系统源码 UWB定位系统由硬件定位设备、定位引擎和应用软件组成。该定位系统应用软件支持PC端和移动端访问,并提供位置实时显示、历史轨迹回放、人员考勤、电子围栏、行为分析、智能巡检等功能…

基于docker的oracle12.2.0.1部署及oracle使用与docker镜像容器制作迁移方法

基于docker的oracle12.2.0.1部署及oracle使用与docker镜像容器制作迁移方法 本文介绍了基于docker的oracle12.2.0.1部署,包含了oracle基本配置、监听器和实例启动方法、PDB和CDB操作方法、表空间建立和用户数据库建立、常见启动问题解决等,并介绍了镜像制…

resultType的类型错误

resultType的类型错误,不能是List而应该是对应的返回Bean对象的类型,VO 这里是引用 org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: Error querying database. Cause: java.lang…

【Python】【PVE】使用PVE-API对虚拟机进行远程关机

源代码 import requests import urllib3 urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)address "填写PVE的域名/IP:端口" path "/api2/json/nodes/填写节点名称/qemu/填写虚拟机VMID/status/shutdown" url "https://&quo…

vs - vs2013中编译sqlite3.44.2

文章目录 vs - vs2013中编译sqlite3.44.2概述笔记工程输出归档END vs - vs2013中编译sqlite3.44.2 概述 以前在vs2019下编译了sqlite3.44.2, 好使。做了笔记(sqlite3.44.2的编译) 现在准备将手头的vs2019工程改为vs2013的,自然要将sqlite也编译为vs2013版本的。 按…

Python for循环 使用两个变量

https://geek-docs.com/python/python-ask-answer/336_python_for_loop_with_two_variables.html 一、使用zip()函数进行迭代 zip()函数可以将两个或多个可迭代对象打包成一个元组序列。 fruits [apple, banana, orange] prices [0.5, 0.3, 0.4]for fruit, price in zip(f…

【C++】C++提供类型转换的机制

目录 前言: 一,static_cast 二,reinterpret_cast 三,const_cast 四,dynamic_cast 前言: 传统的不同类型转换有隐式类型转换(类型不匹配时编译器自动进行的转换,如:i…

记一次安卓.apk加固,加固后安装失败,重新签名也安装失败问题

1、AndroidStudio打包生成.apk文件 2、使用360加固apk(或其他平台) 注意:加固后的apk必须进行重新签名才能安装,否则安装失败。apk签名可以使用jarsigner 和 apksigner,jarsigner 只能进行v1签名;apksigner…

Linux ip命令常用操作

ip 命令来自 iproute2 软件包,在 CentOS 7 中默认已安装(yum install -y iproute)。 iproute2 软件包提供了很多命令(rpm -ql iproute |grep bin),如 ss 命令、bridge,这些命令可以完全替代 if…

【CMake系列】06-项目结构与输出路径管理

为了对大型项目实现更好的管理【模块化协作开发等等】,cmake 提供了很多指令,可以对项目的结构进行调整、管理,便于项目的合理规划。本文我们要学习的就是 项目结构的设置,以及 构建程序等 输出路径的设置 本专栏的实践代码全部放…

【MySQL】Linux安装MySQL

一、center OS环境准备 为了在Linux系统中查看MySQL5.8与8.0版本的区别 我们要准备两个虚拟机,需要的软件:VMware和CentOS7 因为博主之前在学习redis的时候已经安装过一个虚拟机了,所以我就直接克隆了一个CentOS2.0 修改mac地址&#xff0…

mysql8.0中的mysql.ibd

mysql8.0版本中多了一个mysql.ibd的文件。5.7版本则没有这个文件。 MySQL5.7: .frm文件 存放表结构信息 .opt文件,记录了每个库的一些基本 信息,包括库的字符集等信息 .TRN,.TRG文件用于存放触发器的信 息内容。 在MySQL 8.0之前&#xff0…