前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【测评】OrangePi AIPro环境配置与基础应用

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

作者头像
DevFrank
发布2024-07-24 16:08:01
2440
发布2024-07-24 16:08:01
举报
文章被收录于专栏:C++开发学习交流

1.介绍

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
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
img

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

img
img

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

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

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

代码语言:javascript
复制
sudo systemctl status sleep.target
sudo systemctl stop sleep.target
sudo systemctl disable sleep.target

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

代码语言:javascript
复制
ros2 pkg list #包管理工具
ros2 run #节点运行
ros2 node list #节点查看
ros2 topic list #话题操作
ros2 interface list #接口操作

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

代码语言:javascript
复制
which pip
pip list | grep torch

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

3.基础应用

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

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

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

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

代码语言:javascript
复制
# 安装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
代码语言:javascript
复制
// 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
img
img
3.2运行ROS2程序

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

代码语言:javascript
复制
# 发布订阅
ros2 run demo_nodes_cpp listener
ros2 run demo_nodes_cpp talker
# 小乌龟
ros2 run turtlesim turtlesim_node
ros2 run turtlesim turtle_teleop_key

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

img
img

4.使用体验

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

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

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

以上。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-05-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.介绍
  • 2.环境配置
  • 3.基础应用
    • 3.1搭建一个简单的流媒体服务器
      • 3.2运行ROS2程序
      • 4.使用体验
      相关产品与服务
      语音识别
      腾讯云语音识别(Automatic Speech Recognition,ASR)是将语音转化成文字的PaaS产品,为企业提供精准而极具性价比的识别服务。被微信、王者荣耀、腾讯视频等大量业务使用,适用于录音质检、会议实时转写、语音输入法等多个场景。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档