linux安装mqtt服务并集成到homeassistant
操作系统:centos7Home Assistant版本:2022.3.7mqtt版本:mosquitto-1.4.10一、安装mqtt1. 下载相关依赖yum install gcc-c++yum install cmakeyum install openssl-devel2. 下载mosquitto-1.4.10源码包找一个合适的目录,我的是/usr/software,然后下载源码包wget
·
操作系统: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. 点击【选项】进行消息发布或者主题订阅
更多推荐
已为社区贡献2条内容
所有评论(0)