香橙派AIpro初体验,详解如何安装Home Assistant Supervised

news2024/9/20 5:30:42

香橙派AIpro(OrangePi AIpro)开发版,定位是一块AI开发板,搭载的是华为昇腾310(Ascend310)处理器。

没想到,这几年的发展,AI开发板也逐渐铺开,记得之前看到华为发布昇腾310和昇腾910的时候,AI芯片,似乎对于我来说还是遥不可及的。

有幸,我这里也有一块香橙派AIpro,8G内存版本。鉴于时间紧迫,我们先从基本应用入手,部署实用性好、扩展性高的Home Assistant Supervised;以后有机会在看看如何上手AI和模型,利用这8TOPS算力。

另外,在部署的时候发现,其实香橙派AIpro部署Home Assistant还是有些“坑”的,比如:系统版本验证如何通过? 启动验证参数如何添加等;这篇文章,或许是你目前找到最详细的香橙派AIpro,Ubuntu部署Home Assistant Supervised指南了。

充满期待

香橙派AIpro

我们先来看看香橙派AIpro的具体配置,也来进行简单的开箱。

外观接口

整体外观:

整体外观

散热片下的CPU

对比一下官方的产品图:

产品图

做工很不错,接口也非常全面;而且最近官方还放出固件,解锁CPU性能,频率从1.0GHz提升为1.6GHz:

升级固件

官方在不断维护,社区资源也在不断丰富,未来可期。

未来可期

此外,令人意想不到的是,随附的电源适配器竟是功率高达65W的氮化镓充电器,着实令人惊喜。

Ascend 310

前文所说的昇腾(Ascend)310处理器,根据华为云开发者联盟介绍。它是12nm制程工艺,集成八个A55架构核心,其中,四个核心用于CPU,四个核心用于NPU;再加上两个AI Core计算核心,组合为AI计算引擎。

Ascend310 AI处理器规格

面向的场景,主要是AI处理的场景,而且是边缘计算。不知道之后跑语音模型,社区资源有没有比我的M2Max好。

效果展示

首先是安装完成后的效果:

纪念一下

Web端的展示:

安装后的效果

可以添加智能设备:

默认的智能设备检测

如果你装修一下,并且把自己的适配加入,那么可能将是这样的(你甚至可以把手机、隔壁树莓派也接入进去):

成品效果

甚至,配合HomeKit的桥接功能,把各个不支持HomeKit的设备桥接聚合:

桥接到HomeKit

这样,智能设备不兼容也可以出现在Apple的家庭内:

“家庭”App(macOS)

初始化系统

香橙派的社区资源还在“成长期”,但是官方的文档已经足够详细,让用户可以快速初始化香橙派。这次的香橙派AIpro也是一样:Orange Pi AIpro官方文档。

官方文档下载的手册和镜像

烧录系统

使用官方Ubuntu镜像,配合balena进行系统刷入:

刷写TF卡

刷写系统

我下载的带桌面环境的desktop版本(本来想试试看香橙派AIpro能不能带得动我的4K显示器,发现是可以带得动…… 就是分辨率是1080P,可能是驱动问题?),自带一些系统工具和环境,所以占用的空间也比较大,解压后,需要19.1GB,建议使用Class10以上的TF卡,或者使用EMMC、SSD启动

插入香橙派开发板TF接口处,拨动后面的BOOT调节按钮:

BOOT启动调节

第一次启动比较久,稍等片刻,顺利的话,就可以进入系统:

进入系统成功

根据开发手册,默认的用户名是:HwHiAiUser,默认的密码是:Mind@123

初始化系统

进入系统后,我们首先进行软件包管理器的更新,与此同时更新一下已有的软件:

sudo apt update -y
sudo apt upgrade -y

软件包管理器更新

发现,香橙派的系统自带SSH服务,并且已经启动远程访问:

已经开启SSH

所以,我们可以直接使用本地电脑的SSH进行远程登录;更加高效:

本地SSH远程连接香橙派

Home Assistnat

Home Assistant的大名,想必大家都知道,使用它可以轻易把米家的设备,桥接到Apple的HomeKit,让用户可以用Siri就可以控制小米设备;亦或者聚合不同牌子的智能家居,使其变成一个整体,等等操作,可以让开发者自由发挥。
当然,Home Assistant有很多不同的版本:

HomeAssistant的不同版本区别

可以看到。为了最好的体验,我们肯定是直接在香橙派上安装Supervisor版本最好,提供了管理 Add-ons 的能力,便于添加安全摄像头支持、MQTT服务器、文件管理器等附加组件。不能不用,但是不能没有。

嘿嘿

当然,

Apparmor

我们需要安装Apparmor,可以使用软件包管理器进行安装:

sudo apt install -y apparmor-utils jq software-properties-common apt-transport-https avahi-daemon ca-certificates curl dbus socat

效果:

安装基础依赖

OS-Agent

我们还需要安装OS-Agent,类似于中间件,用于在Home Assistant容器和主系统间进行通信,所以是一个比较重要的组件。访问官方的GitHub发布地址,进行下载:

下载OS-Agent

之后,使用dpkg软件包管理器进行安装:

sudo dpkg -i os-agent_1.6.0_linux_aarch64.deb

安装成功

Supervised安装

现在,我们可以进行Supervised的安装。这一步,相对复杂一些。

依赖安装

Superviosed需要安装一些依赖,首先是可以使用apt软件包管理器安装的:

sudo apt install \
apparmor \
bluez \
cifs-utils \
curl \
dbus \
jq \
libglib2.0-bin \
lsb-release \
network-manager \
nfs-common \
systemd-journal-remote \
systemd-resolved \
udisks2 \
wget -y

可能一些软件包已经改名或自带,比如systemd-resolved其实已经自带:

已经自带

Docker检测

目前,Supervised需要Docker的版本比较高。香橙派已经自带Docker,但是需要查看版本是否满足(Version >= 20.10.17):

docker -v

docekr版本

安装Supervised

现在,我们正式安装Supervised,安装Supervised需要root权限,记得提前切换:

# 切换为root用户
sudo su - root
# 下载Superviosed软件包
wget -O homeassistant-supervised.deb https://github.com/home-assistant/supervised-installer/releases/latest/download/homeassistant-supervised.deb
# 安装
apt install ./homeassistant-supervised.deb

安装过程

当然,因为使用的是Ubuntu镜像,但是Home Assistant官方团队只适配Debian发行版本,并且屏蔽其他发行版本,避免系统不适配而导致出现问题。所以安装会被强行终止:

安装被强行终止

这个时候如何解决呢?其实这个也困扰了我很久,毕竟,Ubuntu基于Debian,理论上Debian可以使用的Ubuntu一般都可以。如何可以跳过发行版验证,尝试一下呢?

如何解决

在查看home-assistant/supervised-installer仓库源码时候,突然惊喜发现,开发者有预留环境变量参数:

预留配置参数

使用就很简单了,提前把参数加载到环境变量内即可:

# 忽略系统检测
export BYPASS_OS_CHECK=true
# 安装
apt install ./homeassistant-supervised.deb

注意这个时候不要使用sudo哦,否则使用的就是sudo的环境,而非当前root用户的环境。

继续运行,出现选择界面。 香橙派AIpro是aarch64架构,所以我们选择qemuarm-64

qemuarm-64
选择后,继续安装可能还是会报错失败(上面的黄色,下面的是apt报错):

继续安装报错

这个也是有解决方法的,追加启动参数即可:

# 启动参数
sudo vim /boot/cmdline.txt

末尾添加:apparmor=1 security=apparmor

# 设置一下grub
sudo vim /etc/default/grub

添加:apparmor=1 security=apparmorsystemd.unified_cgroup_hierarchy=false

添加参数

添加好后,重启系统。之后再次安装homeassistant-supervised.deb并忽略系统检测:

再次安装

这里我顺便把Shell切换为zsh + oh-my-zsh,比自带的Bash好看和方便一些( ̄∇ ̄);所以Terminal界面有一点不一样。

安装完成

安装完成后,hassio_supervisor进程会使用Python在后台进行初始化操作;可以隔三分钟后,使用docker ps查看Home Assistant的相关镜像是否有出现:

docker ps查看Home Assistant镜像

出现Docker容器后,切换浏览器,使用IP:8123进行浏览器访问管理界面:

访问管理界面

等待初始化完成。我大概等了25分钟,可能是网络问题:

初始化完成,登录界面

