智能家居(4):openwrt下docker安装Mqtt,做通讯
背景:智能家居中枢,最近搞家里的智能联动,因为如果单独用某一个品牌的中枢,可能购买设备比较局限,所以采用了Home Assistant来做中枢,配合Node-Red,Mqtt以及小雅Alist+Emby等等来搭建,整个过程做一个分享,也是自己的一个备份
设备:玩客云(Armv7),选择这个设备是有原因的,首先我不想弄一个庞大的设备,虽然性能更好,但是占地,还要考虑散热、功耗等等,所以我更钟爱这种能放入弱电箱的设备,功耗不大,也能满足我的需求。
以上就是我的选择以及初衷,如果你的设备和我的一样恭喜你,直接按我的过程操作就可以了,如果你的设备架构等等和我不一样,你可以按我的过程来操作,但是你要结合你设备特性来进行判断。
上篇文章写了刷openwrt
智能家居(1):刷入openwrt固件,用于旁路由和docker宿主机-CSDN博客
1.拉取mqtt
docker pull eclipse-mosquitto:latest
2.创建映射文件
mkdir -p /opt/mosquitto/config
mkdir -p /opt/mosquitto/data
mkdir -p /opt/mosquitto/log
3.在/opt/mosquitto/config下创建mosquitto.conf,并添加如下:
# 配置端口号及远程访问IP
listener 1883 0.0.0.0
# 配置websocket的连接端口
#listener 9001
# 以websocket方式连接mqtt服务
#protocol websockets
persistence true
# 数据存储路径
persistence_location /mosquitto/data/
# 运行日志存储路劲
log_dest file /mosquitto/log/mosquitto.log
# 用户文件存储路径
password_file /mosquitto/config/passwd
per_listener_settings false
# 设置匿名访问
allow_anonymous true
上面的路径,记住,不要改为你映射的路径
注意权限问题
chmod -R 755 /mosquitto
chmod -R 777 /mosquitto/log
4.在/opt/mosquitto/config下创建passwd
或者通过命令:touch passwd
5.启动
docker run -d --name=mosquitto --privileged \
-p 1883:1883 -p 9001:9001 \
-v /opt/mosquitto/config:/mosquitto/config \
-v /opt/mosquitto/data:/mosquitto/data \
-v /opt/mosquitto/log:/mosquitto/log \
-itd eclipse-mosquitto:latest
6.设置账户密码
# 进入mqtt容器
docker exec -it mqtt sh
# 使用 mosquitto_passwd 命令创建
mosquitto_passwd -b /mosquitto/config/passwd 自定义用户名 自定义密码
# 退出容器后,重启mqtt服务
dokcer restart mqtt
注意其中的mqtt,更换为你的镜像名
7.下载MQTTX,测试连接
名称:无所谓,随便
host:你的IP地址,就是openwrt的地址
port:1883
账号:自定义的用户名
密码:自定义的密码
点击测试连接
更多推荐

所有评论(0)