当前位置: 首页 > news >正文

香橙派OrangePi AIpro初体验:当小白拿到一块开发板第一时间会做什么?

文章目录

      • 香橙派OrangePi AIpro初体验:当小白拿到一块高性能AI开发板第一时间会做什么
      • 前言
      • 一、香橙派OrangePi AIpro概述
        • 1.简介
        • 2.引脚图
        • 开箱图片
      • 二、使用体验
        • 1.基础操作
        • 2.软件工具分析
      • 三、香橙派OrangePi AIpro.测试Demo
        • 1.测试Demo1:录音和播音(USB接口)
          • 样例介绍
          • 样例下载
          • 执行准备
          • 样例运行
        • 2.测试Demo2:MIPI接口播放音频
      • 三、应用场景
      • 四、结论

香橙派OrangePi AIpro初体验:当小白拿到一块高性能AI开发板第一时间会做什么

前言

在物联网和人工智能领域的飞速发展中,开发板作为硬件开发的重要工具,越来越受到开发者的青睐。香橙派OrangePi AIpro因其强大的性能和丰富的接口,成为了新手和专业开发者的热门选择。本文将详细介绍这款开发板的概述、基础操作以及Demo测试,并分享一些实践经验。

一、香橙派OrangePi AIpro概述

1.简介

香橙派OrangePi AIpro(8T)采用昇腾AI技术路线,具备高性能和低功耗特点。其具体配置包括:

  • 4核64位处理器 + AI处理器,集成图形处理器,支持8TOPS AI算力
  • 8GB/16GB LPDDR4X内存,支持32GB/64GB/128GB/256GB eMMC模块
  • 双4K高清输出

强大的硬件性能使其在各种AI应用场景中表现出色,如目标识别、图像分类等。

img

2.引脚图

香橙派OrangePi AIpro具备丰富的连接性,提供了多个接口,便于扩展:

  • 两个HDMI输出
  • GPIO接口
  • Type-C电源接口
  • 支持SATA/NVMe SSD 2280的M.2插槽
  • TF插槽
  • 千兆网口
  • 两个USB3.0、一个USB Type-C 3.0、一个Micro USB(串口打印调试功能)
  • 两个MIPI摄像头、一个MIPI屏
  • 预留电池接口

以上接口使得开发板在外部设备控制和扩展方面极具灵活性。

img
img

img

开箱图片

在这里插入图片描述
在这里插入图片描述

二、使用体验

1.基础操作

由于官方寄送的开发板已经预装了Ubuntu系统,我们可以通过FinalShell软件进行远程访问。使用SSH连接类型,填入获取的香橙派 AIpro的IP地址:

用户名:HwHiAiUser
密码:Mind@123

image-20240702161332406

连接成功后,我们便可以看到系统界面,标志着“点亮”成功。

image-20240702161404355

2.软件工具分析

在试用过程中,香橙派AIpro的多种软件工具集成有效简化了开发流程。以下是一些关键工具及其功能:

  • Ubuntu系统:预装的Ubuntu系统提供了稳定的开发环境,并支持大多数AI算法原型验证和推理应用开发。
  • FFmpeg:用于音频处理的强大工具,方便了录音和播音的实现。
  • Git:便于下载和管理代码库。
  • 编译工具链(如gcc):为代码编译提供了必要的支持。

这些工具在硬件连接、环境搭建和编码调试等步骤中表现出色,极大地提高了开发效率和易用性。

三、香橙派OrangePi AIpro.测试Demo

接下来,我们将进行香橙派OrangePi AIpro的Demo测试,具体操作如下。

1.测试Demo1:录音和播音(USB接口)

此测试示例由官方提供,详细步骤如下:

样例介绍

将USB接口的麦克风连接开发板,再运行样例实现录音功能。将USB接口的耳机连接开发板,通过FFmpeg软件播放录制好的音频。

样例下载

有两种下载方式,可选择其一进行源码准备。

  • 命令行方式下载
cd ${HOME}     
git clone https://gitee.com/ascend/EdgeAndRobotics.git
cd EdgeAndRobotics/Peripherals/Audio/USBAudio

