『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 25396|回复: 20

[基础教程] ASUS TinkerBoard 部署HASS详细教程【TB+DOCKER+HASS】

[复制链接]

65

主题

853

帖子

3044

积分

论坛元老

Rank: 8Rank: 8

积分
3044
金钱
2184
HASS币
40
发表于 2018-12-19 09:12:37 | 显示全部楼层 |阅读模式
本帖最后由 plutosherry 于 2018-12-19 09:15 编辑

坛子貌似玩TB(Asus TinkerBoard 后简称TB)的朋友不多,特作此帖以共分享交流
首先简要说明一下为什么要从树莓派跳到华硕派,主要原因有3点:

1、硬件性能绝对秒树莓派,当然发热量也秒树莓派,请务必做好散热措施(内存大,DOCKER下跑10个以上镜像完全无压力)
2、实际运行中稳定性要较树莓派好很多(相信折腾hass的童鞋对树莓派运行一段时间的hass后出现莫名死机或响应慢甚至无响应等情况已相当了解,说到底抛开代码或配置bug,剩下的应该是硬件性能的锅)
3、功耗低5V*2.5A,适合长时间运行(官方推荐3A,我手头只有2.5A的适配器,不过实际使用中已足够)


【准备工作】老鸟可跳过此部分
****************************************************************************************************************
1、到华硕派官网下载最新版的镜像
https://www.asus.com.cn/Single-Board-Computer/Tinker-Board/HelpDesk_Download/
最新img下载地址:(11.22版)
https://dlsvr04.asus.com/pub/ASUS/mb/Linux/Tinker_Board_2GB/20181023-tinker-board-linaro-stretch-alip-v2.0.8.img.zip

2、下载etcher,用于刷镜像到TF卡
https://etcher.io/
最新Etcher下载地址:
https://github.com/balena-io/etcher/releases/download/v1.4.8/balenaEtcher-Portable-1.4.8-x64.exe
PS:
如果tf卡非空要提前备份好资料,一旦格式化数据将被全部清空。如果tf卡之前刷过其他系统的,也无需再格式化,直接flash就全部清空并分好区。

3、插卡开机、接入网线、接上电源。
【华硕派Debian系统默认开启ssh】
SecureCRT登陆ssh
默认用户名:linaro
密码:linaro

4、替换Debian中字体库文件(主要是为了解决部分页面无法正常显示中文的问题)
PS:不替换也是可以的,反正我用的E文(不影响后续操作)
替换方法ssh到华硕派后将你想要用的ttf字库文件上传到home路径下,并通过命令将其移到如下目录即可:
#cd /usr/shared/fonts/truetype

#mkdir msfonts

#cp /home/linaro/*.ttf .

# fc-cache -v -f


****************************************************************************************************************

准备工作完成之后下面正式上路:
PS:是否更换源依照个人网速而定,我测试过开VPN即使不替换源也很快
1、更换系统的源
sudo nano /etc/apt/sources.list

#deb [url=http://http.debian.net/debian/]http://http.debian.net/debian/[/url] stretch main contrib non-free

#deb-src [url=http://http.debian.net/debian/]http://http.debian.net/debian/[/url] stretch main contrib non-free

#deb [url=http://security.debian.org/]http://security.debian.org/[/url] stretch/updates main contrib non-free

#deb-src [url=http://security.debian.org/]http://security.debian.org/[/url] stretch/updates main contrib non-free

#deb [url=http://http.debian.net/debian/]http://http.debian.net/debian/[/url] stretch-updates main contrib non-free

#deb-src [url=http://http.debian.net/debian/]http://http.debian.net/debian/[/url] stretch-updates main contrib non-free



