安装MQTT Broker与ESPHome

安装Mqtt Broker与ESPHOME


安装前说明

EMQX

hass系统接入mqtt设备需要依赖MQTT服务器。这里使用docker安装一个mqtt服务器,供mqtt设备连接。
本章使用EMQX方案搭建MQTT Broker

开放端口 备注
1883 TCP
8083 WebSocket 端口
8084 SSL 端口
8883 TLS
18083 WEB Dashboard

默认Dashboard地址 http://IP:18083
默认用户名:admin
默认密码:public

ESPHOME

esphome web主页默认路径为 http://IP:6052 ,如果无法访问,请检查防火墙是否放行该端口
docker容器网络设置为host模式时,端口直接暴露,推荐开启防火墙


开始安装EMQX

拉取docker镜像

MQTT容器镜像

docker pull emqx:5.1.0

ESPHOME容器镜像

docker pull esphome/esphome:2023.6.3

创建MQTT容器

编写docker运行脚本rundocker_mqtt.sh

#!/bin/bash 

set -e

NAME=emqx
DATA_PATH=/docker/${NAME}

docker run -d 
    --name=${NAME} 
    --hostname ${NAME} 
    --restart unless-stopped 
    --privileged 
    -p 1883:1883 
    -p 8083:8083 
    -p 8084:8084 
    -p 8883:8883 
    -p 18083:18083 
    emqx:5.1.0

给脚本添加可执行权限

chmod 755 rundocker_mqtt.sh

运行rundocker_mqtt.sh脚本,启动emqx容器

./rundocker_mqtt.sh

安装ESP-HOME

编写docker运行脚本rundocker_esphome.sh

#!/bin/bash 

set -e

NAME=esphome
DATA_PATH=/docker/${NAME}

docker run -d 
    --name=${NAME} 
    --hostname ${NAME} 
    --restart unless-stopped 
    --privileged 
    --net=host 
    -e TZ=Asia/Shanghai 
    -v ${DATA_PATH}:/config:rw 
    esphome/esphome:2023.6.4

给脚本添加可执行权限

chmod 755 rundocker_esphome.sh

运行rundocker_esphome.sh脚本,启动esphome容器
脚本中DATA_PATH对应主机中保存esphome数据的地址,根据实际修改

./rundocker_esphome.sh