OrangePi Aipro使用体验

深感荣幸能够参与到由香橙派、华为和CSDN共同组织的这场活动中。

即使你跟我一样同为初学者,也可以通过学习和实践来不断提升自己的技能。因此,我想在这里分享一些我日常使用频次较高的基础应用,也许其中就有你感兴趣的栏目。

1. OrangePi Aipro基本信息介绍

OrangePi AIpro(8T)采用昇腾AI技术路线,具体为4核64位处理器+AI处理器,集成图形处理器,支持
8TOPS AI算力,拥有8GB/16GB LPDDR4X,可以外接32GB/64GB/128GB/256GB eMMC模块,支持双4K高清输出。 Orange Pi AIpro引用了相当丰富的接口,包括两个HDMI输出、GPIO接口、Type-C电源接口、支持SATA/NVMe SSD 2280的M.2插槽、TF插槽、千兆网口、两个USB3.0、一个USB Type-C3.0、一个Micro USB(串口打印调试功能)、两个MIPI摄像头、一个MIPI屏等,预留电池接口,可广泛适用于AI边缘计算、深度视觉学习及视频流AI分析、视频图像分析、自然语言处理、智能小车、机械臂、人工智能、无人机、云计算、AR/VR、智能安防、智能家居等领域,覆盖 AIoT各个行业。 Orange Pi AIpro支持Ubuntu、openEuler操作系统,满足大多数AI算法原型验证、推理应用开发的需求。

以下是香橙派的外设接口图:


参数信息:

CPU

4核64位处理器+ AI处理器

GPU

集成图形处理器

AI算力

8TOPS算力

内存

LPDDR4X:8GB/16GB(可选),速率:3200Mbps

存储

• SPI FLASH:32MB
• SATA/NVME SSD(M.2接口2280)
• eMMC插槽:32GB/64GB/128GB/256GB(可选),eMMC5.1 HS400
• TF插槽

WIFI+蓝牙

Wi-Fi 5双频2.4G和5G
BT4.2/BLE

以太网收发器

10/100/1000Mbps以太网

显示

• 2xHDMI2.0 Type-A TX 4K@60FPS
• 1x2 lane MIPI DSI via FPC connector

摄像头

2x2-lane MIPI CSI camera interface,兼容树莓派摄像头

USB

• USB 3.0 HOST x2
• USB Type-C 3.0 HOST x1
• Micro USB x1 串口打印功能

音频

3.5mm耳机孔音频输入/输出

按键

1x关机键、1xRESET键、2x启动方式拨动键、1x烧录按键

40PIN

40PIN 功能扩展接口,支持以下接口类型:
GPIO、UART、I2C、SPI、 I2S、PWM

风扇

风扇接口x1

预留接口

2PIN电池接口

电源

Type-C PD 20V IN ,标准65W

支持的操作系统

Ubuntu、openEuler

产品尺寸

107*68mm

重量

82g

2. 开始使用

拆开包装盒,连接上电后,我想用户最期待的是连接上设备开始使用了。

2.1 使用图形化界面

如果你有一台显示器,那么你只需要接好HDMI线,电源线就可以开始使用了。按照如下图所示,连接好就可以开始使用设备了。

相对比树莓派,我更喜欢Orangepi这款新开发板可以直接使用标准的HDMI线进行连接,并且可以直接使用Typec进行供电,是一台非常的方便携带的Mini主机。

2.2 OrangePi通过网线与PC相连接

可能有的人身边不具备显示器,或者只有老式的DMI接口的显示器,你同样也能快速上手这款开发板。
使用网线连接路由器查看IP地址的方式就不说了,这节来介绍通过网线将PC和OrangePi连接起来。

在个人PC机输入arp -a命令,检查网卡状态。

这块便是我的无线网卡信息,随后插入网线,再次输入arp -a命令,可以看到多出来了一个设备,此时是我们的有线网卡也被分配了地址。

接下来跟随我的操作。

接下来点击更改适配器选项。

对你的WLAN右键,并在弹出的选项卡点击属性。


开启了共享之后,回到命令控制符,输入arp -a命令,你应该对这个命令很熟悉了,本次的操作在windows中我们只会用到这个命令。

可以看到,相比上一次输入,网关已经发生了变化。

现在需要修改网关与OrangePi处于同一网段。
我的设备由于已经与香橙派处于同一网段了,都是处在192.168.137.1网关下,所以不用做出其他修改。