deb [url=http://mirrors.ustc.edu.cn/debian/]http://mirrors.ustc.edu.cn/debian/[/url] stretch main non-free contrib

deb [url=http://mirrors.ustc.edu.cn/debian/]http://mirrors.ustc.edu.cn/debian/[/url] stretch-updates main non-free contrib

deb [url=http://mirrors.ustc.edu.cn/debian/]http://mirrors.ustc.edu.cn/debian/[/url] stretch-backports main non-free contrib

deb-src [url=http://mirrors.ustc.edu.cn/debian/]http://mirrors.ustc.edu.cn/debian/[/url] stretch main non-free contrib

deb-src [url=http://mirrors.ustc.edu.cn/debian/]http://mirrors.ustc.edu.cn/debian/[/url] stretch-updates main non-free contrib

deb-src [url=http://mirrors.ustc.edu.cn/debian/]http://mirrors.ustc.edu.cn/debian/[/url] stretch-backports main non-free contrib

deb [url=http://mirrors.ustc.edu.cn/debian-security/]http://mirrors.ustc.edu.cn/debian-security/[/url] stretch/updates main non-free contrib

deb-src [url=http://mirrors.ustc.edu.cn/debian-security/]http://mirrors.ustc.edu.cn/debian-security/[/url] stretch/updates main non-free contrib


务必保留 asus自己的源
deb [url=http://tprd.asus.com:8000]http://tprd.asus.com:8000[/url] stretch main contrib non-free

deb-src [url=http://tprd.asus.com:8000]http://tprd.asus.com:8000[/url] stretch main contrib non-free

更换deb源

sudo nano /etc/apt/sources.list.d/linaro-overlay-repo.list

缺省为:

deb [url=http://repo.linaro.org/ubuntu/linaro-overlay]http://repo.linaro.org/ubuntu/linaro-overlay[/url] stretch main

deb-src [url=http://repo.linaro.org/ubuntu/linaro-overlay]http://repo.linaro.org/ubuntu/linaro-overlay[/url] stretch main

更换为:

deb [url=http://mirrors.tuna.tsinghua.edu.cn/debian/]http://mirrors.tuna.tsinghua.edu.cn/debian/[/url] stretch main ui


2、安装各种依赖库,并允许 apt 通过 HTTPS 使用镜像仓库:
sudo apt-get install \

     apt-transport-https \

     ca-certificates \

     curl \

     gnupg2 \

     software-properties-common \

     bash \

     socat \

     jq \

     avahi-daemon \

     avahi-discover 


3、安装docker
3.0 添加docker官方GPG key
curl -fsSL [url=https://download.docker.com/linux/]https://download.docker.com/linux/[/url]$(. /etc/os-release; echo "$ID")/gpg | sudo apt-key add -


3.1 添加 Docker CE 仓库
echo "deb [arch=armhf] [url=https://download.docker.com/linux/debian]https://download.docker.com/linux/debian[/url] \

      $(lsb_release -cs) stable" | \

     sudo tee /etc/apt/sources.list.d/docker.list


3.2 安装docker-ce
sudo apt-get update

sudo apt-get install docker-ce

sudo usermod -aG docker $USER


3.3 增加 Docker 仓库镜像
sudo nano /etc/docker/daemon.json

{

  "registry-mirrors": ["https://registry.docker-cn.com"]

}


4、更换国内python源
cd ~

mkdir .pip

sudo nano ~/.pip/pip.conf


粘贴以下内容到pip.conf并保存退出
[global]

trusted-host=mirrors.ustc.edu.cn

index-url=http://mirrors.ustc.edu.cn/pypi/web/simple


5、配置时区,语言 更改用户密码等
sudo tinkerboard-config

将空间扩展至整张sd卡
重启后生效
sudo reboot


6、更新源并安装支持库文件
sudo apt-get update

sudo apt-get upgrade -y

sudo apt-get dist-upgrade


7、安装Docker UI界面
docker pull portainer/portainer:latest


8、配置Docker UI设置
docker run -d -p 9000:9000 --name docker-portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer

然后打开浏览器中输入树莓派IP地址:http://ip:9000
选择本地Docker socket to manage a local Docker engine (not available for Windows Containers (Windows Server 2016))

关于Portainer支持SSL有待测试!!!
docker run -d -p 443:9000 --name docker-portainer --restart=always -v ~/local-certs:/certs -v portainer/portainer --ssl --sslcert /certs/portainer.crt --sslkey /certs/portainer.key

PS:这个我暂时没有时间去测试,如有测试成功的朋友请M我一下。

9、安装armhf-homeassistant镜像
docker pull homeassistant/armhf-homeassistant:latest


10、安装armhf-hassio-supervisor镜像
docker pull homeassistant/armhf-hassio-supervisor:latest

sudo su  一定要在root下执行!!


【avahi-daemon】非树莓派开发板需要安装avahi组件
curl -sL [url=https://raw.githubusercontent.com/home-assistant/hassio-build/master/install/hassio_install]https://raw.githubusercontent.co ... tall/hassio_install[/url] | bash -s -- -m armhf

可能会因为网络不稳定或闪断而报错,如果出现错误提示请多尝试几次

PS:使用以上方法操作后不用再修改armhf-hassio-supervisor
倘若采用以下方法(区别在-m 后的参数:armhf or armv7l)则部署完毕之后需要修改一下docker中hassio-supervisor的环境参数(HASSIO_DOCKER="$DOCKER_REPO/armhf-hassio-supervisor")详细操作请参照【12、修改hassio_supervisor参数】完成
curl -sL [url=https://raw.githubusercontent.com/home-assistant/hassio-build/master/install/hassio_install]https://raw.githubusercontent.co ... tall/hassio_install[/url] | bash -s -- -m armv7l


想把华硕派模拟成树莓派的用户也可以将 -m 设置成armv6l
【也可以使用raspberrypi3】uname=armv6l
其实在hassio_install脚本中 "arm" | "armv7l" | "armv6l"(三种型号的判断结果都一样,区别主要体现在docker镜像文件重命名以及hassio-supervisor的环境参数上的区分)

11、linaro帐号进入,查看hassio-supervisor状态,看是否安装成功
sudo journalctl -fu hassio-supervisor.service


12、修改hassio_supervisor参数
在portainer中打开 Containers-hassio_supervisor并点击Duplicate/Edit
修改Env选项卡下的HOMEASSISTANT_REPOSITORY
修改值:homeassistant/armhf-homeassistant:latest
然后点击Deploy the contriner,关掉Always pull the image,再点击replace
查看HOMEASSISTANT_REPOSITORY选项
显示homeassistant/armhf-homeassistant:latest 表示已修改成功

13、看到如下信息表示homeassistant安装顺利完成:
18-06-18 11:05:57 INFO (SyncWorker_3) [hassio.docker.homeassistant] Start homeassistant homeassistant/armhf-homeassistant:latest with version 0.72.0b2

18-06-18 11:06:37 INFO (MainThread) [hassio.homeassistant] Detect a running Home-Assistant instance

18-06-18 11:06:37 INFO (MainThread) [hassio.addons] Startup application run 0 addons

18-06-18 11:06:37 INFO (MainThread) [hassio.tasks] All core tasks are scheduled

18-06-18 11:06:37 INFO (MainThread) [hassio.core] Hass.io is up and running


14、在浏览器中输入华硕派IP地址 http://ip:8123
配置文件在以下目录
cd /usr/share/hassio/homeassistant

也可以使用samb连接到华硕派进行配置修改或上传下载等操作

后续更新计划:
【tinkerboard默认自带Xtightvnc但vnc服务异常无法自动启动】
【CPU温控风扇自启动的问题采用曲线救国方法利用py脚本实现】

评分

参与人数 2金钱 +40 HASS币 +20 收起 理由
+ 20 + 20 厉害了word楼主!
neroxps + 20 大神666!

查看全部评分

回复

使用道具 举报

65

主题

853

帖子

3044

积分

论坛元老

Rank: 8Rank: 8

积分
3044
金钱
2184
HASS币
40
 楼主| 发表于 2018-12-19 09:13:41 | 显示全部楼层
占楼备用1
回复

使用道具 举报

65

主题

853

帖子

3044

积分

论坛元老

Rank: 8Rank: 8

积分
3044
金钱
2184
HASS币
40
 楼主| 发表于 2018-12-19 09:14:53 | 显示全部楼层
占楼备用2
回复

使用道具 举报

8

主题

2073

帖子

6053

积分

论坛元老

流水无味

Rank: 8Rank: 8

积分
6053
金钱
3980
HASS币
145

灌水之王

发表于 2018-12-19 10:05:42 | 显示全部楼层
这玩意要多少钱?
回复

使用道具 举报

20

主题

700

帖子

3106

积分

论坛元老

Rank: 8Rank: 8

积分
3106
金钱
2406
HASS币
0
发表于 2018-12-19 10:25:39 来自手机 | 显示全部楼层
终于有这个的文章了
回复

使用道具 举报

65

主题

853

帖子

3044

积分

论坛元老

Rank: 8Rank: 8

积分
3044
金钱
2184
HASS币
40
 楼主| 发表于 2018-12-19 10:29:35 | 显示全部楼层
xieahui 发表于 2018-12-19 10:05
这玩意要多少钱?

某东全新500不到,我是双11买的,大概470到手(主板+散热片+金属外壳)
回复

使用道具 举报

3

主题

86

帖子

664

积分

高级会员

Rank: 4

积分
664
金钱
578
HASS币
0
发表于 2018-12-19 11:21:50 | 显示全部楼层
为什么不买个老旧的笔记本干这个事情?这个除了便携性其他没有什么优势啊,我的老旧笔记本换一个SSD上去,装个UBUNTU,要运行多久都没问题,功耗也不大。
回复

使用道具 举报

8

主题

2073

帖子

6053

积分

论坛元老

流水无味

Rank: 8Rank: 8

积分
6053
金钱
3980
HASS币
145

灌水之王

发表于 2018-12-19 11:23:22 | 显示全部楼层
百度搜了下 配置,   好贵
回复

使用道具 举报

65

主题

853

帖子

3044

积分

论坛元老

Rank: 8Rank: 8

积分
3044
金钱
2184
HASS币
40
 楼主| 发表于 2018-12-19 11:36:02 | 显示全部楼层
xieahui 发表于 2018-12-19 11:23
百度搜了下 配置,   好贵

呃。。。。。还好吧,差不多两个树莓派的钱吧。呵呵
回复

使用道具 举报

8

主题

870

帖子

5218

积分

论坛元老

Rank: 8Rank: 8

积分
5218
金钱
4348
HASS币
0
发表于 2018-12-19 11:52:31 | 显示全部楼层
楼主666
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-25 09:28 , Processed in 0.220010 second(s), 33 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表