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

 找回密码
 立即注册
查看: 7685|回复: 9

[基础教程] 树莓派 智能家装 新装闭坑手册(三,docker篇)(编辑中)

[复制链接]

11

主题

121

帖子

840

积分

论坛技术达人

积分
840
金钱
709
HASS币
60
发表于 2020-6-7 21:53:04 | 显示全部楼层 |阅读模式
本帖最后由 yinzhennan 于 2021-6-9 20:26 编辑

0. 前言   
    本文主要是基于docker安装hass和nodered,原生安装请看 这里
作为一个系列,会包含以下篇章:      
    哦,对了,如果你搞了上篇的overlayfs,不要忘记先切回可写模式,否则一切操作如镜花水月。

1. 安装docker

curl -fsSL https://get.docker.com -o get-docker.sh
sed -i 's|download.docker.com|mirrors.ustc.edu.cn/docker-ce|g' get-docker.sh
sudo sh get-docker.sh
大概要等待3分钟,完成后docker ps验证是否安装成功。

2. docker阿里云镜像加速,overlayfs模式下docker兼容性处理
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "storage-driver": "vfs",
  "registry-mirrors": ["https://vlv9r1l5.mirror.aliyuncs.com"]
}
EOF
这个是我在阿里云上申请的镜像加速,你也可以用自己的,这个其实无所谓。中科大,网易的那些加速都不太好用,镜像不全,速度不快。
其中 "storage-driver": "vfs", 是为了兼容上一篇里的overlayfs只读模式

为了兼容overlayfs只读模式, 还需要执行下面的命令
sed -i 's/ExecStart/ExecStartPre=mv \/var\/lib\/docker\/runtimes \/var\/lib\/docker\/runtimes-old\nExecStart/g' /lib/systemd/system/docker.service
sudo systemctl daemon-reload
sudo systemctl restart docker


3. 安装hass
注意最后一行,我的是树莓派3b+,如果你的是派4,请手动修改。 另外tag版本我选的是最新stable版本,如果指定版本也是在最后一行改。
具体有哪些镜像及版本,可以到https://hub.docker.com/search?q=homeassistant&type=image 看看
docker run --restart=always -d --user $(id -u) --privileged=true --net=host --name=hass \
-v /data/hassconfig:/config \
-v /etc/localtime:/etc/localtime \
homeassistant/raspberrypi3-homeassistant:stable
首次运行这个命令docker会去拉镜像,总共1个多G,会比较慢,根据网速情况,可能要等个10-30分钟左右。
建议先用docker pull命令先把镜像拉下来,如:docker pull homeassistant/raspberrypi3-homeassistant:stable以后可以用docker images命令查看下载过哪些镜像
后面安装其他应用也是同理。

装好之后,浏览器里输入树莓派的ip:8123
QQ截图20200607225946.png
看到上面页面,就表示hass安装成功了。

有外网访问需求的,在路由器里设置端口映射和ddns,不同的路由器设置方法相似,可自行百度,这里不赘述。

4.安装nodered
注意版本号,arm32是树莓派3b版本的cpu,v7表示node版本。其他型号cpu的树莓派,请到https://hub.docker.com/r/nodered/node-red/tags找对应版本
docker run --restart=always -d --user $(id -u) --privileged=true --net=host --name=nodered \
-v /data/nodered:/data \
-v /root/.ssh:/root/.ssh \
-v /root/.gitconfig:/root/.gitconfig \
-v /data:/hostdata \
-v /etc/localtime:/etc/localtime \
nodered/node-red:1.0.6-2-12-minimal-arm32v7
几秒种后就会起来,访问 ip:1880 QQ截图20200607234032.png

看到这个页面,就算启动成功了,可以拖个流跑一下看。

(未完待续,后面我来补充下重启自动运行的部分。git云同步配置在下一篇说)






评分

参与人数 1金钱 +20 HASS币 +10 收起 理由
+ 20 + 10 大神666!

查看全部评分

回复

使用道具 举报

1

主题

74

帖子

293

积分

中级会员

Rank: 3Rank: 3

积分
293
金钱
219
HASS币
0
发表于 2020-6-8 09:13:34 | 显示全部楼层
学习中
回复

使用道具 举报

11

主题

121

帖子

840

积分

论坛技术达人