如果你的电脑与OrangePi处在不同的网段,你需要做出以下配置。

双击这个

修改图中红框中的IP。

接下来重新使用arp -a命令,第一个Internet地址就是你设备的IP地址了。
我的是192.168.137.205,所以我应该输入以下命令进行ssh连接:

sshHwHiAiUser@192.168.137.205

如下图所示,已经在windows的控制台中完成了ssh连接。

但是这样过于粗糙了,感受不到香橙派美化系统的用心。

这里推荐一款非常使用且美观的开源轻量级ssh 工具windterm。

github搜索 windterm 往下翻翻找到对应的下载版本按照即可。

如图所示,已经使用WindTerm工具进入到了OrangePi,可以开始愉快的使用了。

3. 部署我的世界服务器

几年前,部署过一个我的世界服务器与一大学室友一同进行游玩,但所使用的树莓派4B内存往往不够导致游戏死机闪退,并且因为非正常退出,会丢失一部分数据导致难受。

但是使用自己的电脑PC开放端口游玩的方式来玩耍呢,则需要世界的主人需要一直在电脑上挂着游戏,十分的不便。

目前使用的8GB香橙派应该有足够的能力来供两三好友一同游玩我的世界。

3.1 Java安装

你的新机器肯定没有安装合适版本的JDK,接下来通过本节内容来安装JDK。

  • 1.0-1.11.x可以使用 Java 6 和 Java 7,但推荐使用Java 8
  • 1.12(17w13a)-1.16.5(1.17-21w18a)需要使用Java 8
  • 1.17(21w19a)-1.17.1需要使用Java 16
  • 1.18(1.18-pre2)及以上版本需要使用Java 17
    我所安装的为MC1.20版本,JDK17是兼容的,安装jdk17即可。

前去这个网站 https://www.oracle.com/java/technologies/downloads/

复制下载链接,接下来会在ubuntu中使用wget命令下载它,由于本款OrangePi采用的是ARM架构,所以我们应该下载第一个版本。


复制好链接后,使用wget命令来下载它:

wgethttps://download.oracle.com/java/17/latest/jdk-17_linux-aarch64_bin.tar.gz

刚开始下载会慢一点,但是中间下载会挺快的。

下载好后,使用tar命令对其进行解压:

tar-zxvfjdk-17_linux-aarch64_bin.tar.gz

如果你的文件名与我的不一致也没关系,修改成你压缩包的名字即可。

然后将解压出来的文件夹移动至/usr/local/目录下:

sudomvjdk-17.0.1/usr/local/

随后还需要配置环境变量,编辑以下文件。

sudo vim/etc/profile

翻至最下方,添加以下三行命令,记得要将文件夹名字与你实际的文件夹名字相对应上:

exportJAVA_HOME=/usr/local/jdk-17.0.11
exportCLASSPATH=.:$JAVA_HOME/lib
exportPATH=.:$JAVA_HOME/bin:$JAVA_HOME/lib:$PATH

然后按下ESC+wq!进行文件保存。

为了使配置环境生效,你还需要输入一行命令:

source/etc/profile

输入完这行命令后,输入命令查看JDK是否已添加到环境变量:


java-version

可以看到,当前所使用的JDK版本为JDK17版本,已足以支持所预计的 MC1.20版本使用。

3.2 我的世界游戏资源获取

听说paperMC服务器端比较适合开服务器,不妨来试一试这个。

通过这个链接可以进入到下载界面 https://papermc.io/downloads/paper

试了一下,点击蓝色的这个按钮就会开始下载,但我们并不是想要在windows中下载,而是直接在OrangePi中下载。

所以还是右键这个蓝色按钮然后点击复制链接,就像下载JDK17时那样。

获取了链接后,依旧采用的是wget命令下载:

最好是先新建一个文件夹,游戏运行时会产生很多资源会看起来很乱,也容易误删

mkdir MC
cd MC
wget https://api.papermc.io/v2/projects/paper/versions/1.20.4/builds/496/downloads/

然后使用命令来运行MC服务端,,如果你的版本号与我不一致,更改为你自己的文件名即可:


java-Xmx1024M-Xms1024M-jarpaper-1.20.4-496.jar

第一次运行是会报错的,运行需要先同意用户协议,它也提示了我们去EULA这个文件中看看怎么个事:

那我们就将这个false更改为True即可

接下来重新运行:


java-Xmx1024M-Xms1024M-jarpaper-1.20.4-496.jar

