赞
踩
MQTT(Message Queuing Telemetry Transport)协议是重要的物联网传输协议。越来越多的设备和节点,通过MQTT协议实现对外的通讯。
MQTT协议的逻辑简洁清晰,一旦掌握和理解,MQTT的配置和调试都将变得非常方便的。
下载地址:http://mosquitto.org/download/
本此教程是在Windows10上运行的,如果在树莓派上安装请参考https://www.hachina.io/docs/3930.html
安装嘛 打开下载的 mosquitto-1.6.12-install-windows-x64.exe 文件一路 Next 就可以
因为安装后它不会自启动,需要在 我的电脑上右键——>管理——>服务和应用程序——>服务中找到 Mosquitto Broker 右键启动,也可以设置成开机自启
1、在MQTT安装目录的配置文件mosquitto.conf中,末尾加入下面文本,保存退出(我说的全新安装的情况下,如果是维护已经使用很久的系统,可在配置文件中找到对应的属性进行更改)
#设置不允许匿名登录
allow_anonymous false
#设置账户密码文件位置为 D:\Program Files\mosquitto\pwfile.example
password_file D:\Program Files\mosquitto\pwfile.example
2、win+R打开命令行窗口,进入到MQTT安装路径输入mosquitto_passwd -c ./pwfile.example hachina
(使用-c 参数意思是清空密码文件,新建用户名为hachina的用户)
3、根据第二步中的启动步骤,重启一下MQTT服务
打开命令窗口,切换到MQTT安装目录,在窗口中输入:
mosquitto_sub -h localhost -t hello/world -u hachina -P hachina
解释:连接本机的MQTT服务,订阅主题hello/world下的消息。通讯过程的用户名为hachina,密码为hachina
打开另一个命令窗口,输入:
mosquitto_pub -h localhost -t hello/world -m "HELLO, HAChian" -u hachina -P hachina
解释:连接本机的MQTT服务,在主题hello/world下发布信息“HELLO, HAChian”。
这时候,在mosquitto_sub运行的窗口,可以看到订阅程序接收到的消息:
传感器设备和HomeAssistant分别与MQTT代理服务器通讯,从而实现相互的交互。
在HomeAssistant中,通过简单配置,可以联动各种种类的MQTT设备,包括灯(light)、开关(switch)、传感器(sensor)、开关状态传感器(binary_sensor)、报警面板(alarm_control_panel)、锁(lock)、照相机(camera)、风扇(fan)、设备位置(device_tracker)等。
下面用两种方法集成MQTT:一种是在网页上设置,另一种修改配置文件
方法一:在网页上设置
依次点击:配置——>集成——>点击右下角加号——>搜索MQTT
方法二:修改配置文件
找到 C:\Users\lenovo\AppData\Roaming.homeassistant 下的 configuration.yaml ,如果找不到可以直接在C盘搜索。
在配置文件中添加以下代码:
# MQTT配置
mqtt:
broker: 192.168.1.207 # MQTT服务器地址
port: 1883 # MQTT端口,默认是1883
username: hachina # MQTT用户名
password: hachina # MQTT密码
# 配置自动发现
discovery: true
# 自动发现使用的主题位置前缀,缺省为homeassistant
discovery_prefix: homeassistant
依次点击:配置——>集成——>MQTT下的配置
订阅主题 led/switch
发布消息 True 到主题 led/switch上
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。