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

 找回密码
 立即注册
查看: 11454|回复: 0

[基础教程] 树莓派3Docker安装homeassistant&mqtt

[复制链接]

4

主题

85

帖子

491

积分

论坛技术达人

积分
491
金钱
401
HASS币
0
发表于 2021-5-10 16:59:54 | 显示全部楼层 |阅读模式
   早几天家里跳闸断电了,导致hassio组件起不来了,文件损坏,搞了半天修复不好。hassio是以前的老版本0.82,也懒得升级,一直不想折腾。这次是真没办法了,因为家里开关是用的论坛里面的零火开关,基于mqtt。我又不想重新安装hassio,因为树莓派的系统并没有坏,于是我就直接拉Docker镜像了,简单方便,适合不想折腾的人。

1. 首先把Docker升级一下,从18升级到19。步骤如下:
sudo systemctl stop docker
# 卸载旧版本:
sudo apt-get purge docker-ce
# 安装新版本
sudo apt update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable
apt-cache madison docker-ce
sudo apt install docker-ce=5:19.03.15~3-0~raspbian-stretch
systemctl start docker
sudo systemctl start docker
sudo systemctl enable docker

2.下载homeassistant镜像
docker pull homeassistant/raspberrypi3-homeassistant:stable

3. 写一个启动镜像的shell
pi@raspberrypi:~$ vi start_homeassistant.sh
#!/bin/bash

docker run --init -d \
  --name homeassistant \
  --restart=unless-stopped \
  -v /etc/localtime:/etc/localtime:ro \
  -v /home/pi/homeassistant:/config \
  --network=host \
  homeassistant/raspberrypi3-homeassistant:stable
---------------------------------
启动homeassistant:
./start_homeassistant.sh
这个时候可以访问8123端口了,然后创建用户名和密码。


4.下载mqtt mosquitto
docker pull eclipse-mosquitto
创建如下目录:
mkdir -p /home/pi/mosquitto/config
mkdir -p /home/pi/mosquitto/data
mkdir -p /home/pi/mosquitto/log
chmod -R 755 /home/pi/mosquitto
创建如下文件:
/home/pi/mosquitto/config/mosquitto.conf
内容如下:
---------------------------------
pi@raspberrypi:~/mosquitto/config$ vi mosquitto.conf
persistence true
persistence_location /mosquitto/data
log_dest file /mosquitto/log/mosquitto.log

listener 1883
# 关闭匿名模式
allow_anonymous false
# 指定密码文件
password_file /mosquitto/config/pwfile.conf
---------------------------------
/home/pi/mosquitto/config/pwfile.conf
pwfile.conf文件内容为空。
建立启动文件:
/home/pi/mosquitto/start.sh
内容如下:
---------------------------------
pi@raspberrypi:~/mosquitto$ vi start.sh
#!/bin/bash

docker run -d --name=mosquitto --privileged \
--restart=unless-stopped \
-p 1883:1883 -p 9001:9001 \
-v /home/pi/mosquitto/config/mosquitto.conf:/mosquitto/config/mosquitto.conf \
-v /home/pi/mosquitto/config/pwfile.conf:/mosquitto/config/pwfile.conf \
-v /home/pi/mosquitto/data:/mosquitto/data \
-v /home/pi/mosquitto/log:/mosquitto/log \
eclipse-mosquitto
---------------------------------
启动mosquitto:
./start.sh
启动mosquitto后,进入容器,生成密码:
docker exec -it mosquitto sh
chmod -R 755 /mosquitto/config/pwfile.conf
mosquitto_passwd -b /mosquitto/config/pwfile.conf username password

5.开启homekit
在configuration.yaml配置文件末尾加上一行:
homekit: !include homekit.yaml
在homekit.yaml文件中过滤掉不必要组件:
pi@raspberrypi:~/homeassistant$ vi homekit.yaml
filter:
  exclude_entities:
    - person.morris
    - device_tracker.morris_iphone
    - sensor.processor_temperature

回到web页面,在左侧通知中可以看到homekit生成的配对二维码,用iphone的家庭扫码即可添加配件。
截屏2021-05-10 16.52.37.png
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-27 04:20 , Processed in 0.049074 second(s), 25 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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