image-20240702151714124

执行准备
  1. 以HwHiAiUser用户登录开发板。
  2. 安装FFmpeg。
sudo apt-get install ffmpeg libavcodec-dev libswscale-dev libavdevice-dev

image-20240702151807044

样例运行
  1. 以HwHiAiUser用户登录开发板,切换到当前样例目录。
  2. 编译样例源码。
gcc main.c -o main -lavutil -lavdevice -lavformat -lavcodec
  1. 运行样例,进行录音。
arecord -l
./main plughw:0

录音成功后,在USBAudio样例目录下生成音频文件audio.pcm。

  1. 播音。
ffplay -ar 44100 -ac 2 -f s16le audio.pcm
2.测试Demo2:MIPI接口播放音频
  1. 将耳机插入开发板的3.5mm耳机接口中。
    %E5%9B%BE%E7%89%872.png

  2. 进入音频测试程序所在的目录。

sudo -i 
cd /opt/opi_test/audio 
ls 

image-20240702160348129

  1. 使用以下命令播放测试音频到耳机。
./sample_audio play 2 qzgy_48k_16_mono_30s.pcm

image-20240702160523452

三、应用场景

香橙派OrangePi AIpro因其强大的性能和丰富的接口,能够应用于多个AI开发场景:

  1. AI教学实训:提供稳定的硬件和软件环境,适合学生进行AI算法的学习和实践。
  2. 智能小车和机械臂:支持多种外部设备接口,方便连接各种传感器和执行器。
  3. 边缘计算:低功耗高性能的处理能力使其适合部署在需要实时数据处理的边缘设备中。
  4. 智能家居和安防:多种接口支持摄像头和传感器连接,适合开发智能家居和安防系统。
  5. 无人机和智能交通:强大的AI算力和多样的接口支持,使其在无人机和智能交通系统中具备广泛应用前景。

四、结论

通过上述操作,成功地使用香橙派OrangePi AIpro进行了录音和播放音频的测试。这款开发板凭借其强大的性能和丰富的接口,能够满足多种AI应用需求,是AI开发者的理想选择。香橙派AIpro的多种软件工具集成有效简化了开发流程,极大地提高了开发效率和易用性,在不同应用场景下都能提供方便的解决方案。

相关文章:

香橙派OrangePi AIpro初体验:当小白拿到一块开发板第一时间会做什么?

