安装 Docker-CE准备:

1.U盘

2.刷机工具《balenaEtcher》下载地址:https://www.balena.io/etcher

3.armbian镜像(镜像下载地址:https://github.com/ophub/amlogic-s9xxx-armbian/tags),有jammy(Ubuntu最新发行版代号)或bullseye(Debian最新发行版代号)两个版本,至于这两个版本的区别,请看此文:https://blog.csdn.net/m0_60028455/article/details/123129885。这两个版本都可以食用,我选的Armbian_23.04.0_amlogic_s905l3a_bullseye_5.15.107_server_2023.04.14.img.gz
s905l3a的6.1.12版本据说兼容性问题较多,保守起见还是推荐食用5.15.xx版本。

4、电脑插上U盘,打开balenaEtcher,拖拽下载好的armbian镜像到Selectimage

选择插入的U盘

点击Fiash等待结束。

5、将烧录好镜像的U盘插上电脑,打开boot文件夹下的uEnv.txt文件,将FTD=一栏后的dtb文件修改成:/dtb/amlogic/meson-g12a-s905l3a-m401a.dtb,如图:

(这个dtb文件相当于电脑的BIOS,m401a的硬件信息都依赖次文件调用)

保存退出。

6、接下来还有实战中需要的windows系统必备的工具:

(1)PuTTY(下载地址:https://://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html)根据自己系统下载并安装备用。

(2)WinSCP(下载地址:https://github.com/winscp/winscp/tags)正式版下载解压并安装。

PuTTY只要填写IP点Open就能SSH连接盒子,WinSCP需要填写IP及armbian的用户名和密码

安装

1.进盒子查看ip地址,电脑上安装《开心电视助手4.0版by剑心1》,软件下载网站:www.kaixindianshi.com。在我编辑这篇帖子的时候开心电视网的盒子助手变成无法下载的状况,解压后打开Debug目录下的YesStbToolV4D.exe 电视助手主程序,如图: 作者:phonigh https://www.bilibili.com/read/cv21997357?from=search&spm_id_from=333.337.0.0 出处:bilibili

在设备ip地址一栏填上之前在盒子系统中查看的ip点击连接,然后转到调试页面:

点击晶晨芯片选项卡中的,从U盘/SD卡启,不要插U盘,重新启动后选择恢复出厂设置(这一步很重要,如果不恢复出厂设置,在U盘启动armbian的时候会遇到奇奇怪怪的问题)。恢复出厂后插上U盘重启,准备开战了。

2.

1)重启,

在出现电视开机画面(我的是华为鸿蒙OS图片)后不出意外你会看见满屏的彩虹竖条,然后就是一顿跑码,最后在输入密码界面停下,接下来

2)登录设定密码2次(1234),再选1,ctrl+c退出,记下IP地址,敲reboot重启

3)电脑使用PuTTY (64-bit)输入IP地址登录armbian,用户:root 密码:1234

4)电脑打开WinSCP并登录armbian,用户和密码同上

3.winscp打开 /etc/apt/sources.list 文件,或putty执行命令:nano /etc/apt/sources.list (用此命令需要先CTRL+K删除原有源地址,输入下面源后ctrl+X选Y回车保存退出)更换源:

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-freedeb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-freedeb https://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security main contrib non-free
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security main contrib non-free

4.更新源并安装蓝牙文件:将以下命令复制到PuTTY中运行

apt update && apt install -y apt-transport-https apparmor udisks2 gpiod lrzsz avahi-daemon bluez bluetooth pulseaudio-module-bluetooth bluez-firmware

5.修复蓝牙

PS. 此处根据Xcray大佬的编译的文件,蓝牙功能仅限设备通讯,如果需要通过蓝牙播放音乐,需要修改rtl8761b_config,Xcray大佬已在原帖中提供,请通过顶部的参考文章进一步了解。

用WinSCP查看/lib/firmware/rtlbt目录,确保其中有rtl8761b_fw文件,如果没有,到/lib/firmware/rtl_bt/下面找那个带.bin后缀的,拷过来改名,或者在PuTTY链接也行:链接命令如下

