香橙派OrangePi AIpro,助力国产AIoT迈向新的台阶!

news2024/11/18 20:17:28

前言:很高兴受邀CSDN与OrangePi官方组织的测评活动,本次测评是一块基于AI边缘计算的香橙派开发板OrangePi AIpro。这是 香橙派 联合 华为昇腾 合作精心打造的新一代边缘AI计算产品,于2023年12月初发布,提供 8/20TOPS澎湃算力[1],能覆盖生态开发板者的主流应用场景,让用户实践各种创新场景,并为其提供配套的软硬件。价格方面也是颇具性价比,8TOPS、8GB内存的创客价/预售价仅为799元。本篇博文就围绕OrangePi AIpro 开发板进行较为全面的测评,包括基础开箱及环境配置,同时会从 AI IOT 两个部分进行较为深入的测评体验。  

 

开箱测评

 

开箱展示

 

拿到产品,第一时间进行了拆箱。可以看到包装非常的专业、很严实,产品包括OrangePi AIpro开发板、65w pd充电器、充电线。瓷漆的设计高端大气,各细节考虑全面,很有质感。看了下充电器参数,兼容了5V/3A、9V/3A、12V/3A、15V/3A、20V/3.25A这几个常见的电压和电流输出,同时看到散热风扇和烧录系统镜像的32G内存卡都已经安装好了,一般AI CPU运行模型都需要散热,将芯片维持在一个正常的温度范围内是很有必要的。所以拿到板子不需要额外过多的安装步骤,开箱就能用起来,这一点还是非常友好的。

 

芯片方面,拆开风扇可以看到丝印上印制CN,表示中国制造的国产华为芯片,不过具体哪个厂商制作的目前还不清楚。可以说拿到这块香橙派开发板还是感觉很自豪的,即使国外限制芯片也不必担心,我们也拥有自己优秀的AI芯片,所以非常值得我们学习和使用OrangePi AIpro。

 

视图展示

下面是官方的开发板正反面视图,更好地展示香橙派细节。

正面试图:

 

背面试图:

注意到MIPI摄像头和显示器的接口,三年前玩过树莓派3B,也有摄像头的接头,没记错的话接口应该是一样的。板载的蓝牙WIFI天线,这里还专门标出来2.4G频段。背面可以看到可以接M.2的固态硬盘,定位孔和传统的开发板设计是非常相似的,上手也是非常的友好 。

 

⚠香橙派提醒:使用板子时天线不能贴到板子上,同时天线上的导电布也不能挨着板子,否则可能会烧坏板子哦~

 

接线登录

 

OrangePi AIpro的接线非常简单,因为板子上有个Micro-USB的调试串口,旁边正好有一根Micro-USB接口的接线。可是插入电脑没识别到串口,这根线好久没用可能坏掉了,现在更常见的是Type-C接口的,手头也没有其他Micro-USB的线了,不过没关系,还可以使用CH340串口调试工具。按照官方手册,UART0 的 TX 和 RX 引脚接到了40 Pin 扩展接口中的8号和10号引脚。

 

注意:查看手册,这里拨码开关BOOT1和BOOT2都拨到右边,否则无法正常启动内核。

 

刚上电风扇飕飕一顿转,吓我一跳,哈哈!看来是板子运行起来了,过一会风扇速度降下来了,风扇转速应该是软件控制的,后面再改一下吧。

打开MobaXterm软件,使用串口登录,这里波特率设置115200,RESET后打印启动信息和登录命令行,输入如下账号和密码即可完成串口登录:

 

除了串口,还有更为方便的WIFI方式连接到开发板,因为板子是带WIFI模块的。这里电脑和开发板连接同一个路由器,确保IP地址在同一个网段下,这样我们就能用SSH连接开发板,然后就可以把串口线拿掉,方便开发调试。

 

#板子搜索连接周围WIFI热点的方法: nmcli dev wifi #WIFI扫描 sudo nmcli dev wifi connect wifi_name password wifi_passwd wifi_name: 需要换成想连接的WIFI 热点的名字。 wifi_passwd: 需要换成想连接的WIFI 热点的密码。

 

电脑和开发板连接同一个路由器并处在同一个网段后,就可以通过终端输入ssh HwHiAiUser@xxx.xxx.xx.xx远程登录开发板了,密码对应为Mind@123,当然也可以直接使用mobaxterm进行连接,这也是官方推荐的方式,

 

外设引脚

 

OrangePi AIpro接口很丰富,引脚也引出来了,一共40 Pin,非常的细致,如下图所示:

 