其实香橙派AIpro的驱动通用性还是很不错的。 在初始化过程中,就可以发现局域网内支持的设备(Supervised扩展功能,硬件可以驱动情况下才可以使用):

发现兼容设备

进入首页:

首页效果

HACS安装

有了Home Assistant的Supervised这个利器后,我们还可以让它变的更加强大: 安装HACS(Home Assistant Community Store),中文翻译,应该叫 Home Assistant社区商店。
类似于软件商店,安装后,一些适配的插件实例,就可以使用HACS进行下载了。官方地址:

  • Home Assistant Community Store

在香橙派上安装也很简单:

wget -O - https://get.hacs.xyz | bash -

安装HACS

之后,在Home Assistant的Web界面,重启HomeAssistant系统后,即可添加HACS:

添加HACS

最后,我们的HACS就安装完成了。测试看看?,Miot是否可以查询到并使用:

安装Miot

集成成功

END

发现香橙派AIpro启动Home Assistant速度比如树莓派4B快好多。感觉我家里的树莓派4B可以“退休”了。

思考?

记得我之前大学还打着台灯,在熄灯的宿舍里玩着树莓派3;那个时候刚刚接触Linux,刷写镜像后,如何SSH远程连接都不知道如何操作。那时候没有方便的大语言模型可以提问,也不会看Reddit和Stack Overflow等国外论坛,国内论坛资源又相对比较少。
不过也挺有趣的,有时候系统弄坏了,就重新刷写系统,一张TF卡来来回回反复刷写,一步一步弄成自己的设备,搭建自己的应用服务。后来买了树莓派4B,国内CSDN、博客园等论坛的教程逐渐变多,Linux的使用也终于熟悉了一些,很感谢那时候看到的教程。再之后也接触云计算,许多服务逐渐迁移到云服务器了,自己也逐渐开始写一些入门教程……
现在拿到香橙派AIpro,真是让人怀念。不知道是否有人是深夜探索香橙派而找到这篇文章。希望这篇文章对你有用。

嘿嘿打完收工

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

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

相关文章

挑战你的数据结构技能:复习题来袭【3】

chap3 练习1 一. 单选题 1. (单选题)栈和队列具有相同的() A. 抽象数据类型B. 逻辑结构C. 存储结构D. 运算 答案: B:逻辑结构 答案分析:逻辑结构都属于线性结构,只是它们对数据的运算不同。 2. (单选题)栈是() A. 顺序存储的线性结构B…

深入理解python列表与字典:数据结构的选择与性能差异

新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、列表与字典:基础数据结构的对比 二、列表:逐个遍历的查找方式 …

SARscape5.7已经支持3米陆探一号(LT-1)数据处理

SARsacpe5.6.2.1版本已经开始支持LT-1的数据处理,由于当时只获取了12米的条带模式2(STRIP2)例子数据,对3米条带模式1(STRIP1)数据的InSAR处理轨道误差挺大,可能会造成干涉图异常。 SARsacpe5.7最…

Android Display Graphics #1 整体框架介绍一

软件基础 Android的framework层提供了一系列的图像渲染API,可绘制2D和3D。简单理解就是上层开发APP的小伙伴提供了接口,开发者可以直接显示对应的自己内容。但如果掌握了Display底层逻辑再写上层app,会有掌控力,出问题可以根据lo…

vs code怎么补全路径,怎么快捷输入文件路径

安装插件: 链接:https://marketplace.visualstudio.com/items?itemNamejakob101.RelativePath 使用 按住 Ctrl Shift H,弹出窗口,输入文件补全,回车就可以了 排除文件 如果你的项目下文件太多,它会…

2000-2017年各省经济政策不确定性指数

2000-2017年各省经济政策不确定性指数 1、时间:2000-2017年 2、来源:国际能源转型学会 3、范围:31省 4、构建说明: 按照Baker等(2016)的方法,在中国省级范围内构建了经济政策不确定性&…

如果任务过多,队列积压怎么处理?

如果任务过多,队列积压怎么处理? 1、内存队列满了应该怎么办2、问题要治本——发短信导致吞吐量降低的问题不能忽略!!3、多路复用IO模型的核心组件简介1、内存队列满了应该怎么办 如图: 大家可以看到,虽然现在发短信和广告投递,彼此之间的执行效率不受彼此影响,但是请…

