OrangePi AIpro初体验:开启嵌入式开发之旅

概述

随着物联网和智能设备时代的到来,单板电脑因其独特的优势成为创新项目和教育实践的重要工具。在众多单板电脑中,香橙派以其出色的性能和亲民的价格,十分吸引博主这初涉嵌入式开发的新手。博主有幸被CSDN邀请对OrangePi AIpro进行测评。当我第一次拿起香橙派,它的小巧外观和精致的设计让我印象深刻。在开始之前,我仔细研读了用户手册,现在,一切就绪,我的香橙派初体验即将展开。

香橙派 AIpro开发板简介

Orange Pi AI Pro 开发板是香橙派 联合华为精心打造的高性能 AI 开发板,其搭载了昇腾 AI 处理器,可提供 8TOPS INT8 的计算能力,高度集成CPU、AI计算、ISP、图形输出等功能,可以有效实现目标识别、图像分类等AI应用加速,可快速提升开发效率,降低开发成本。内存提供了 8GB 和 16GB LPDDR4X 的运行内存两种版本, 使得 OrangePi AIpro 可以满足长时间高性能的部署任务。

香橙派 AIpro硬件规格

img

  • 处理器 昇腾 AI 处理器 4 核 64 位 Arm 处理器 + AI 处理器
  • 内存和存储能力 8GB/16GB 的LPDDR4X 内存 可外接 eMMC 模块、SATA/NVMe SSD
  • 网络 有线以太网 最高支持1000Mbps 同时还支持2.4G 和 5G 双频 Wi-Fi
  • 接口 USB3.0 Host 接口、(USB3.0)Type-C 接口、 MIPI CSI 2 Lane 接口、HDMI 接口、MIPI DSI 2 Lane 接口、3.5mm 耳机孔
  • 电源 支持 Type-C 供电,20V PD-65W 适配器
  • 支持的操作系统 Ubuntu 22.04 和 openEuler 22.03

开箱展示

打开包装可以看到开发板,插上自带的充电器即可成功启动😎,刚开机的时候风扇转速声音很大,大概10秒左右恢复无声,像我的游戏本开机😂

img

下面是官方的开发板正反面图片,以更好地展示接口和硬件细节。

img

img

SSH连接香橙派 AIpro

为了方便没有外接显示器的开发者使用香橙派 AIpro,这里给出在Windows系统上使用 MobaXterm 进行远程登陆
建立SSH会话的教程,在开始之前,首先要设置开发板的静态IP地址。

设置静态 IP 地址的方法

设置静态IP可以使用 nmtui 命令或nmcli 命令,博主选用nmtui来设置静态IP

  1. 首先运行 nmtui 命令。
base) HwHiAiUser@orangepiaipro:~$ sudo nmtui
  1. 然后选择 Edit a connection 并按下回车键。

img

  1. 然后选择需要设置静态 IP 地址的网络接口,比如设置 Ethernet 接口的静态 IP 地址选择 Wired connection 1 就可以了

img

  1. 然后通过 Tab 键选择 Edit 并按

img

  1. 然后通过 Tab 键将光标移动到下图所示的位置进行 IPv4 的配置

img

  1. 然后回车,通过上下方向键选择 Manual,然后回车确定

img

  1. 选择完后的显示如下图所示:

img

  1. 然后通过 Tab 键将光标移动到

img

  1. 然后回车,回车后会弹出下面的设置界面

img

  1. 然后就可以在下图所示的位置设置 IP 地址(Addresses)、网关(Gateway)和 DNS 服务器的地址,注意这里要换成自己路由器分配的IP地址,下图中设置的值是博主自己路由器分配的IP。

img

  1. 设置完后将光标移动到右下角的,然后回车确认。

img

  1. 然后点击回退到上一级选择界面。 选择 Activate a connection,再将光标移动到,最后点击回车