这里手册也介绍了40 Pin 接口使用的一些注意事项:

  • 40 pin 接口中总共有26 个GPIO 口,但8 号和10 号引脚默认是用于调试串口功能的,并且这两个引脚和Micro USB 调试串口是连接在一起的,所以这两个引脚请不要设置为GPIO 等功能。

  • 所有的GPIO 口的电压都是3.3v。

  • 40 pin 接口中27 号和28 号引脚只有I2C 的功能,没有GPIO 等其他复用功能,另外这两个引脚的电压默认都为1.8v。

有了以上这些基本的环境搭建和板子初步了解后,就可以初步体验一下部分外设功能了。

点亮一盏LED灯

 

作为一名嵌入式工程师,拿到一块新的板子,怎么能不点亮一盏灯呢?正好手里有一个HW-269灯珠模块,使用杜邦线飞线连接,这里选取了几个靠近的GPIO进行接线。

具体接线:香橙派两个提供5V电源分别接到灯珠引脚2和引脚3,GPIO2_15连接灯珠引脚3,输出低电平即可点亮灯。

 

 

手册里介绍 Linux 镜像中预装了 gpio_operate 工具用于设置 GPIO 管脚的输入与输出方向,也可将每个GPIO 管脚独立的设为 0 或 1。

 

 

 

gpio_operate set_direction 2 15 1 //设置GPIO2_15为输出方向 gpio_operate set_value 2 15 0 //设置GPIO2_15输出低电平,点亮 gpio_operate set_value 2 15 0 //设置GPIO2_15输出高电平,熄灭

 

接好线,命令行分别键入设置GPIO方向以及输出电平,可以发现灯亮了,燃起来了!好像又回到了最初学习单片机的场景,一瞬间有点恍惚......

 

感受:

这里不得不说香橙派 AIpro的 40 Pin引脚确实丰富,提供了丰富的外设资源,包含:GPIO、I2C、UART、SPI 和 PWM等功能。Linux 镜像中给我们提前预装了 gpio_operate 工具用于设置 GPIO 管脚的输入与输出方向,也可将每个 GPIO 管脚独立的设为 0 或 1。很方便。后面自己又试用了 USART、SPI、IIC,手册上都有对应的例程,稍加改动就能应用到实际的项目中去。

 

OrangePi AIpro AI功能体验测评

 

登录juypter lab

 

官方手册给出的几个AI例程均在 Linux 系统桌面使用,这里如果你没有HDMI屏幕的话,可以在电脑上远程连接的,需要确保开发板和电脑在同一个频段,将板子IP跟在notebooks启动脚本后面即可。具体操作步骤如下:

 

首先进入这个目录:

 

cd ~/samples/notebooks

开启notebook服务器:

 

./start_notebook.sh 192.168.2.109 #IP是OrangePi AIpro开发板的地址

 

将上图中红框内容粘贴到Chrome浏览器,如下所示,即可运行官方预制的AI例程了,可以看到有9个AI样例,下面就挑选几个感受一下OrangePi AIpro的算力。

 

目标检测用例测评

 

该样例中 infer_mode 的值可赋值为image、video 和camera,分别对应对图片、视频、USB 摄像头中的内容进行目标检测,默认值为video。这里使用的是video,实际运行启动时间大概20秒,检测效果不错,没有出现误标情况。

 

 

这里在运行此模型时我SSH另起一个连接,以此检测案例运行过程中芯片的数据信息,键入如下指令:

 

npu-smi info watch

 

在运行目标检测YOLOv5s例程时,通过监测发现芯片温度稳定在57°左右,正常待机时在52°左右,在风扇加持下温度没有明显上升;AI Core占用率不超过30%,内存占用率稳定在37%,可见YOLOv5轻量的网络在OrangePi AIpro运行还是挺流畅,适合在边缘设备部署,进行实时目标检测。

 

文字识别用例测评

 

 

OCR一般指Scene Text Recognition (场景文字识别),主要面向自然场景。 OCR两阶段方法一般包含两个模型,检测模型负责找出图像或视频中的文字位置,识别模型负责将图像信息转换为文本信息。此样例中,我们使用的检测模型为CTPN,识别模型则是SVTR。

运行结果:两排字均能识别出来,包括标点符号,识别速度还是很快的。

 

目标分类用例测评

 

运行结果:案例运行大概3秒后,我们可以看到模型对图片进的推理结果,一共展示了五种类别的置信度,最高的置信度类别是Standard Poodle,达到94%,效率很高。

 

