MQTT协议 HASS与python通讯

MQTT通讯pc端准备工作

本地pc端MQTT代理服务器mosquitto的下载

mosquitto 是一款实现了消息推送协议 MQTT v3.1 的开源消息代理软件,提供轻量级的,支持可发布/可订阅的的消息推送模式,使设备对设备之间的短消息通信变得简单,比如现在应用广泛的低功耗传感器,手机、嵌入式计算机、微型控制器等移动设备。一个典型的应用案例就是 Andy Stanford-ClarkMosquitto(MQTT协议创始人之一)在家中实现的远程监控和自动化。并在 OggCamp 的演讲上,对MQTT协议进行详细阐述。
  Mosquittio下载的网址:https://mosquitto.org/download/,选择的是windows64位系统的版本
 在这里插入图片描述

安装启动MQTT

按照自己电脑选择
打开下载的 mosquitto-1.6.12-install-windows-x64.exe 文件一路 Next 就可以

在这里插入图片描述

将mosquitto在任务管理器中设置为开机自启动

为MQTT设置用户名密码

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的用户)

用户名可以自定义。

电脑本机测试是否成功

打开两个命令运行框,都进入mosquitto安装的文件夹,一个用来发布信息,一个用来接受信息。当地址一致时,可以接收同一主题下信息。
本机电脑订阅代码:mosquitto_sub -h 192.168.1.109 -t test -u hachina -P hachina
本机电脑发布代码:mosquitto_pub -h 192.168.1.109 -t test -m "on" -u hachina -P hachina
-t为主题,-m为消息内容,-u为用户名,-P为密码,-h为地址
在这里插入图片描述

MQTT通讯HASS平台准备工作

首先在HASS上下载mqtt

步骤如下:
在这里插入图片描述
配置中打开设备与服务,点开右下角添加集成,输入MQTT查找,下面紫色那个图标就是我们要配置的对象。
在这里插入图片描述
下载后,点击左下角选项进入配置界面,配置MQTT

![在这里插入图片描述](https://img-blog.csdnimg.cn/3afc593a761b40b2acd9e0e0eafeb8aa.png
填写如下信息,服务器地址为前面下载的mosquitto MQTT代理服务器IP地址,端口都市区883,用户名和密码是之前自己设置的
在这里插入图片描述
以上完成后,本地PC端就已经可以通过·MQTT协议与HASS通讯了。

node red mqttin
在这里插入图片描述

PYTHON进行MQTT通讯所需代码

import paho.mqtt.client as mqtt

MQTT_USER = "hachina"
MQTT_PASS = "hachina"
client = mqtt.Client()
client.username_pw_set(MQTT_USER, MQTT_USER)
client.connect("192.168.1.109", 1883, 60)
ient.publish("test", "on")
client.disconnect()
  • 12
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值