img

  1. 然后通过 ip a s eth0 就看到网口的 IP 地址已经变成前面设置的静态 IP 地址 了。
(base) HwHiAiUser@orangepiaipro:~$ ip a s e
  1. 然后就可以测试网络的连通性来检查 IP 地址是否配置 OK 了,ping 命令可以通 过 Ctrl+C 快捷键来中断运行
(base) HwHiAiUser@orangepiaipro:~$ ping 192.168.x.xxx -I eth0
  1. 修改博主自己的以太网端口号与开发板到同一网段

img

使用MobaXterm 远程登录开发板

MobaXterm是一款很强大的终端工具,支持SSH,FTP,串口,VNC,X server等功能;
官网下载hthttps://devpress.csdnimg.cn/d6c819be8b164c81b226b28cb60c3be1.png "#left")tps://mobaxterm.mobatek.net/
1)首先先建立SSH会话
Remote host 是上一步设置的 开发板的静态IP地址
Specify username 中输入 Linux 系统的用户名 root 或 HwHiAiUser

img

2)按照提示输入密码 默认密码为 Mind@123

img

3)成功登录系统

img

之后就可以通过这个窗口倒腾板子啦 😎

软件环境搭建

由于开发板寄过来时已经烧录了ubuntu系统,所以省去烧录步骤直接进行登录

  • 账号:root 密码:Mind@123
  • 账号:HwHiAiUser 密码:Mind@123

香橙派 AIpro开发板支持多种编程语言和软件开发环境,包括Python Conda Jupyter vim等。这使得开发者可以根据自己的需求选择适合的操作系统和开发工具,进行嵌入式AI应用的开发和调试。

img

开发板自带 Wi-Fi 模块可以轻松连接网络

img

Jupyter Lab

为了方便博主选择了常用的 Jupyter Lab 作为软件开发工具, Jupyter Lab 软件是一个基于 web 的交互式开发环境,与Jupyter Notebook不同,JupyterLab更像是一个完整的集成开发环境,用户可以在同一个窗口中同时打开多个笔记本、终端、文件浏览器和数据视图。这使得JupyterLab更适合于整个数据科学工作流程的管理和组织。

启动Jupyter Lab

1.在终端 切换到包含项目的工作目录

(base) HwHiAiUser@orangepiaipro:~$ cd samples/notebooks/
(base) HwHiAiUser@orangepiaipro:~/samples/notebooks$ ls

img

2.执行 start_notebook.sh 脚本启动Jupyter Lab ,会出现 录 Jupyter Lab 的网址

(base) HwHiAiUser@orangepiaipro:~/samples/notebooks$ ./start_notebook.sh

img

3.打开浏览器 将刚才网址复制过,进入 Jupyter Lab

img

AI功能体验

img

官方提供的镜像内置了9个AI应用样例(见上图),博主把自己之前的项目上传到开发板进行测试。

Pytorch构建栈式自编码器实现以图搜图(以cifar10数据集为例)

该项目构通过建栈式编码器,用编码器再解码出来的结果和原标签对比进行训练模型,然后用中间编码提取到的特征直接和原图的特征进行对比,得到相似度,实现以图搜图。
将MNIST数据集和cifar-10数据集上传到开发板上

img

训练模型,可以看到香橙派 AIpro在 昇腾 AI 处理器的加持下 能够以较短的时间完成模型训练 👍

img

效果图
随机取测试集的五张图片,进行以图搜图(TOP8)
提取的分布式特征聚集图像:第一张为原图散点图,第二张以检索的TOP8的TOP1的提取特征散点图为例

img

img

img

运行文字识别样例OCR

AI应用样例中的OCR一般指SceneTextRecognition(场景文字识别),主要面向自然场景。OCR两阶段方法一般包含两个模型,检测模型负责找出图像或视频中的文字位置,识别模型负责将图像信息转换为文本信息。博主这里运行了样例中的测试图片并根据训练出的om模型对博主上传的图片进行文字识别,可以看出该模型准确率很高,高达96.8%。
项目的目录结构如下