第一次它会因为没有世界,而创建一个新的世界,所以需要一点时间。

如图,它已经创建好了世界,并且开放了25565端口供我们使用,这是MC的默认端口:


现在打开我的世界游戏,进行多人游戏,搜索一会儿应该是可以自动搜索到的,搜不到我们也可以手动进行添加:

糟糕,最终还是搞错了版本,它检测到了此服务器为1.20.4版本

而我的版本为1.20.6,无法进去游玩进行演示了。

如果感到游戏发生闪退的话,启动的时候分配多一点内存就好了,反正OrangePi有8G内存可供使用。


java-Xmx2048M-Xms2048M-jarpaper-1.20.4-496.jar

3.3 Tmux安装

目前来说,任务已经完成了绝大部分。当你退出终端的时候,由于ssh的断开会导致正在运行的游戏也会被关闭,所以需要让它在后台运行。不妨使用Tmux来实现这个工作.

tmux终端复用工具,在Ubuntu中运行一些服务或脚本的时候往往不能退出终端,需要一直挂着。在有图形界面的linux中你还可以新开一个终端去做别的事,但在无界面linux中,我想你会用到tmux。

使用apt安装之前,更新一下已是不必解释的基本操作:

sudoapt-getupdate

然后是tmux安装

sudoapt-getinstalltmux

tmux的启动命令是这样,直接输入tmux即可:

然后再这个会话中运行我的世界游戏启动命令就OK了。

如果想要退出这个会话,你可以使用Ctrl + B 然后按下D以退出。

3.4 花生壳内网穿透安装和使用

现在的情况,在局域网内游玩是没有任何问题的,外界的玩家是无法访问我们的世界与我们一同进行游玩的。
但公网IP不是普通玩家可以搞到的东西,所以我们使用了内网穿透方案。
内网穿透工具有很多可以选,如Sakura、Coplar啥的,花生壳对于新手来说使用起来是比较方便的,所以这里就拿花生壳进行举例吧。

来到下面这个链接进行下载:

https://hsk.oray.com/download

我们既不是windows版也不是Mac版,而linux下载中只提供了amd64和arch64不符合我们架构的下载链接,我们使用树莓派版本也是可以的,因为树莓派也是arm64版本。

使用以下命令进行下载:

wget"https://dl.oray.com/hsk/linux/phddns_5.1.0_rapi_aarch64.deb"-O phddns_5.1.0_rapi_aarch64.deb

下载好后先切换到管理员用户:

sudo-s

如果你未开启管理员用户会提示密码错误,使用以下命令开启管理员账户:

passwd root

然后设置密码即可。

现在我们使用dpkg进行安装:

dpkg-iphddns_5.1.0_rapi_aarch64.deb

如果后续想要卸载,使用以下命令:

dpkg -r phddns

下载好后,会出现SN码用于登录,请妥善保管此码:

我们可以使用phddns命令进行使用,它提示我们需要携带参数进行使用:

现在进入登录页面 ,使用SN码登录,默认密码是admin:

初次登录会要求你绑定账号,以下是绑定账号后的界面:

现在添加映射,单机内网穿透:

然后点击蓝色的按钮添加映射,在这边填入你的网络信息和端口号,我直接填入了MC的端口号:

保存后来诊断一下连接状态:

连接是正常的,这么说,我的好友可以通过访问一下端口号来加入我的游戏服务器

至此,我的世界服务器搭建完成。

5vckxxxxxxxx.vicp.fun:41779

4. Hperlpr车牌号识别

本节将介绍如何利用Hperlpr开源库进行车牌号识别。
本节内容需要安装很多东西,需要更换国内源。
由于我们直接使用的OrangePiOS,已经替换好了国内源,所以我们不需要进行换源操作。

老规矩,安装东西前先更新一下。
更新软件索引清单

sudo apt-get update

比较索引清单更新依赖关系,如果出现需要确认的直接回车使用默认选项即可。

sudo apt-get upgrade

4.1 opencv 安装

opencv是我们进行图像识别的一个很重要的库,此库的安装非常重要。

使用以下命令进行opencv安装

sudo pip3 install opencv-python==3.4.6.27

安装成功后,使用以下方法来确认opencv库是否安装成功:

先打开Python3终端,然后导入cv2来查看是否报错。


部分人可能会发生报错,这是因为Python3内置的numpy库与opencv的版本不兼容导致的,这个时候你需要卸载numpy并且搜索与之相应的numpy版本进行安装。

4.2 Hperlpr安装

