【测评】OrangePi AIPro环境配置与基础应用

1.介绍

官网:http://www.orangepi.cn/
社区:http://forum.orangepi.cn/
昇腾社区:https://www.hiascend.com/

OrangePi AIPro 是一款基于昇腾AI技术的开发板,它采用华为昇腾910E AI芯片,集成4核64位CPU和AI处理器,支持8TOPS AI算力,拥有8GB/16GB LPDDR4X内存,支持千兆网口、GPIO接口、双HDMI接口、WIFI5+BT4.2、USB3.0和USB Type-C 3.0接口等,采用Type-C供电(还支持MIPI接口的摄像头和DSI屏幕,后续有了这些外设可以继续开发)。Orange Pi AIpro支持Ubuntu、openEuler操作系统,满足大多数AI算法原型验证、推理应用开发的需求。

img

OrangePi AIPro 的主要特点:

  • 高性能:采用华为昇腾910E AI芯片,支持8TOPS AI算力,可满足各种AI应用的需求。
  • 低功耗:采用12nm制程工艺,功耗低,发热量小。
  • 开源:支持多种开源操作系统,如Ubuntu、OpenEuler等,方便开发人员进行二次开发。
  • 扩展性强:提供丰富的接口,支持多种扩展模块,可满足不同应用场景的需求。

OrangePi AIPro 的优势:

  • 高性价比:相比其他AI开发板,OrangePi AIPro 的价格更低,性能更强。
  • 开源社区支持:拥有活跃的开源社区,为开发人员提供丰富的技术支持和资源。
  • 产品线丰富:除了OrangePi AIPro,还推出了多款AI开发板,可满足不同用户的需求。

OrangePi AIPro 旨在为人工智能应用提供高性能、低功耗的开发平台,可广泛应用于图像识别、语音识别、自然语言处理、智能家居、机器人等领域。总的来说,相比树莓派和英伟达的Jetson系列,OrangePi AIPro对中文开发者更加友好,内容也足够丰富,可作为平替开发机器人及相关的AI应用。

2.环境配置

开发板已经预装好了Ubuntu22.04系统,C++编译器和Python等基础环境也是装好的,第一次开机我们连接上网络后查看ip,然后就可以通过ssh远程登陆了,不用再依赖屏幕。

img

当然也可以安装nomachine,方便桌面操作,效果如图:

img

常用的查看系统信息的命令:

uname -a #显示内核版本、操作系统名称、主机名、处理器的架构等基本系统信息lsb_release -a #显示发行版名称、版本号、发行版ID等详细信息
lshw #列出所有检测到的硬件设备及其详细信息
lspci #列出所有PCI设备及其详细信息
df -h #显示磁盘分区的使用情况
free -m #显示内存使用情况
top #查看系统监控信息

另外,可对开发板禁用睡眠模式,防止睡眠后黑屏:

sudo systemctl status sleep.target
sudo systemctl stop sleep.target
sudo systemctl disable sleep.target

系统基础环境配置好后,机器人开发可以安装ros,Ubuntu22对应的应该是ROS2 Humble,可以使用小鱼的一键安装指令。不过有这方面需求再安装,毕竟占用的存储空间不小(完整版大约2.9G)。常用的命令如下:

ros2 pkg list #包管理工具
ros2 run #节点运行
ros2 node list #节点查看
ros2 topic list #话题操作
ros2 interface list #接口操作

另外,主打AI开发板,当然AI的开发环境也是配好的,可以看到已经配好了pytorch环境,开发板用的模型是om格式的,系统样例中也给了onnx2om.py的转换脚本。系统默认安装的是miniconda,可通过下列命令查看:

which pip
pip list | grep torch

或进入python环境输入import torch查看是否报错

3.基础应用

系统主目录samples下,自带了几个AI示例,可以先简单跑一下试试,包含目标检测、特征点检测、场景分割等。

此外,还可以做下面两种应用:

3.1搭建一个简单的流媒体服务器

可以基于此开发板推流视频或相机的图像,并基于nodejs搭建流媒体监控页面,具体步骤如下:

# 安装nodejs和ffmpeg
sudo apt install nodejs ffmpeg
# 安装node-media-server
npm install node-media-server
# 创建app.js并通过node app.js运行,打开http://localhost:8000/admin/可查看
# 本地推流视频文件
ffmpeg -re -i input.mp4 -c:v copy -c:a copy -f flv rtmp://localhost:1935/live/stream_name
// app.js
const NodeMediaServer= require('node-media-server');
const config = {
    rtmp: {
        port: 1935, // 页面端口
        chunk_size: 60000,
        gop_cache: true,
        ping: 60,
        ping_timeout: 30
    },
    http: {
        port: 8000,
        allow_origin: '*',
    }
};
 
var nms = new NodeMediaServer(config)
nms.run();

效果如下,跑一跑视频推流还是可以的:

img

img

3.2运行ROS2程序

ROS 2 是一个开源的机器人操作系统,它是ROS(Robot Operating System)的下一代版本。它提供了一系列工具、库和约定,用于构建机器人应用程序。
ROS 2采用分布式消息传递机制,可以在不同的计算机上进行通信,并支持多种编程语言,包括C++、Python、Java等。ROS 2还提供了更好的安全性和实时性,使其适用于更广泛的机器人应用场景。
开发板可以安装ROS2,并可接入相机、雷达等传感器,进行机器人应用等,一个基本的发布和订阅运行如下:

# 发布订阅
ros2 run demo_nodes_cpp listener
ros2 run demo_nodes_cpp talker
# 小乌龟
ros2 run turtlesim turtlesim_node
ros2 run turtlesim turtle_teleop_key

运行发布者和监听者示例:

img

4.使用体验

从收到开发板到开机配置,再到跑相关的工程,总体来说比较顺利,尤其喜欢这个type-c接口供电,整体接口也比较丰富,建议初学者可以搭配上外壳、屏幕和摄像头,这样开发会更加方便。
也有几个小问题要注意:

  1. 要远程用nomachine的话,需要先接上屏幕后才可远程界面;远程相比直接用屏幕操作稍有卡顿,但还能接受
  2. ros2工程编译不要在miniconda环境下,要先退出conda,然后才能正常编译通过

总体来说,接口丰富,资源较多,对中文开发者还是比较友好的,可作为某pi的平替。

以上。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

CRMEB多门店的门店后台首页路由

如何在输入 http://localhost:8080/、http://localhost:8080/store/、http://localhost:8080/custom-store/ 这三个中任意一个链接都能正确跳转到 http://localhost:8080/store/home/index 。要实这个要求,有两种方式: 重定向const router new VueRout…

恒创科技:Linux 服务器和 Windows 服务器哪个更好?

选择正确的服务器系统至关重要,目前广泛使用的选项是 Windows 服务器 和 Linux 服务器,它们各有优缺点。本文将比较 Linux 与 Windows 服务器,让我们来看看它们的主要区别,然后再决定哪种操作系统适合使用。 主要区别:…

几种流行的并行方法了解

几种流行的并行方法: 数据并行(data parallel)模型并行(model parallel) tensor并行pipeline并行sequence并行Zero Redundancy Data Parallelism(ZeRO) Data parallelism (DP) 经典的数据并行…

基本Java语法和语义 (Reading 2)

(1)Java和C在变量类型命名和使用 基本数据类型 对象类型与引用类型 特殊类型 关键字和修饰符 (2)快照图: IDE调试工具: 许多IDE(如Eclipse、IntelliJ IDEA)提供了调试功能,可以…

智慧水坝:科技变革的里程碑

在曾经的水利工程领域,水坝只是为了水资源的调配和控制,提供一定的安全储备。然而,随着现代科技的不断发展,传统的水坝已经不再是单一的水源控制工程,而是变成了一个充满智慧与创新的生态系统。智慧水坝的概念已经超越…

远大阀门集团携创新产品亮相南京,展现石化行业新风采

2024年5月22日,备受瞩目的第八届中国石油和化工行业采购大会在江苏省南京市盛大开幕。作为石化行业物资采购领域极具影响力的年度盛会,本次大会吸引了众多国内外能源化工企业、化工新材料企业、工程公司以及相关领域的供应商参加。远大阀门集团作为特邀优…

Python筑基之旅专栏(导航)

目录 一、Python筑基之旅专栏博文清单及链接 二、推荐阅读 一、Python筑基之旅专栏博文清单及链接 01、溯源及发展 02、变量和数据类型 03、搭建Python开发环境及库 04、两个重要函数/列表/元组 05、字符串(一) 06、字符串(二) 07、字符串(三) 08、字典 09、集合 10…

看汽车冲压件的工厂,如何做PFMEA分析?