img

点击

img

运行项目

img

img

该文字识别样例读取了sample.png,将其中"我们的目标·······"等文字识别并标注出来。

img

总结

经过一天的体验 OrangePi AIpro 作为香橙派联合华为打造的高性能 AI 开发板超出了我的预期,它丰富的接口,容易上手,社区内容丰富,相信开发板将大放异彩。另外除了可以运行AI模型外,也是可以作为ARM服务器使用的,博主接下来会尝试将板子作为服务器使用。

了解更多OrangePi AIpro相关
Orange Pi 官网
昇腾论坛
OrangePi AIpro 用户手册

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

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

相关文章

vivado设置Vscode为默认编辑器

D:\vscode\Microsoft VS Code\Code.exe -g [file name]:[line number]

鸿蒙ArkUI-X跨平台开发:【资源分类与访问】

资源分类与访问 应用开发过程中,经常需要用到颜色、字体、间距、图片等资源,在不同的设备或配置中,这些资源的值可能不同。 应用资源:借助资源文件能力,开发者在应用中自定义资源,自行管理这些资源在不同…

话术巧妙分隔沟通效果更佳看看这个小技巧

客服回复客户咨询,如果遇到比较复杂的问题,经常会有大段的文字回复,用聊天宝的分段符功能,在需要分段的地方点击右上角的“插入分隔符”,就可以在指定位置分段,实现多段发送的目的。 前言 客服回复客户咨询…

干冰清洗机的清洗原理及应用

干冰清洗机的清洗原理及应用可以详细阐述如下: 一、清洗原理 干冰清洗机的清洗原理主要基于干冰的低温冷冻作用。干冰在常温下会迅速升华,吸收大量的热量,使周围的温度迅速降低。当干冰颗粒通过特殊的干冰清洗机喷射到清洗物体表面时&#…

系统架构设计师【第1章】: 绪论 (核心总结)

文章目录 1.1 系统架构概述1.1.1 系统架构的定义及发展历程1.1.2 软件架构的常用分类及建模方法1.1.3 软件架构的应用场景1.1.4 软件架构的发展未来 1.2 系统架构设计师概述1.2.1 架构设计师的定义、职责和任务1.2.2 架构设计师应具备的专业素质1.2.3 架构设计师的知识…

Java入门基础学习笔记45——String使用的注意事项

String使用时的注意事项: 1)String对象的内容不可改变,被称为不可变字符串对象。 Strings are constant; their values cannot be changed after they are created. String buffers support mutable strings. Because String objects are im…

C++代码使用ClangCL编译注意事项

遇到cmake指定模板类工程使用msvc的clang编译器编译代码,代码变量出现与预期不符的问题; 如下: clangcl将实现放到头文件里则不会出现这样的情况; 最后按照pcl的模板类写法则解决这个问题;

[SCTF2019]Who is he

unity 游戏,直接输入字符串 直接修改 if 判断,看能不能直接输出flag 修改了程序逻辑,但还是输出了 明明已经把这个 if 删了 不知道为什么还会输出这串字符 应该程序还有什么引入吧,看 wp 应该先查一下程序的动态链接库 DLL 是…

瓦罗兰特账号怎么注册 瓦罗兰特延迟高用什么加速器

《瓦罗兰特》(Valorant)是由拳头游戏(Riot Games)开发并发行的一款免费的多人在线第一人称射击游戏(FPS),它结合了传统的硬核射击机制与英雄角色的能力系统,为玩家提供了独特的竞技体…

【加密与解密(第四版)】第十七章笔记

第十七章 软件保护技术 17.1 防范算法求逆 17.2 抵御静态分析 反汇编算法:线性扫描(无法正确地将代码和数据分开)、递归进行 巧妙构造代码和数据,在指令流中插入很多“数据垃圾",干扰反汇编软件的判断&#xf…

