操作系统:centos7
Home Assistant版本:2022.3.7
mqtt版本:mosquitto-1.4.10

一、安装mqtt

1. 下载相关依赖
yum install gcc-c++
yum install cmake
yum install openssl-devel
2. 下载mosquitto-1.4.10源码包

找一个合适的目录,我的是/usr/software,然后下载源码包

wget http://mosquitto.org/files/source/mosquitto-1.4.10.tar.gz
tar -xzvf mosquitto-1.4.10.tar.gz
3. 修改源码包配置

注释掉下面两个配置

  • WITH_SRV:=yes
  • WITH_UUID:=yes
cd mosquitto-1.4.10
vim config.mk
4. 编译源码
make
sudo make install
5. 修改配置

在mosquitto.conf中添加配置

  • allow_anonymous false #设置不允许匿名登录
  • password_file /etc/mosquitto/pwfile.example #设置账户密码文件位置
mv /etc/mosquitto/mosquitto.conf.example /etc/mosquitto/mosquitto.conf
vi /etc/mosquitto/mosquitto.conf
6. 创建用户
cd /etc/mosquitto
# 清空密码文件,新建用户mosquitto,回车后会让输入密码
mosquitto_passwd -c ./pwfile.example mosquitto
7. 启动服务
mosquitto -c /etc/mosquitto/mosquitto.conf -d

如果启动失败并报错找不到libmosquitto.so.1,创建连接文件

ln -s /usr/local/lib/libmosquitto.so.1 /usr/lib/libmosquitto.so.1
# 进入安装目录【我的是/usr/software】
cd ../
ldconfig
# 再重新执行启动命令
mosquitto -c /etc/mosquitto/mosquitto.conf -d
8. 测试

打开两个linux连接窗口,分别执行下面两句命令

  • 创建订阅者,订阅主题【test】
mosquitto_sub -h localhost -t test -u mosquitto -P mosquitto
  • 创建发布者,发布主题【test】,发布消息【hello】
mosquitto_pub -h localhost -t test -m "hello" -u mosquitto -P mosquitto

在这里插入图片描述
在这里插入图片描述

二、homeassistant集成mqtt

1. 配置->设备与服务->集成->添加集成

在这里插入图片描述
在这里插入图片描述

2. 搜索mqtt,配置mqtt信息

注:mqtt默认端口1883,如果连接失败,确保mqtt正常启动的情况下,查看防火墙是否关闭或开放1883端口

防火墙开启1883端口

firewall-cmd --zone=public --add-port=1883/tcp --permanent
firewall-cmd --reload

在这里插入图片描述
在这里插入图片描述

3. 点击【选项】进行消息发布或者主题订阅

在这里插入图片描述
在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