现在Hperlpr的安装已经比前几年简单很多了,可以使用pip直接进行安装。

那个时候我使用的树莓派4B进行编译安装,树莓派强大的算力导致我编译了一个多小时才编译完成,界面一直卡住不动让我一度以为树莓派是不是死机了。


python-mpipinstallhyperlpr3

安装完成后使用同样的方法进行测试Hperlpr是否安装成功:

可以看到hyperlpr安装已经成功了。

4.3 运行车牌号识别

接下来我们可以进行图形识别了。

运行以下命令来进行车牌号识别测试。此图为在无锡拍摄到的一辆小米SU7汽车。

lpr3sample-srchttps://img-
blog.csdnimg.cn/direct/065532bd089040caa0f97c9ddf063a21.jpeg


接下来看看识别结果如何:

如图,准确识别了车牌号和车牌类型。其中最后的列表为车牌号所处坐标。

利用此库,我们可以在OrangePi中编写一个脚本用于接收图片或者图片链接,结合内网穿透操作,从而让它成为一个车牌号识别服务器。

5. EMQX MQTT服务器搭建

EMQX相较于阿里云、巴法云平台而言,使用起来尤其方便。非常适合物联网设备进行数据交互

5.1 EMQX下载

来到EMQX官网进行下载 https://www.emqx.io/zh/downloads

选择ubuntu系统,复制其命令一一执行。


执行完启动命令sudo systemctl start emqx后,EMQX服务端就已经启动了。

5.2 访问EMQX后台

现在我们可以进入其后台。在浏览器输入OrangePi的ip地址+18083端口进行访问:

192.168.137.205:18083

初次登录的账号是admin,密码的public,登录后会要求你更改密码。

更改新密码后,就进入到了EMQX的后台,在这里你可以查看此平台上的相关信息。

5.3 发布和订阅消息

在windows上通过此链接下载https://www.emqx.com/zh/downloads/MQTTX/v1.9.10/MQTTX-Setup-1.9.10-x64.exe

这是与EMQX配套的工具,现在我们就去EMQX平台上订阅和发布信息。

新建连接,填入你的IP地址和设备ID即可.

如图所示,连接服务器成功

现在订阅标题,为方便演示,我们随意一点:

点击添加订阅:
填入标题名字即可,先不关注其他事项

然后在发送窗口将主题编辑为test,然后编辑一段内容hello。

可以在图中看到,在test主题发送hello后,并且经过EMQX平台中转后,由于我们订阅了此标题,所以收到了此消息。

6. OrangePi云盘搭建

本节通过Python的第三方库flask搭建一个一个简单的云盘 。samba服务的安装通常比较麻烦,并且在windows映射网络驱动器经常容易掉,此Python脚本结合tmux后台运行,可以很快的为你提供一个传输文件到linux服务器的工具。

Flask 是一个用 Python 编写的轻量级 Web 应用程序框架。它的目标是提供一个简单但可扩展的基础,以便开发人员可以根据项目需求构建 Web 应用。Flask 被广泛用于各种规模的项目,从简单的个人网站到复杂的企业级应用。

6.1 前期准备

首先需要安装第三方库flask,输入以下命令安装flask库

pip install flask

接下来需要创建一个新的文件夹来存放可供用户下载的资源,此目录需要起名为uploads。

6.2 文件夹存在检测

不新建名为uploads的文件夹也可以,我们可能会和不同的朋友分享不同的文件资源。

更改UPLOAD_FOLDER中的字符串即可,但为了确保其存在,需要在最开始添加检测逻辑,如果不存在所指定的目录,会新建一个目录。

UPLOAD_FOLDER = 'uploads'  
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER  
  
# 确保上传文件夹存在  
if not os.path.exists(app.config['UPLOAD_FOLDER']):  
    os.makedirs(app.config['UPLOAD_FOLDER'])  

6.3 编写index函数

在 Flask 中,index 页面通常指的是应用程序的入口页面,即当用户访问应用程序的根 URL,在浏览器地址栏输入我们的IP+端口号后会进到的第一个页面。