OrangePi AIpro IoT亚马逊云使用测评

 

IoT作为AIoT的重要组成部分,正好作者最近工作和这方面强相关,对IoT也比较熟悉,在这里顺带测试一下OrangePi AIpro 在IoT方面的使用效果,这里选取的是AWS亚马逊云。

 

连接AWS IoT Core

 

AWS IoT Core 支持与 IoT 设备、无线网关、服务和应用程序的连接。设备可以连接到服务和其他设备,这样它们就可以向 AWS IoT 服务和其他设备发送数据和从中接收数据。应用程序和其他服务还可以连接 AWS IoT Core 以控制和管理物联网设备,并处理来自物联网解决方案的各种数据。

 

 

SDK 和工具

  • 这些AWS 软件开发工具包为 API 和其他服务的 AWS IoT Core API 提供特定语言的支持。 AWS AWS 移动 SDK 为应用程序开发者提供针对特定平台的 AWS IoT Core API 支持,以及移动设备上的其他 AWS 服务。

  • AWS CLI提供对 AWS IoT 服务端点提供命令行访问权限,并提供在 PowerShell 脚本环境中管理 AWS 服务和资源的工具。

身份验证

  • 服务终端节点使用 IAM 用户和 AWS 证书对用户进行身份验证。

 

连接前需要先创建一个产品,详细细节参考文档:创建AWS IoT资源然后保存Download certificates and keys,下载根 CA 文件,入下图所示:

 

将证书私钥等文件保存到香橙派的root/certs路径下保持,使用SSL加密socket通信导入到AWS SDK即可,入下所示。

 

static int32_t setCredentials( SSL_CTX * pSslContext, const OpensslCredentials_t * pOpensslCredentials ) { int32_t sslStatus = 0; sslStatus = setRootCa( pSslContext, pOpensslCredentials->pRootCaPath ); sslStatus = setClientCertificate( pSslContext, pOpensslCredentials->pClientCertPath ); sslStatus = setPrivateKey( pSslContext, pOpensslCredentials->pPrivateKeyPath ); return sslStatus; }

使用官方AWS IoT 嵌入式 C 示例的设备 SDK运行程序,由于是C语言,需要在香橙派安装CMake,编译后运行查看日志发现已经先后成功地建立TLS和MQTT连接。

 

基于MQTT数据交互

 

Json格式的请求响应文档下格式如下所示:

 

{ "state": { "desired": { "attribute1": integer2, "attribute2": "string2", ... "attributeN": boolean2 }, "reported": { "attribute1": integer1, "attribute2": "string1", ... "attributeN": boolean1 } }, "clientToken": "token", "version": version }

  • state — 更新仅影响指定字段。通常,您将使用 desiredreported 属性,但不能在同一请求中同时使用这两个属性。

    • desired — 请求在设备中更新的状态属性和值。

    • reported — 设备报告的状态属性和值。

  • clientToken — 如果使用,您可以通过客户端令牌匹配请求和相应的响应。

  • version 如果使用,仅当指定的版本与 Device Shadow 服务拥有的最新版本相符时,该服务才会处理更新。

我们通过desiredreported 这种AWS的格式,实现数据上报和下发控制。

 

OTA初探

 

作为一款AI功能开发板,当我们的模型经过不断迭代优化后,需要将新的程序更新到板子,这里就需要通过远程空中下载的方式给设备升级(OTA)。使用AWS JOB机制便可实现功能,同时考虑到Linux升级文件一般会比较大,为了加快升级速度这里引用差分逻辑。

 

下面是AWS 官方文档给出的整个JOB 流转过程,这里简单移植使用了一下。

 

 

我把OrangePi AIpro的初始版本号设置成0.0.0,云平台上传了两个基础包和一个差分包,这里升级检测的时候会下载这两个差分包和全包,然后还原成原始文件。在板载外置天线加持下,下载速度还是比较快的,这里我只是把包下载好了,然后直接上报升级成功。后面有时间会研究一下OrangePi AIpro bootloader相关内容,把完整的OTA链路打通。

 

总结建议

 

本文通过开箱简单做了测评,从OrangePi AIpro的试图展示到外设资源,同时也点亮了一盏LED灯初步感受这块开发板的使用体验,然后从AI和IOT两个方面进行较为细致的测试。由于是第一次接触香橙派,以前一直使用的都是树莓派,经过对比发现OrangePi AIpro功能还是非常的强大,生态比想象的要完善,虽然网上相关资源比树莓派要少,但通过阅读官方手册就能上手,还是比较全面的。同时开发板的外观精致,包装专业,配件也齐全。可以发现OrangePi AIpro无论是在人工智能领域、工业自动化、还是智能家居等,都是一个不错的选择。

 