ln -s /lib/firmware/rtl_bt/rtl8761b_fw.bin /lib/firmware/rtlbt/rtl8761b_fw 

6.PuTTY执行以下命令,补全配置文件:

wget https://github.com/ophub/amlogic-s9xxx-armbian/files/9582582/rtl8761bt_config.zipunzip rtl8761bt_config.zipmv rtl8761bt_config /lib/firmware/rtlbtrm rtl8761bt_config.ziprm -rf __MACOSX/

7.将rtk_hciattach文件通过winscp软件拷贝至/usr/bin目录,并在PuTTY中增加可执行权限,命令如下:

chmod 755 /usr/bin/rtk_hciattach

8.添加开机蓝牙重置,编辑/etc/rc.local文件,在exit0之前加入代码:

#bluetooth
/usr/bin/rtk_hciattach -n -s 115200 ttyAML1 rtk_h5 &
#bluetooth reset
gpioset -s 1 -m time 0 82=0
gpioset 0 82=1

9.  reboot重启

执行以下命令,检查蓝牙是否启动:

systemctl status bluetooth
hciconfig

10.编辑/etc/systemd/system/bluetooth.target.wants/bluetooth.service

行尾添加参数

--noplugin=sap

12、禁止升级内核时重新写u-boot和bootloader,这个写入毫无意义,并且有很大风险编辑/etc/ophub-release,把MAINLINE_UBOOT这一行改成:

MAINLINE_UBOOT=''

13.利用好u盘剩余空间,执行 armbian-tf;选e,按回车

14.安装Hassio
1)

2)安装Docker ,因为Hassio依赖Docker

安装基础环境

apt-get install \
jq \
wget \
curl \
udisks2 \
libglib2.0-bin \
network-manager \
dbus -y

安装 Docker-CE

curl -fsSL get.docker.com | sh

//

mkdir -p /etc/apt/keyringscurl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpgecho \"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian \$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/nullapt-get update && apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

//

若不成功,换下面这种方法安装docker

首先输入“apt update”更新下软件,然后如图示输入“armbian-config”,依次选择“software—softy—docker”,用空格选中docker,然后按回车install docker。等它进度条走完,docker就装好了,在命令行输入“docker version”就可以看到docker版本了。

更换GitHub Hosts,加速操作

参考GitHub最新hosts (gitee.com)

nano /etc/hosts

从最后一行加入以下内容

185.199.108.154              github.githubassets.com
140.82.112.21                central.github.com
185.199.108.133              desktop.githubusercontent.com
185.199.108.153              assets-cdn.github.com
185.199.108.133              camo.githubusercontent.com
185.199.108.133              github.map.fastly.net
199.232.69.194               github.global.ssl.fastly.net
140.82.114.4                 gist.github.com
185.199.108.153              github.io
140.82.113.4                 github.com
140.82.113.6                 api.github.com
185.199.108.133              raw.githubusercontent.com
185.199.108.133              user-images.githubusercontent.com
185.199.108.133              favicons.githubusercontent.com
185.199.108.133              avatars5.githubusercontent.com
185.199.108.133              avatars4.githubusercontent.com
185.199.108.133              avatars3.githubusercontent.com
185.199.108.133              avatars2.githubusercontent.com
185.199.108.133              avatars1.githubusercontent.com
185.199.108.133              avatars0.githubusercontent.com
185.199.108.133              avatars.githubusercontent.com
140.82.113.9                 codeload.github.com
52.217.199.121               github-cloud.s3.amazonaws.com
52.217.229.65                github-com.s3.amazonaws.com
52.217.96.28                 github-production-release-asset-2e65be.s3.amazonaws.com
52.217.77.92                 github-production-user-asset-6210df.s3.amazonaws.com
52.217.172.9                 github-production-repository-file-5c1aeb.s3.amazonaws.com
185.199.108.153              githubstatus.com
64.71.144.202                github.community
185.199.108.133              media.githubusercontent.com