文章目录 香橙派OrangePi AIpro初体验:当小白拿到一块高性能AI开发板第一时间会做什么前言一、香橙派OrangePi AIpro概述1.简介2.引脚图开箱图片 二、使用体验1.基础操作2.软件工具分析 三、香橙派OrangePi AIpro.测试Demo1.测试Demo1:录音和播音(USB接口…...

【C语言内存函数】

目录 1.memcpy 使用 模拟实现 2.memmove 使用 模拟实现 3.memset 使用 4.memcmp 使用 1.memcpy 使用 void * memcpy ( void * destination, const void * source, size_t num );目的地址 源地址 字节数 destination:指向要复制内…...

Mysql部署MHA高可用

部署前准备: mysql-8.0.27下载地址:https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.27-1.el7.x86_64.rpm-bundle.tar mha-manager下载地址:https://github.com/yoshinorim/mha4mysql-manager/releases/download/v0.58/mha4mysql-mana…...

【算法学习】射线法判断点在多边形内外(C#)以及确定内外两点连线与边界的交点

1.前言: 在GIS开发中,经常会遇到确定一个坐标点是否在一块区域的内部这一问题。 如果这个问题不是一个单纯的数学问题,例如:在判断DEM、二维图像像素点、3D点云点等含有自身特征信息的这些点是否在一个区域范围内部的时候&#x…...

SQL语句(DML)

DML英文全称是Data Manipulation Language(数据操作语言),用来对数据库中表的数据记录进行增删改等操作 DML-添加数据 insert into employee(id, workno, name, gender, age, idcard) values (1,1,Itcast,男,10,123456789012345678);select *…...

uniapp小程序打开地图导航

uniapp uni.getLocation({type: gcj02, //返回可以用于uni.openLocation的经纬度success: function (res) {const latitude res.latitude;const longitude res.longitude;uni.openLocation({latitude: latitude,longitude: longitude,success: function () {console.log(suc…...

webstorm格式化或保存时 vue3引入的组件被删除了

解决办法 保存时设置 格式化设置...

Java时间转换

一、线程不安全 Date date new Date(); SimpleDateFormat dateFormat new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String prefix dateFormat.format(date);二、线程安全,建议使用 String t1 LocalDateTime.now().format(DateTimeFormatter.ofPattern("y…...

Spring Boot与WebFlux的实战案例

Spring Boot与WebFlux的实战案例 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天,我们将探讨如何利用Spring Boot和WebFlux构建响应式应用的实战…...

vue3引入本地静态资源图片

一、单张图片引入 import imgXX from /assets/images/xx.png二、多张图片引入 说明:import.meta.url 是一个 ESM 的原生功能,会暴露当前模块的 URL。将它与原生的 URL 构造器 组合使用 注意:填写自己项目图片存放的路径 /** vite的特殊性…...

git 禁止dev合并到任何其他分支

创建 pre-merge-commit 钩子 导航到 Git 仓库的钩子目录: cd /path/to/your/repo/.git/hooks创建或编辑 pre-merge-commit 钩子: 也可以通过指令创建 nano pre-merge-commit在钩子文件中添加以下代码: #!/bin/sh# 获取当前分支名称 curr…...

第二节:如何使用thymeleaf渲染html(自学Spring boot 3.x的第一天)

大家好&#xff0c;我是网创有方&#xff0c;今天来学习如何使用thymeleaf渲染html。该模板运用不广泛&#xff0c;所以本节内容了解既可。 第一步&#xff1a;创建html文件。 在模板templates目录下创建一个html文件。 编写代码如下&#xff1a; <!DOCTYPE html> <…...

计算机相关术语科普之什么叫网关(Gateway)

网关&#xff08;Gateway&#xff09;是一个在计算机网络中起到关键作用的设备或系统&#xff0c;它扮演着网络间连接器或协议转换器的角色。 一、定义与功能 1&#xff09;定义&#xff1a; 网关是在不同网络之间实现互连的复杂设备&#xff0c;仅用于两个高层协议不同的网…...

B站网页部分API

https://www.bilibili.com/ 数据结构 mid: 用户id name: 用户名 face: 用户头像url noface.jpg为默认头像 sign&#xff1a; 签名level: b站等级 coins: b站硬币粉丝 https://api.bilibili.com/x/relation/fans?vmid{mid}&pn{pn}&ps{limit}&orderdesc&…...

使用Spring Boot和Spring Security保护你的应用

使用Spring Boot和Spring Security保护你的应用 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天我们将深入探讨如何利用Spring Boot和Spring Security来保护…...

CVE-2019-12272 Openwrt可视页面LuCi命令注入漏洞复现(完结)

声明 本文所使用的一些源代码等内容已经上传至github&#xff0c;具体地址如下 Vulnerability_POC-EXP/OpenWrt/CVE-2019-12272 at main a2148001284/Vulnerability_POC-EXP GitHub 漏洞简介 参考内容&#xff1a; CVE-2019-12272 OpenWrt图形化管理界面LuCI命令注入分析 |…...

【多线程开发 4】从源码学习LockSupport

从源码学习LockSupport 2024年6月30日 大家好啊&#xff0c;好久没写博客了&#xff0c;今天打算写一下&#xff0c;讲一下JUC里面LockSupport这个类。 这个是一个工具类&#xff0c;实际上也是为了线程通信开发的。它的源码比较短&#xff0c;也只引用了Unsafe一个类。所以…...

gameui C++的代码

gameui C的代码 #include <graphics.h> #include "gameboard.h" const int WIDTH 560; const int HEIGHT 780; const int GRID_SIZE 120; class GameUi { private: public:GameUi(GameBoard& gb) {// 初始化图形窗口initgraph(WIDTH, HEIGHT);// 设置…...

1.什么是js?特点是什么?组成部分?

Js是一种直译式脚本语言&#xff0c;一种动态类型&#xff0c;弱类型&#xff0c;基于原型的高级语言。 直译式&#xff1a;js程序运行过程中直接编译成机器语言。 脚本语言&#xff1a;在程序运行过程中逐行进行解释说明&#xff0c;不需要预编译。 动态类型&#xff1a;js…...

爬虫是什么?

目录 1.什么是互联网爬虫&#xff1f; 2.爬虫核心? 3.爬虫的用途? 4.爬虫分类&#xff1f; 5.反爬手段&#xff1f; 1.什么是互联网爬虫&#xff1f; 如果我们把互联网比作一张大的蜘蛛网&#xff0c;那一台计算机上的数据便是蜘蛛网上的一个猎物&#xff0c;而爬虫程序…...

TDengine 快速体验(Docker 镜像方式)

简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能&#xff0c;本节首先介绍如何通过 Docker 快速体验 TDengine&#xff0c;然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker&#xff0c;请使用 安装包的方式快…...

3.3.1_1 检错编码(奇偶校验码)

从这节课开始&#xff0c;我们会探讨数据链路层的差错控制功能&#xff0c;差错控制功能的主要目标是要发现并且解决一个帧内部的位错误&#xff0c;我们需要使用特殊的编码技术去发现帧内部的位错误&#xff0c;当我们发现位错误之后&#xff0c;通常来说有两种解决方案。第一…...

深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法

深入浅出&#xff1a;JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中&#xff0c;随机数的生成看似简单&#xff0c;却隐藏着许多玄机。无论是生成密码、加密密钥&#xff0c;还是创建安全令牌&#xff0c;随机数的质量直接关系到系统的安全性。Jav…...

python如何将word的doc另存为docx

将 DOCX 文件另存为 DOCX 格式&#xff08;Python 实现&#xff09; 在 Python 中&#xff0c;你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是&#xff0c;.doc 是旧的 Word 格式&#xff0c;而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...

反射获取方法和属性

Java反射获取方法 在Java中&#xff0c;反射&#xff08;Reflection&#xff09;是一种强大的机制&#xff0c;允许程序在运行时访问和操作类的内部属性和方法。通过反射&#xff0c;可以动态地创建对象、调用方法、改变属性值&#xff0c;这在很多Java框架中如Spring和Hiberna…...

Java入门学习详细版(一)

大家好&#xff0c;Java 学习是一个系统学习的过程&#xff0c;核心原则就是“理论 实践 坚持”&#xff0c;并且需循序渐进&#xff0c;不可过于着急&#xff0c;本篇文章推出的这份详细入门学习资料将带大家从零基础开始&#xff0c;逐步掌握 Java 的核心概念和编程技能。 …...

Caliper 配置文件解析:config.yaml

Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...

招商蛇口 | 执笔CID,启幕低密生活新境

作为中国城市生长的力量&#xff0c;招商蛇口以“美好生活承载者”为使命&#xff0c;深耕全球111座城市&#xff0c;以央企担当匠造时代理想人居。从深圳湾的开拓基因到西安高新CID的战略落子&#xff0c;招商蛇口始终与城市发展同频共振&#xff0c;以建筑诠释对土地与生活的…...

搭建DNS域名解析服务器(正向解析资源文件)

正向解析资源文件 1&#xff09;准备工作 服务端及客户端都关闭安全软件 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 2&#xff09;服务端安装软件&#xff1a;bind 1.配置yum源 [rootlocalhost ~]# cat /etc/yum.repos.d/base.repo [Base…...

深入理解Optional:处理空指针异常

1. 使用Optional处理可能为空的集合 在Java开发中&#xff0c;集合判空是一个常见但容易出错的场景。传统方式虽然可行&#xff0c;但存在一些潜在问题&#xff1a; // 传统判空方式 if (!CollectionUtils.isEmpty(userInfoList)) {for (UserInfo userInfo : userInfoList) {…...