@app.route('/')  
def index():  
    # 列出所有上传的文件
    files = [f for f in os.listdir(app.config['UPLOAD_FOLDER']) if os.path.isfile(os.path.join(app.config['UPLOAD_FOLDER'], f))]  
    return render_template_string('''  
   <!doctype html>  
    <html lang="en">  
    <head>  
        <meta charset="UTF-8">  
        <title>flask网盘</title>  
        <!-- 引入 CSS 文件 -->  
        <link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='styles.css') }}">  
    </head>  
    <body>  
        <h1>共享区的文件</h1>  
        <ul>  
            {% for file in files %}  
                <li><a href="{{ url_for('download_file', filename=file) }}">{{ file }}</a></li>  
            {% endfor %}  
        </ul>  
        <h1>上传新的文件</h1>  
      
        <form method="post" action="/upload" enctype="multipart/form-data">  
            <input type="file" name="file">  
            <input type="submit" value="上传">  
        </form>  
    </body>  
    </html>  ''', files=files) 

6.4 编写css文件美化页面

CSS(Cascading Style Sheets)是一种用于描述HTML或XML(包括如SVG、MathML等衍生语言)文档样式的计算机语言。CSS描述了如何在屏幕、纸质、音频等媒介中渲染元素。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。

这一步可以选做,不做也没什么影响,就是没有css文件来渲染而已。

一定要先新建一个static文件夹,并且给此文件命名为 styles.css 才能够使用。

/* styles.css */  
  
body {  
    font-family: Arial, sans-serif;  
    margin: 0;  
    padding: 20px;  
}  
  
h1 {  
    color: #333;  
    text-align: center;  
}  
  
ul {  
    list-style-type: none;  
    padding: 0;  
    text-align: center; 
}  
  
li {  
    display: inline-block;  
    margin-right: 10px;  
    margin-bottom: 10px;  
}  
  
li a {  
    text-decoration: none;  
    color: #007BFF;  
    font-weight: bold;  
}  
  
form {  
    margin-top: 20px;  
    text-align: center;  
}  
  
input[type="file"], input[type="submit"] {  
    margin-right: 10px;  
}  
  
input[type="submit"] {  
    padding: 5px 10px;  
    background-color: #007BFF;  
    color: white;  
    border: none;  
    cursor: pointer;  
}

6.5 编写上传函数

由于我们是进行文件的上传,所以是使用post方法携带表单进行提交。

比较简单就不做过多解释了。

@app.route('/upload', methods=['POST'])  
def upload_file():  
    if 'file' not in request.files:  
        return 'No file part in the request', 400  
    file = request.files['file']  
  
    if file.filename == '':  
        return 'No selected file', 400  
  
    if file:  
        filename = secure_filename(file.filename)  
        file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))  
        return 'File {} uploaded successfully!'.format(filename), 200

6.6 编写下载函数

本函数也很简单,就是你点击了文件名后,会使用get方法将文件下载下来。

@app.route('/download/<filename>', methods=['GET']) 
def download_file(filename):  
    return send_from_directory(app.config['UPLOAD_FOLDER'], filename, as_attachment=True)

6.7 效果演示

在main.py中,需要设置域名和端口,推荐非实装不要使用特殊端口,如果非要使用需要使用管理员权限来运行它,http的默认端口为80,你可以将port值改为80来访问:

if __name__ == '__main__':  
    app.run(host="192.168.137.205",port="2000")

现在开始运行,使用Python3解释器来运行main.py

图中已经提示了我们,通过 http://192.168.137.205:2000 来访问它。

现在由于uploads文件夹中没有文件,所以我们需要进行文件上传

现在我们进行文件上传:

点击选择文件,我这里随便选了一个文件:

然后点击上传,可以看到页面提示我们文件上传成功:

现在回到 index界面,发现已经有了我们上传的文件:

并且现在点击文件名,还会开启文件下载

7. OrangePi AIPro AI样例运行

本人从事的嵌入式行业,对AI推理只是有简单的了解,并不专业,只是通过运行OrangePi AIPro系统中内置的AI样例体验一下。在往后的生活里,可以将这些模型改成一个接口,我们只需要传递好图片、视频、音频进去,就能解析到相应的结果,所以还是挺有用的。

官方提供的OrangePi AIPro内置了AI样例,内置的样例想要直接使用需要使用到显示器。

我们需要修改个配置才能使用。

首先是进入样例目录

 cd samples/notebooks/

然后使用vim编辑器编辑 start_notebook.sh :

vim start_notebook.sh

将这个地方修改为你自己的IP;

然后运行sh脚本:

 ./start_notebook.sh

运行后如下图:

复制这个链接到自己的浏览器地址栏:

然后你就来到了Jupyter Notebook界面。

7.1 01-yolov5

双击第一个样例:

打开main.ipynb,里边会有提示:

翻到最下边,点进这个代码块里面,然后点击运行:

会出现报错,不要慌,点击那个带两个三角形的图标,然后点击重启内核。

此时你会感觉卡住了,其实并没有,你可以新开一个终端输入htop命令查看CPU和内存使用率。

过了几十秒后,会加载出一段视频,并且模型将汽车的所处位置给标注了出来

7.2 02-OCR

关闭01-yolov5,打开02-OCR,翻到最下面,点击这个图标开始运行

如下图所示,等待几秒钟后,图片出现了一张图片,并且将图中的文字给提取了出来:

7.3 03-ResNet

这个是一个视觉分类网络,来到这个页面,直接点击运行。

运行几秒后弹出了一张狗的图片,并且在其左上角打上了五种最为可能的类别。

第一个置信度为0.94的是“贵宾犬”,也正是正确的结果

7.4 image_HDR_enhance

这个样例的功能是使用模型对曝光不足的输入图片进行HDR效果增强

7.5 cartoonGAN

这个样例的功能是使用cartoonGAN模型对输入图片进行卡通化处理

这个是测试图片:

以下是动画化的结果:

7.6 human_protein_map_classification

功能:对蛋白质图像进行自动化分类评估
样例输入:未标注的蛋白质荧光显微图片
样例输出:已经标注分类的蛋白质图谱

若干秒后,在窗口中出现了一张蛋白质荧光显微图片。我们可以看到模型对图 片进行推理,展示了图片中蛋白质最有可能的三种类别以及相应的置信度,其中置 信度最高的类别是Mitochondna,为64.23%

7.7 07-Unet++

功能:对图像中的细胞核进行分割
样例输入:未标注的生物细胞图像
样例输出:已经分割的细胞核图像

若干秒后,在窗口中出现了一张细胞核的图片

7.8 08-portrait_pictures

目前工业界通用的人像分割主要采用绿屏技术,需要专门的绿屏设备及环境,不利于普通用户的广泛使用。在这个样例中,我们使用了一个深度学习神经网络PortraitNet,能够实时地进行人像分割和背景替换。

7.9 09-speech-recognition

在这个样例中,使用语音识别模型WeNet,该模型可以指将语音转换为文本。

在样例中已经包含转换后的om模型和测试语音。

如图,其将语音的文本给提取了出来。

8. 风扇使用

OrangePi AIpro的风扇接口,是具有PWM调速功能的,有自动模式和手动模式,默认工作模式为自动

我们可以使用以下命令查询其工作模式

sudo npu-smi info -t pwm-mode

如图,当前工作模式为自动模式。

使用以下命令查询当前风扇调速比:

sudo npu-smi info -t pwm-duty-ratio

手动\自动模式切换命令:

sudo npu-smi set -t pwm-mode -d 0

0 手动模式
1 自动模式

可以看到命令执行成功了:

现在来调节风扇转速,使用这条命令会将风扇转速调制最高:

sudo npu-smi set -t pwm-duty-ratio -d 100

执行完命令后,你的OrangePi AIpro应该已经开始像一台直升机准备起飞了

可以在运行CPU资源耗费过大的程序时,添加一个调节风扇转速的命令,以确保让它保持在一个比较好的工作状态。

9. 总结与展望

OrangePi AIPro的使用体验超乎了我的意料,以往在其他的Pi中,通常装个软件会衍生出一大堆麻烦,甚至乎装了很久,最后出现过程中的某个软件并不适配此linux电脑的操作,这样的问题遇到过很多次。

OrangePi AIPro使用的arm64架构,提供了丰富的资料,并且网上有关树莓派的资料大部分都是可以沿用的,十分便于使用者学习,并且其对于开发人员而言,其强大的性能也可以满足使用需要。作为一款采用昇腾AI技术路线的AI开发板,也得到了华为等公司的支持和推广。这也为其提供了更多的资料和资源支持。

我认为其存在的唯一的不足,不是性能不足,它完全能够满足我的全部需要,甚至还能够留有很多余力,如上述章节都为我常用的使用软件。使用起来最影响感受的是在散热方面。在室内不开空调单凭板载风扇进行散热时,会散热不充分最终导致USB接口都变得挺烫手,但在空调房中毫无感觉,摸起来甚至不如我的笔记本烫,所以它还是表现得很出色。好在官方提供的风扇,还提供了PWM风扇调速,风扇可供用户自己调节转速,十分有效。

  • 27
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IoT_H2

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值