不过在使用过程中,个人感觉有以下两个点可以优化下:

  • 1、相比较之前使用过的树莓派,Micro-USB的串口调试很方便,不过建议换成Type-C接口更好,毕竟更普遍;

  • 2、两个BOOT拨码开关都在板子背面,如果开发板放入金属壳子,打开顶盖是看不到拨码开关的,需取下板子才能更改拨码开关位置,放置正面会更方便一点,或许官方觉得一般人不会频繁更改启动配置吧。

 

未来展望

 

昇腾的不断发展在AIoT领域发挥着越来越重要的作用,但相比较树莓派成熟的生态体系来讲还有一段距离,毕竟进场晚,不过没关系,有这么多优秀的开发工程师不断使用、改进、分享合作,共同推动昇腾AI官方社区生态发展,所谓前人种树,后人乘凉。同时我们对国产品牌也要有信心,期待香橙派与华为昇腾团不断更新迭代,促进国产AIoT为各行业的智能化转型赋能。

以上是OrangePi AIpro到手一周的使用感受,后期有时间会继续探索输出更多有关OrangePi AIpro教程及技术博文,欢迎大家交流探讨。

 

 

[1]:TOPS,全称为Tera Operations Per Second,是处理器运算能力单位。TOPS是Tera Operations Per Second的缩写,1TOPS代表处理器每秒钟可进行一万亿次(10^12)操作。昇腾论坛有博主专门对此做了对比测试

 

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

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

相关文章

盲人无障碍设施建设:科技之光照亮前行之路

在这个快速发展的时代,科技的每一次进步都在悄然改变着我们的生活,尤其在提升特殊群体生活质量方面,展现出前所未有的力量。今天,让我们聚焦于盲人无障碍设施建设这一重要话题,通过一款名为“蝙蝠避障”的辅助软件&…

Debug-012-el-popover 使用 doClose() 关闭窗口不生效的处理方案

前言: 今天上午碰见一个非常奇怪的情况:一样的方法实现的功能,效果却不一样。 两个页面都是使用的doClose()去关闭的el-popover,其中有一个就是不生效,找不同找了半天,始终不得其解。请看效果吧&#xff1…

2024-05-28 服务器开发-不同vs版本的std::string的访问出错问题-记录

摘要: 有一个dll库是使用vs2010编译的, 使用这个dll动态库的工程是vs2019. 这个dll动态库返回一个结构体,其中有个成员使用了std::string。但是遇到了std::string的成员显示被赋值为NULL的情况。 本文对进行分析, 重点在于追踪问题的思路。 问题描述: dll使用vs20…

java项目之飘香水果购物网站(springboot+vue+mysql)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的飘香水果购物网站。项目源码以及部署相关请联系风歌,文末附上联系信息 。 项目简介: 飘香水果购物网站的主要…

margin-left: auto;使元素靠右

摘要: 今天写样式遇到一个东西,就是需要表单居右显示的,但是作用了弹性布局,其他的都不行的,一开始使用了浮动,但是使用了浮动后盒子就不继承父盒子的宽度了,移动端还行,自动回到100…

解析边缘计算网关的优势-天拓四方

随着信息化、智能化浪潮的持续推进,计算技术正以前所未有的速度发展,而边缘计算网关作为其中的重要一环,以其独特的优势正在逐步改变我们的生活方式和工作模式。本文将详细解析边缘计算网关的优势。 首先,边缘计算网关具有显著的…

【C++初阶】--- C++入门(中)

目录 一、缺省参数1.1 缺省参数概念1.2 缺省参数分类 二、函数重载2.1 函数重载概念2.2 C支持函数重载的原理 --- 名字修饰 三、引用3.1 引用概念3.2 引用特性3.3 常引用3.4 使用场景3.5 引用和指针的区别 一、缺省参数 1.1 缺省参数概念 缺省参数是声明或定义函数时为函数的…

解锁数据的力量:Navicat 17 新特性和亮点

解锁数据的力量:Navicat 17 新特性和亮点 大家好,我是猫头虎。今天我要为大家介绍 Navicat 17 的新特性和亮点。Navicat 是一款专业的数据库管理工具,支持多种数据库类型,包括 MySQL、Oracle、SQL Server、PostgreSQL、MariaDB、…