Ctrl+O 写入 Enter确认 Ctrl+X退出

15。安装Hassio

wget https://github.com/home-assistant/os-agent/releases/download/1.3.0/os-agent_1.3.0_linux_aarch64.debdpkg -i os-agent_1.3.0_linux_aarch64.debwget https://github.com/home-assistant/supervised-installer/releases/download/1.2.2/homeassistant-supervised.debdpkg -i homeassistant-supervised.deb

️注意!!

安装前请仔细阅读HA Supervised的系统要求:

https://github.com/home-assistant/architecture/blob/master/adr/0014-home-assistant-supervised.md

受支持的HA Supervised系统有诸多要求,如:

必须安装在原生Debian Linux Debian 11 aka Bullseye (no derivatives) 上
除hass外无其他软件包等
在非受支持的系统中安装Home Assistant Supervised,会有启动警告,但仍可使用插件安装、系统备份等原有功能。

supervised-installer 自1.4.0 版本起阻止了不受支持系统的安装。用户若在非HA支持的发行版(即非原生Debian 11,如Deepin、Ubuntu或Raspberry Pi OS 等)上安装Home Assistant Supervised时,请选择supervised-installer的1.3.1或更早的版本,系统升级不受限制。

16.选择qemuarm-64

安装时间比较长,可以用魔法,如果有的话。

17.

运行docker images看看都有啥镜像下载好了,或者docker ps看看哪些容器起来了,

直到那个ghcr.io/home-assistant/qemuarm-64-homeassistant:2023.xx.xx起来,(1.xxG)才算安装完成。

安装portainer

docker run -d --restart=always --name=portainer -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data 6053537/portainer:linux-arm64 

18.紧接着就是安装HACS商店

HACS(Home Assistant Community Store)即Home Assistant官方的插件商店,提供各种设备集成、前端装饰等的下载,是Home Assistant必备的插件。

1)安装HACS可以通过 https://github.com/hacs/integration/releases/ 下载离线包,解压后将hacs文件夹通过FTP软件拷贝至/usr/share/Hassio/homeassistant/custom_components(没有此路径的话新建一个)。

2)或者在SSH中输入以下命令一键安装。

wget -O - https://get.hacs.xyz | bash -
然后在后台界面选择“配置”-“系统”,右上角点击“重新启动”。

重启后,在“配置”-“设备与服务”中添加集成。

此界面全部勾选,点提交。


复制下方代码,打开上面的Github链接。(如果没有Github账号就注册一个)

在弹出的页面粘贴代码。


点击Authorize hacs即可。

回到之前页面,等待片刻,HACS安装完成,此时,左边栏就会出现HACS的选项。

HACS安装完成
至此,Home Assistant的基础配置基本完成。

19、hacs加速(cdn加速)

介绍了如何安装HACS,以及授权GitHub账号等相关操作,在一顿操作过后,结果发现,不管咋整,在安装组件的时候,总是加载转圈圈,不知道啥时候是个头?到最后总是会莫名其妙的失败。

毫无意外,出现这种情况,肯定是网络的锅

路由器:看我干啥,不关我事.jpg

既然出了这种事情,总得要解决啊?

所以本期的主要内容就是介绍如何解决HACS下载安装组件困难的问题

既然要解决问题,所以必须得明白问题的本质是什么?

HACS安装组件的核心功能就是通过调用GitHub的api接口获取到组件的文件真实地址,然后根据对应的类型下载到对应的文件夹中

所以问题出在下载文件这个环节,因为网络问题,特别是下载大文件的情况下,极其容易出现下载超时,然后直接就异常失败了

面对这个问题,我们首先需要寻找是否有国内的代理源,以及相关的替换解决方案

关于这方面的解决方案当然有很多,但是受限于技术方案的难易度和使用成本,一般不怎么稳定,对于不熟悉的用户来说,可能就有点困难,

还有就是毕竟是白嫖别人的服务,可能piao着piao着,服务就停止了

鉴于以上种种大坑,我也只能在坑中找到那些还算比较靠谱的解决方案推荐给大家