为了确保冲压件的质量稳定,提高生产效率,PFMEA(过程潜在失效模式及影响分析)分析成为了汽车冲压件工厂不可或缺的重要工具。本文将带您走进汽车冲压件工厂,一探PFMEA分析的奥秘与实践。 PFMEA分析,作为一种…

I.MX6ULL的蜂鸣器实验

系列文章目录 I.MX6ULL的蜂鸣器实验 I.MX6ULL的蜂鸣器实验 系列文章目录一、前言二、有源蜂鸣器简介三、硬件原理分析四、程序编写五、编译下载验证5.1编写 Makefile 和链接脚本5.2编译下载 一、前言 在 I.MX6U-ALPHA 开发板上有一个有源蜂鸣器,通过 IO 输出高低电…

git中忽略文件的配置

git中忽略文件的配置 一、在项目根目录下创建.gitignore文件二、配置规则如果在配置之前已经提交过文件了,要删除提交过的,如何修改,参考下面的 一、在项目根目录下创建.gitignore文件 .DS_Store node_modules/ /dist# local env files .env…

设计模式基础——设计原则介绍

1.概述 ​ 对于面向对象软件系统的设计而言,如何同时提高一个软件系统的可维护性、可复用性、可拓展性是面向对象设计需要解决的核心问题之一。面向对象设计原则应运而生,这些原则你会在设计模式中找到它们的影子,也是设计模式的基础。往往判…

电脑由于ntdll.dlI丢失导致exe崩溃有什么解决办法?解决ntdll.dll丢失问题

相信有一些用户正在面临一个叫做“ntdll.dll丢失”的问题,这种情况多半发生在试图运行某个程序时,系统会提示一条错误消息:“程序无法启动,因为计算机中丢失了ntdll.dll”。那么,为何ntdll.dll文件会丢失,又…

全能集成开发平台Team·IDE

三甲医院的床位太难等了。反正也是小手术,老苏周五在附近找了家二甲医院,幸运的是,门诊迅速为我开具了入院证。周六早晨就接受了手术,周日挂了一天水,周一下午就出院了。准备在家先休息两天。 2~4 周之后把支架取出来…

Pytorch深度学习实践笔记9(b站刘二大人)

🎬个人简介:一个全栈工程师的升级之路! 📋个人专栏:pytorch深度学习 🎀CSDN主页 发狂的小花 🌄人生秘诀:学习的本质就是极致重复! 《PyTorch深度学习实践》完结合集_哔哩哔哩_bilibi…

YOLOv10:全面的效率-准确性驱动模型设计

YOLOv10:全面的效率-准确性驱动模型设计 提出背景精细拆分解法双重标签分配一致的匹配度量以效率为导向的模型设计 YOLO v10 总结1. 双重标签分配策略2. 一致匹配度量策略 论文:https://arxiv.org/pdf/2405.14458 代码:https://github.com/T…

【源码】java + uniapp交易所源代码/带搭建教程java交易所/完整源代码

java uniapp交易所源代码/带搭建教程java交易所/完整源代码 带简洁教程,未测 java uniapp交易所源代码/带搭建教程java交易所/完整源代码 - 吾爱资源网

数据结构第二篇【关于java线性表(顺序表)的基本操作】

【关于java线性表(顺序表)的基本操作】 线性表是什么?🐵🐒🦍顺序表的定义🦧🐶🐵创建顺序表新增元素,默认在数组最后新增在 pos 位置新增元素判定是否包含某个元素查找某个…

HTTP 与 HTTPS 对比

HTTP:HTTPS:超文本传输协议 超文本传输安全协议加入SSL/TLS协议,依靠证书来验证服务器的身份需要到CA申请证书,需要一定费用TCP 协议 80 端口 TCP 协议 443 端口更耗费服务器资源

zabbix自定义监控项

文章目录 1、配置conf文件(zabbix_agent2)linuxwindows 2、配置监控项3、配置触发器4、查看监控数据 示例自定义程序 hash_tool:输出指定目录的哈希值 调用指令: hash_tool --path [指定目录] 1、配置conf文件(zabbix_agent2) linux vim /etc/zabbix/z…

Pandas03

目录 数据修改 修改列名 修改行索引 修改索引名(重置索引)rename_axis 修改值 修改类型 替换值 数据增加 新增列(固定值) 新增列(计算值) 新增列(比较值) 新增列&#x…