积分
840
金钱
709
HASS币
60
 楼主| 发表于 2020-6-8 09:21:23 | 显示全部楼层

多谢捧场
回复

使用道具 举报

0

主题

8

帖子

42

积分

新手上路

Rank: 1

积分
42
金钱
34
HASS币
0
发表于 2020-6-10 12:34:47 | 显示全部楼层
up你好,我在docker装HA,也是共享配置文件的文件夹,修改了配置文件,加了个light的yeelight灯带,重启没反应,是还要做什么配置吗?
回复

使用道具 举报

11

主题

121

帖子

840

积分

论坛技术达人

积分
840
金钱
709
HASS币
60
 楼主| 发表于 2020-6-10 16:39:15 | 显示全部楼层
MaxJw 发表于 2020-6-10 12:34
up你好,我在docker装HA,也是共享配置文件的文件夹,修改了配置文件,加了个light的yeelight灯带,重启没 ...

大概率是你的yeelight组件加载错误,具体错误你要看log.
可以看容器log, 也可以看配置文件夹里的log文件
回复

使用道具 举报

0

主题

8

帖子

42

积分

新手上路

Rank: 1

积分
42
金钱
34
HASS币
0
发表于 2020-6-10 23:52:21 | 显示全部楼层
本帖最后由 MaxJw 于 2020-6-10 23:53 编辑
yinzhennan 发表于 2020-6-10 16:39
大概率是你的yeelight组件加载错误,具体错误你要看log.
可以看容器log, 也可以看配置文件夹里的log文件 ...

当时docker启动容器的命令是,
docker run -d --name="home-assistants" -v /Users/Max/MyHomeAssistant:/config -p 8123:8123 homeassistant/home-assistant

下面是我整个配置文件的内容了
default_config:

# Text to speech
tts:
  - platform: google_translate

group: !include groups.yaml
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml

light:
  - platform: yeelight
    devices:
      192.168.2.241:
        name: YeeLight LED
        transition: 1000
        use_music_mode: True
        save_on_change: False

是哪里出错了吗?添加个灯带都不行,真是够菜
回复

使用道具 举报

11

主题

121

帖子

840

积分

论坛技术达人

积分
840
金钱
709
HASS币
60
 楼主| 发表于 2020-6-11 08:47:57 | 显示全部楼层
MaxJw 发表于 2020-6-10 23:52
当时docker启动容器的命令是,
docker run -d --name="home-assistants" -v /Users/Max/MyHomeAssistant:/ ...

要看日志,在你的hass配置文件夹里有个log文件,tail下,然后重启hass,看启动日志里有没有报错.
回复

使用道具 举报

11

主题

121

帖子

840

积分

论坛技术达人

积分
840
金钱
709
HASS币
60
 楼主| 发表于 2020-6-11 08:49:05 | 显示全部楼层
本帖最后由 yinzhennan 于 2020-6-11 08:53 编辑
MaxJw 发表于 2020-6-10 23:52
当时docker启动容器的命令是,
docker run -d --name="home-assistants" -v /Users/Max/MyHomeAssistant:/ ...

或者把之前的容器删除,重新运行,  docker run -d 改成docker run -it
-d表示背景运行
-it表示前端运行,可以直接看到日志,ctrl-c的话容器也会stop, 可以用docker restart命令重启

回复

使用道具 举报

0

主题

8

帖子

42

积分

新手上路

Rank: 1

积分
42
金钱
34
HASS币
0
发表于 2020-6-11 09:34:54 | 显示全部楼层
yinzhennan 发表于 2020-6-11 08:47
要看日志,在你的hass配置文件夹里有个log文件,tail下,然后重启hass,看启动日志里有没有报错. ...

只有一个home-assistant.log日志文件,里面就两行内容

2020-06-10 15:40:59 WARNING (MainThread) [homeassistant.setup] Setup of updater is taking over 10 seconds.
2020-06-10 15:41:04 ERROR (MainThread) [homeassistant.components.updater] Timeout fetching Home Assistant update data

回复

使用道具 举报

0

主题

9

帖子

80

积分

注册会员

Rank: 2

积分
80
金钱
71
HASS币
0
发表于 2020-7-15 22:44:06 | 显示全部楼层
感谢分享!
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-26 08:22 , Processed in 0.196036 second(s), 37 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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