其中一种比较稳定的解决方案是使用CDN的方式

jsDelivr是一个免费、开源的加速CDN公共服务,托管了许多大大小小的项目,可加速访问托管的项目目录或图片资源

官方网站:https://www.jsdelivr.com/

关于如何利用好jsDelivr请看官方文档,本篇内容着重介绍在HACS中的使用

整体操作非常的简单,分三步走

  1. 找到hacs下载文件的方法

  2. 替换文件下载地址

  3. 重启homeassistan

首先我们找到hacs的执行下载方法的模块文件

文件路径:custom_components/hacs/ base.py 修改download函数

然后找到下载方法的名称:async_download_file,你可以使用快捷键Ctrl+F搜索,然后将以下内容放到

_LOGGER.debug("Downloading %s", url) 下面,请仔细看图

        # 显示原始下载地址print(url)# 源文件if "https://raw.githubusercontent.com" in url:arr = url.replace("https://raw.githubusercontent.com/", "").split("/")arr[1] = arr[1] + "@" + arr[2]arr[2] = ""_list = ["https://cdn.jsdelivr.net/gh"]for item in arr:if item != "":_list.append(item)url = "/".join(_list)self.log.debug("下载链接:%s", url)# 发布文件if "https://github.com/" in url and "/releases/download/" in url:url = url.replace('https://github.com/', 'https://hub.fastgit.org/')# 修改后的下载地址print(url)

在重启之前,请千万认真非常仔细的瞄一瞄,格式是否正确,python对于缩进格式非常的严格,多一个或少一个空格可能就跑不起来,所以请万分注意

print方法是为了在终端上显示下载的文件地址,这样可以很直观的看到下载了哪些文件

重启完成之后,接下来就到了下载组件的时候,咱们首先安装一个小米设备集成组件试试水

点击下载后,我们就在终端中看到每一个下载的文件信息,然后在自定义组件目录中发现已经下载完成的文件了

选择主分支版本的下载方式有所不同,需要注意

静ip