Jmeter元件及基本作用域

🚀从今天开始学习性能测试工具——Jmeter,小梦也是先学习了下Jmeter的元件概念以及其基本的作用域,整理了下笔记,希望不管是从事开发领域还是测试领域的朋友们,我们一起学习下Jmeter工具,提升工作中的技能&…

Compose Button移除水波纹效果

一、背景 在使用Compose实现Button按钮时,设计要求移除按钮的水波纹效果,只保留按压效果,经查Compose1.4.3版本中,并没有直接移除水波纹的能力 二、遇到问题 经过多次尝试,使用Compose的Button组件始终无法实现目标效…

NSSCTF-Web题目3

目录 [BJDCTF 2020]easy_md5 1、知识点 2、题目 3、思路 [ZJCTF 2019]NiZhuanSiWei 1、知识点 2、题目 3、思路 第一层 第二层 第三层 [BJDCTF 2020]easy_md5 1、知识点 弱比较,强比较、数组绕过、MD5加密 2、题目 3、思路 1、首先我们跟着题目输入&a…

蒙特卡洛法求解机械臂工作空间(以IRB4600型工业机械臂为例)

1. 概念 工作空间是衡量机器人工作能力的一个重要的运动学指标,蒙特卡洛法是一种随机模拟方法,用于在计算机上估计某些统计量,对于要估计的统计量,通过模拟大量的随机抽样,并计算这些样本的随机值来估算这个统计量的值…

第 8 章 机器人实体导航(自学二刷笔记)

重要参考: 课程链接:https://www.bilibili.com/video/BV1Ci4y1L7ZZ 讲义链接:Introduction Autolabor-ROS机器人入门课程《ROS理论与实践》零基础教程 9.1 概述 实体机器人导航与仿真环境下的导航核心实现基本一致,主要区别在于导航实现之前&#xf…

37. 解数独 - 力扣(LeetCode)

基础知识要求: Java: 方法、for循环、if else语句、数组 Python: 方法、for循环、if else语句、列表 题目: 编写一个程序,通过填充空格来解决数独问题。 数独的解法需 遵循如下规则: 数字 1-9 在每一行…

上交提出TrustGAIN,提出6G网络中可信AIGC新模式!

月16日至18日,2024全球6G技术大会在南京召开。会上,全球移动通信标准制定组织3GPP(第三代合作伙伴计划)的3位联席主席分享了3GPP6G标准时间表: 2024年9月,启动6G业务需求研究; 2025年6月&…

代码随想录算法训练营第36期DAY35

DAY35 122买卖股票的最佳时机ii 很巧妙&#xff0c;也很难想到&#xff1a;计算每天的利润&#xff08;今天卖出&#xff0c;昨天买入的利润&#xff09;&#xff0c;只取正数相加。 class Solution {public: int maxProfit(vector<int>& prices) { int…

Broker的主从架构

为了保证MQ的数据不丢失而且具备一定的高可用性&#xff0c;所以一般都是得将Broker部署成Master-Slave模式的&#xff0c;也就是—个Master Broker对应一个Slave Broker Master需要在接收到消息之后&#xff0c;将数据同步给Slave&#xff0c;这样一旦Master Broker挂了&#…

YOLOV10阅读总结

GitHub - THU-MIG/yolov10: YOLOv10: Real-Time End-to-End Object Detection YOLOv10 - Ultralytics YOLO Docs https://arxiv.org/pdf/2405.14458 论文地址 最近yolo又出了个yolov10了&#xff0c;不得不感慨CV是真卷&#xff0c;毕竟yolov9也才没多久。记录一下阅读笔记。…

【JVM】一次JVM内存泄露分析处理

一次内存泄露分析 背景情况 编写了一个大数据基础组件的可用性监控程序&#xff0c;采用Bootstrap监测端口的方式&#xff0c;使得方法常驻&#xff08;main线程常驻&#xff09;&#xff0c;通过一个调度线程ScheduledThreadPoolExecutor&#xff0c;定时的调动监测任务。 …

短视频拍摄方式有哪些:四川鑫悦里文化传媒有限公司

​短视频拍摄方式有哪些 在数字化时代&#xff0c;短视频以其短小精悍、传播迅速的特点&#xff0c;成为了人们表达自我、分享生活的重要工具。然而&#xff0c;想要制作出引人入胜的短视频&#xff0c;除了创意和构思&#xff0c;拍摄方式的选择也至关重要。四川鑫悦里文化传…