为什么要学习c++?

你可能在想,“C?那不是上个时代的产物吗?” 哎呀,可别小看了这位“老将”,它在21世纪的科技舞台上依旧光芒万丈,是许多尖端技术不可或缺的基石! 1. 无可替代 c源于c语言,它贴近于硬…

地下停车场FM信号覆盖系统技术原理用与应用

随着我国城市化水平的快速推进与房地产的快速发展,城市停车场称为每栋建筑物的硬性配套建筑,尤其是商业综合体、医院、政府机关、机场、高铁站等场所出现了超大规模停车场,停放车辆可达数千辆,停车场的智能化与信息化水平也越来越…

Java | Leetcode Java题解之第104题二叉树的最大深度

题目&#xff1a; 题解&#xff1a; class Solution {public int maxDepth(TreeNode root) {if (root null) {return 0;}Queue<TreeNode> queue new LinkedList<TreeNode>();queue.offer(root);int ans 0;while (!queue.isEmpty()) {int size queue.size();wh…

Llama模型家族之使用 Supervised Fine-Tuning(SFT)微调预训练Llama 3 语言模型(十) 使用 LoRA 微调常见问题答疑

LlaMA 3 系列博客 基于 LlaMA 3 LangGraph 在windows本地部署大模型 &#xff08;一&#xff09; 基于 LlaMA 3 LangGraph 在windows本地部署大模型 &#xff08;二&#xff09; 基于 LlaMA 3 LangGraph 在windows本地部署大模型 &#xff08;三&#xff09; 基于 LlaMA…

进程和用户管理

查看进程的命令 ps top pstree 发送信号命令 kill 使用是后加-l 用户管理命令 添加用户:sudo adduser 用户名 修改组:sudo usermod -G 用户名1 用户名2 修改家目录:sudo usermod -d /home/用户名 -m 用户名 删除用户名:sudo deluser --remove -home 用户名

Docker 快速搭建 MongoDB 4.x 集群(一主一从)

目录 1. 生成 mongo-file2. 启动主节点3. 启动从节点4. 配置副本集5. 注意事项 环境&#xff1a;MongoDB 4.0.25&#xff0c;Alma Linux&#xff08;建议使用 Linux&#xff09; 部署的时候是在同一个及其上操作的&#xff0c;实际可以放在不同机器上。 截止到 2024年05月&…

JAVA学习·String类的常用方法

String 类及其创建 String 类的创建 String 类是 Java 内置的一个类&#xff0c;其完全限定类名是java.lang.String。想要创建一个字符串有多重方式&#xff0c;比如创建字符串"Hello"&#xff1a; String s1 "Hello"; // 字面量创建 String s2 new St…

在组件外使用pinia的坑

来源 项目包含很多静态的类型&#xff0c;我新建了一个js来专门管理和使用这些类型&#xff0c;如下图这种&#xff0c;有一部分是固定的&#xff0c;千年不变&#xff0c;有一部分是偶尔会变&#xff08;需要后台获取&#xff09;&#xff0c;还有一部分是要登录后才能拿到的…

python PyQt5 数字时钟程序

效果图&#xff1a; 概述 本文档将指导您如何使用Python的PyQt5库创建一个简单的时钟程序。该程序将显示当前时间&#xff0c;并具有以下特性&#xff1a; 始终在最前台显示。窗口可拖动。鼠标右键点击窗口可弹出退出菜单。时间标签具有红色渐变效果。窗口初始化时出现在屏幕…

骨折分类数据集1129张10类别

数据集类型&#xff1a;图像分类用&#xff0c;不可用于目标检测无标注文件 数据集格式&#xff1a;仅仅包含jpg图片&#xff0c;每个类别文件夹下面存放着对应图片 图片数量(jpg文件个数)&#xff1a;1129 分类类别数&#xff1a;10 类别名称:["avulsion_fracture",…