‘password‘:"password"}) . 更新 2017年7月28日更新: 最近发现了一款比较好的开源MQT

时间:2022-07-01 01:50:59

MQ 遥测传输 (MQTT) 是轻量级基于代办代理的颁布/订阅的动静传输协议,设计思想是开放、简单、轻量、易于实现。这些特点使它适用于受限环境。该协议的特点有:

使用颁布/订阅动静模式,供给一对多的动静颁布,解除应用措施耦合。

对负载内容屏蔽的动静传输。

使用 TCP/IP 供给网络连接。

小型传输,开销很小(固定长度的头部是 2 字节),协议交换最小化,以降低网络流量。

使用 Last Will 和 Testament 特性通知有关各方客户端异常中断的机制。

有三种动静颁布处事质量: 

“至多一次”,动静颁布完全依赖底层 TCP/IP 网络。会产生动静丢掉或反复。这一级别可用于如下情况,环境传感器数据,丢掉一次读记录无所谓,因为不久后还会有第二次发送。

“至少一次”,确保动静达到,但动静反复可能会产生。

“只有一次”,确保动静达到一次。这一级别可用于如下情况,在计费系统中,动静反复或丢掉会导致不正确的功效。

 

Mosquitto是一款「An Open Source MQTT v3.1/v3.1.1 Broker」——开源的MQTT代办代理处事器,,其下也有Windows的安置包。

‘password‘:"password"}) . 更新 2017年7月28日更新: 最近发现了一款比较好的开源MQT

但是我使用的是Win10 64位系统,这两个都下载安置后不是报错就是缺少dll文件,不能使用。

最后参考了前面博客说的,搭建了Apollo处事器,这里使用的Apollo 1.7.1。

搭建MQTT处事器

使用Apollo搭建MQTT处事器法式:

下载Apollo处事器并解压,在CMD环境运行其事情目录下的...\bin\apollo.cmd,命令后面带上参数「create mybroker」,创建处事器实例。这里需要Java环境,系统环境变量下要有JAVA_HOME。

创建实例之后会在bin目录下生成mybroker文件夹,此中 ...\etc\apollo.xml文件下是配置处事器信息的文件,...\etc\users.properties文件包罗连接MQTT处事器时用到的用户名和暗码,初始默认帐号是admin,暗码password;

进入...\mybroker\bin\ 目录,在CMD输入命令「apollo-broker.cmd run」,可以使用TAB键自动补全,运行后输出信息如下:

‘password‘:"password"}) . 更新 2017年7月28日更新: 最近发现了一款比较好的开源MQT

此中我们要留意的:

MQTT处事器TCP连接端口:tcp://0.0.0.0:61613

后台Web打点页面:https://127.0.0.1:61681/或:61680/

登录处事器后,如果MQTT处事器有客户端连接,后台会显示如下

‘password‘:"password"}) . 更新 2017年7月28日更新: 最近发现了一款比较好的开源MQT

Python的MQTT客户端

在Python环境下有MQTT客户端包——paho-mqtt。

安置命令

pip install paho-mqtt

  

客户端代码清单

下面是MQTT客户端代码清单

import paho.mqtt.client as mqtt def on_connect(client, userdata, flags, rc): print("Connected with result code "+str(rc)) client.subscribe("lettuce") def on_message(client, userdata, msg): print(msg.topic+" "+str(msg.payload)) client = mqtt.Client() client.username_pw_set("admin", "password") # 必需设置,否则会返回「Connected with result code 4」 client.on_connect = on_connect client.on_message = on_message HOST = "127.0.0.1" client.connect(HOST, 61613, 60) client.loop_forever()

  

 

下面是往M

颁布动静代码

QTT处事器颁布动静的代码

import paho.mqtt.publish as publish HOST = "127.0.0.1" publish.single("lettuce", "payload", hostname=HOST, port=61613, auth={‘username‘: "admin", ‘password‘:"password"})

  

.

更新

2017年7月28日更新:

比来发明了一款对照好的开源MQTT处事器:EMQ。Linux下部署教程可以参考这篇文章:EMQ初体验——在CentOS7上部署MQTT处事器

Windows下部署可以到官网查阅相关资料。

2017年8月15日更新:

注意:后台Web打点页面被设置为只能本地访谒,如果想用其他主机访谒该打点页面,需要改削「:61680/」为「:61680/」。

相关配置文件:apache-apollo-1.7.1\bin\mybroker\etc\apollo.xml,约莫61行:

<web_admin bind="http://127.0.0.1:61680"/> <web_admin bind="https://127.0.0.1:61681"/>

转 【MQTT】在Windows下搭建MQTT处事器

标签:

原文地点:https://www.cnblogs.com/saryli/p/8964145.html