香橙派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性能,频率从1.0GHz提升为1.6GHz:

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

此外,令人意想不到的是,随附的电源适配器竟是功率高达65W的氮化镓充电器,着实令人惊喜。
Ascend 310
前文所说的昇腾(Ascend)310处理器,根据华为云开发者联盟介绍。它是12nm制程工艺,集成八个A55架构核心,其中,四个核心用于CPU,四个核心用于NPU;再加上两个AI Core计算核心,组合为AI计算引擎。

面向的场景,主要是AI处理的场景,而且是边缘计算。不知道之后跑语音模型,社区资源有没有比我的M2Max好。
效果展示
首先是安装完成后的效果:

Web端的展示:

可以添加智能设备:

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

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

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

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

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


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

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

根据开发手册,默认的用户名是:
HwHiAiUser
,默认的密码是:Mind@123
。
初始化系统
进入系统后,我们首先进行软件包管理器的更新,与此同时更新一下已有的软件:
bash
sudo apt update -y
sudo apt upgrade -y

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

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

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

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

当然,
Apparmor
我们需要安装Apparmor
,可以使用软件包管理器进行安装:
bash
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发布地址,进行下载:

之后,使用dpkg
软件包管理器进行安装:
bash
sudo dpkg -i os-agent_1.6.0_linux_aarch64.deb

Supervised安装
现在,我们可以进行Supervised的安装。这一步,相对复杂一些。
依赖安装
Superviosed需要安装一些依赖,首先是可以使用apt
软件包管理器安装的:
bash
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):
bash
docker -v

安装Supervised
现在,我们正式安装Supervised,安装Supervised需要root
权限,记得提前切换:
bash
# 切换为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仓库源码时候,突然惊喜发现,开发者有预留环境变量参数:

使用就很简单了,提前把参数加载到环境变量内即可:
bash
# 忽略系统检测
export BYPASS_OS_CHECK=true
# 安装
apt install ./homeassistant-supervised.deb
注意这个时候不要使用
sudo
哦,否则使用的就是sudo
的环境,而非当前root用户的环境。
继续运行,出现选择界面。 香橙派AIpro是aarch64
架构,所以我们选择qemuarm-64
选择后,继续安装可能还是会报错失败(上面的黄色,下面的是apt报错):

这个也是有解决方法的,追加启动参数即可:
bash
# 启动参数
sudo vim /boot/cmdline.txt
末尾添加:apparmor=1 security=apparmor
和 。
bash
# 设置一下grub
sudo vim /etc/default/grub
添加:apparmor=1 security=apparmor
和systemd.unified_cgroup_hierarchy=false

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

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

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

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

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

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

进入首页:

HACS安装
有了Home Assistant的Supervised这个利器后,我们还可以让它变的更加强大: 安装HACS(Home Assistant Community Store),中文翻译,应该叫 Home Assistant社区商店。
类似于软件商店,安装后,一些适配的插件实例,就可以使用HACS进行下载了。官方地址:
在香橙派上安装也很简单:
bash
wget -O - https://get.hacs.xyz | bash -

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

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


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

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