nano /etc/network/interfaces
source /etc/network/interfaces.d/*
#auto lo
#iface lo inet loopback
auto eth0
iface eth0 inet staticaddress 192.168.1.100netmask 255.255.255.0gateway 192.168.1.1dns-nameservers 114.114.114.114 8.8.4.4

树莓派4B/Raspberry Pi 4B安装Home Assitant-Supervised - 简书

魔百和M401A刷armbian并安装homeassistant小白教程 - 哔哩哔哩

CM311-1a安装HomeAssistant Supervisor (Hassio)&修复蓝牙—让你的电视盒子身价翻倍! - 哔哩哔哩

魔百和CM311-1A盒子刷入Armbiam并安装Docker - 哔哩哔哩

home assistant docker镜像安装遇到的坑

n1盒子安装官方Home Assistant Supervised(原HassIO)文字教程 - 哔哩哔哩

HACS使用CDN加速下载自定义组件

魔百盒m401a安装homeassistant(supervioser)相关推荐

  1. 魔百盒M401a刷机

    基本情况 咸鱼购买魔百盒311-1a yst, 发给我401a,有蓝牙无wifi 本机发布版本v.955.05,系统版本9,硬件版本1.0.0,设备型号M401A,厂家名称:CIOT, CPU:aml ...

  2. 魔百盒m401a折腾Armbian+qinglong -- 1

    (这是另一位大佬的教程,根据我自己的折腾润色了一下:后续再更新折腾其他东西的教程.) (大佬的Q群:170095764,有需要的可以加一下.) (此帖子纯属搬运.) [准备工具] 1.USB公对公线. ...

  3. 移动魔百盒UNT413A卡刷固件

    魔百盒unt413A-s905L3-卡刷固件 固件说明: 1.魔百盒unt413A-s905L3-当贝桌面-卡刷固件 ,不适用高安版本,不是所有地区都适用,请慎 重使用: 2.优化系统,去除限制安装限 ...

  4. 魔百盒刷机固件大汇总!(持续更新)

    目前魔百盒的刷机帖子已经非常全面了,为了方便大家,小编为大家进行了汇总和筛选一些非常有用的教程,希望大家喜欢,并且能够快速找到自己所需要的教程. 小白刷机网免费刷机 固件 地址:   Home Pro ...

  5. 魔百盒CM311-1a armbian docker 安装挂载阿里云盘 天翼云盘 CloudDrive

    魔百盒CM311-1a armbian docker 安装阿里云盘 天翼云盘 CloudDrive 心血来潮,感觉空间不够用 有时候想存个东西 奈何16GB的空间太小了,偶然发现还是挂载云盘容量大点. ...

  6. 【AI语音】魔百盒M301H-JL代工-3798MV300芯片-支持蓝牙_免费固件包

    [AI语音]魔百盒M301H-JL代工-3798MV300芯片-支持蓝牙_免费固件包 固件特点: 1.适用于魔百盒M301H: 2.开放原厂固件屏蔽的市场安装和u盘安装apk: 3.修改dns,三网通 ...

  7. 魔百盒M301H_JL代工_ADB可自由开关_强刷固件(可救砖)

    魔百盒M301H_JL代工_ADB可自由开关_强刷固件(可救砖) 固件特点: 1.修改dns,三网通用: 2.开放原厂固件屏蔽的市场安装和u盘安装apk: 3.无开机广告,无系统更新,不在被强制升级: ...

  8. 魔百盒CDN00001_移动魔百盒设置最佳DNS方法

    本帖最后由 山阴路的夏天 于 2018-3-8 15:47 编辑 何为DNS DNS 是域名系统 (Domain Name System) 的缩写,它是由解析器和域名服务器组成的,即域名解析服务器,靠 ...

  9. 移动魔百盒CM311-3-YST-晨星MSO9385-语音首页正常-TTL刷机包

    移动魔百盒CM311-3-YST-晨星MSO9385-语音首页正常-TTL刷机包 固件特点: 1.三网通用: 2.开放原厂固件屏蔽的市场安装和u盘安装apk: 3.无开机广告,无系统更新,不在被强制升 ...

最新文章

  1. 选IDC房时,用脚本截取丢失包和rtt的值作比对
  2. 这个能快速发表Cell,Nature,Molecular cell的分析技术你要错过吗?
  3. 皮一皮:被看穿的既视感...
  4. CMake基础 第5节 安装项目
  5. Tomcat启动设置环境变量
  6. ASP.NET Core依赖注入深入讨论
  7. 粉丝回馈 | 用30天换来了这辈子独一无二的纪念
  8. 小学学校计算机室财产登记册,小学财产登记制度
  9. VMware vCenter Converter Standalone 5.0的安装
  10. 如何在xp中添加打印机
  11. swarm部署mysql_「实战篇」开源项目docker化运维部署-借助dockerSwarm搭建集群部署(九)...
  12. 转载~final, static和 nested class 总结 原文~http://yulin10.bokee.com/2544792.html
  13. Linux中vi、vim命令大全
  14. 多项式时间 P问题 NP问题
  15. 基础-07-八大疑问词
  16. 响应式布局详解(优缺点)
  17. python可视化开发
  18. 客户端数字证书申请指南、安装指南和备份指南
  19. Call Legs是什么鬼
  20. CHOCOLATEY : windows包管理软件改变软件的默认安装位置

热门文章

  1. java pinyin4j,pinyin4j使用中文转化拼音
  2. 分析:鲸鱼数周“吞食”30亿美元ETH,以太坊或面临流动性危机
  3. 4336: BJOI2015 骑士的旅行
  4. JSP的forward动作元素和Servlet中forword
  5. 最新iBATIS的代码发生器Ibator插件安装及使用
  6. 解决“VMware另一个程序锁定文件的一部分,进程无法访问“的问题
  7. java找不到对象报错_java找不到对象报错
  8. JavaScript设计模式-享元模式
  9. 看看自媒体的真实收入,太难了,辞职做自媒体可以月入10W吗?
  10. OsgEarth显示地图