快速版-JS基础01书写位置

1.书写位置 2.标识符 3.变量 var:声明变量。 (1).变量的重新赋值 (2).变量的提升 打印结果:console.log(变量名) 第一个是你写在里面的。 第二个是实际运行的先后之分,变量名字在最前面。变量…

sql注入less8——布尔盲注

sql注入第八关卡是布尔盲注,我们将看不到一般的返回值,只能通过You are in......的消失与否来判断自己输入的字符是否与查询的数据的字符相同,相同则显示You are in......,相反则不显示,如下图所示: 查询语…

每天五分钟深度学习框架pytorch:tensor张量的维度转换大全

本文重点 在深度学习中比较让人头疼的一点就是矩阵的维度,我们必须构建出符合神经网络维度的矩阵,只有将符合要求的矩阵放到神经网络中才可以运行神经网络,本节课程我们将学习以下tensor中维度的变化。 view和shape View和shape,这两个方法可以完成维度的变换操作,而且使…

YOLOv10来了

B站:啥都会一点的研究生公众号:啥都会一点的研究生 前言 YOLOv10 由清华大学研究人员在 Ultralytics版基础上进行进一步开发,引入了一种新的实时目标检测方法,解决了以前版本 YOLO 在后处理和模型架构方面的不足。通过消除非最大…

【WEB前端2024】开源智体世界:乔布斯3D纪念馆-第30课-门的移动动画

【WEB前端2024】开源智体世界:乔布斯3D纪念馆-第30课-门的移动动画 使用dtns.network德塔世界(开源的智体世界引擎),策划和设计《乔布斯超大型的开源3D纪念馆》的系列教程。dtns.network是一款主要由JavaScript编写的智体世界引擎…

mysql中连接查询的成本

大家好。上篇文章我们讲了mysql中成本的含义以及单表查询如何计算成本。现在我们接着讲讲mysql中连接查询的成本。 在讲之前,我们先创建两张一样的表single_table和single_table2,并在表中插入10000条数据。在下面的讲解中,我们称single_tab…

Ubuntu22.04之解决:忘记登录密码(二百三十二)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…

OpenHarmony 实战开发——ArkUI中的线程和看门狗机制

一、前言 本文主要分析ArkUI中涉及的线程和看门狗机制。 二、ArkUI中的线程 应用Ability首次创建界面的流程大致如下: 说明: • AceContainer是一个容器类,由前端、任务执行器、资源管理器、渲染管线、视图等聚合而成,提供了生…

Transformers集成SwanLab实现AI训练可视化监控

🤗HuggingFace Transformers Hugging Face 的 Transformers 是一个非常流行的开源库,它提供了大量预训练的模型,主要用于自然语言处理(NLP)任务。这个库的目标是使最新的模型能够易于使用,并支持多种框架&…

Android低代码开发 - MenuPanel的源码剖析和基本使用

看了我上篇文章Android低代码开发 - 像启蒙和乐高玩具一样的MenuPanel 之后,本篇开始讲解代码。 源代码剖析 首先从MenuPanelItemRoot讲起。 package dora.widget.panelinterface MenuPanelItemRoot {/*** 菜单的标题。** return*/var title: String?fun hasTit…

第16篇:JTAG UART IP应用<三>

Q:如何通过HAL API函数库访问JTAG UART? A:Quartus硬件工程以及Platform Designer系统也和第一个Nios II工程--Hello_World的Quartus硬件工程一样。 Nios II软件工程对应的C程序调用HAL API函数,如open用于打开和创建文件&#…

链表经典题目—相交链表和链表倒数第k个节点

🎉🎉🎉欢迎莅临我的博客空间,我是池央,一个对C和数据结构怀有无限热忱的探索者。🙌 🌸🌸🌸这里是我分享C/C编程、数据结构应用的乐园✨ 🎈🎈&…

网络编程基础(一)

目录 前言 一、网络体系架构 1.1 OSI 1.2 TCP/IP协议簇体系架构 二、TCP和UDP的不同 1.TCP 2.UDP 三、网络编程基础相关概念 1.字节序 1.在计算机中有关多字节整数的存储方式,根据主机CPU处理数据的方式不同,我们将主机分为大端存储和小端存储…