)
MQTT介绍MQTT消息队列遥测传输是一种轻量级的发布/订阅消息协议专为计算资源受限、带宽有限或网络不稳定的设备设计。它诞生于1999年最初用于石油管道监控如今已成为物联网IoT和机器对机器M2M通信领域的主流标准之一。核心特性MQTT 的核心优势在于为“物”联网而生其关键特性包括轻量高效协议报文头部最小仅 2 字节极大降低了网络带宽和功耗非常适合电池供电的传感器等设备。发布/订阅模式这是一种异步消息模式消息的发布者如传感器和订阅者如手机App通过一个中间的代理Broker 进行通信实现双方在空间、时间和同步上的彻底解耦。灵活的服务质量QoS 提供三种消息送达保障QoS 0最多一次消息仅发送一次不保证送达适用于实时性要求不高的数据。QoS 1至少一次确保消息至少送达一次但可能有重复。QoS 2恰好一次通过四次握手确保消息唯一且可靠送达适用于支付、关键指令等场景。可靠的连接机制遗嘱消息LWT客户端异常断开时代理会自动发布一条预设的“遗嘱”消息通知其他设备。保留消息代理会为每个主题保存最新一条消息新订阅的设备能立即获取当前状态。安全与扩展支持用户名/密码认证和 TLS/SSL 加密端口8883并支持主题通配符 匹配单层# 匹配多层实现灵活的消息路由。工作原理MQTT 系统由三个核心部分组成发布者Publisher数据的生产者如温度传感器它只负责向特定“主题”发送消息。订阅者Subscriber数据的消费者如手机App它订阅感兴趣的“主题”来接收消息。代理Broker消息的中央服务器负责接收所有消息进行过滤并分发给对应的订阅者。常见的开源Broker有 Mosquitto、EMQX 等。其基本工作流程是客户端发布者或订阅者首先与Broker建立TCP连接订阅者订阅主题发布者向主题发布消息Broker再将消息转发给所有订阅了该主题的客户端。应用场景MQTT 广泛应用于各个行业物联网与智能家居智能灯泡、恒温器等设备通过MQTT进行状态同步与控制。工业自动化IIoT工厂传感器实时采集温度、压力等数据用于监控和预测性维护。车联网车辆通过MQTT向管理系统上报GPS位置、发动机状态等数据用于车队管理。智慧城市环境监测站通过MQTT发布空气质量等数据。移动互联网许多Android App的消息推送功能正是基于MQTT协议实现的。医疗健康可穿戴设备如心率监测器通过MQTT将健康数据实时传输给医护人员。MQTT是机器对机器(M2M)/物联网(IoT)连接协议。它被设计为一个极其轻量级的发布/订阅消息传输协议。对于需要较小代码占用空间和/或网络带宽非常宝贵的远程连接非常有用是专为受限设备和低带宽、高延迟或不可靠的网络而设计。相关信息介绍如何下载一个开源的emqx服务器和mqttx客户端工具。官网https://www.emqx.com/zh开源版下载链接https://www.emqx.com/zh/downloads-and-install/brokerEMQX开源版下载现在官网更新了没法直接下载开源版了需要在文档中查找历史版本进行下载安装可以直接从上面链接进入下载如果需要windows版本则要在文档历史版本5.3以前中下载进入官网选择资源下面的文档进入EMQX企业版的文档然后切换文档版本切换到5.8及其以前的版本选择“安装部署”内容下面就有EMQX开源版的下载在安装部署和迁移下面查看需要安装的系统和版本如果要安装windows版本的需要5.3之前的版本选择旧版文档选择5.3版本或者更早版本在“安装部署和迁移”中有windows版本的安装包下载链接https://packages.emqx.cn/emqx-ce/v5.3.2/emqx-5.3.2-windows-amd64.zip在Windows安装一个emqx作为测试环境下载压缩包解压到指定的路径windows下安装emqx然后启动bin下的emqx的脚本即可这种只是启动一次下次开机需要重新启动安装为windows服务在当前路径下启动cmd或者powershell执行下面脚本//powershell.\emqx.cmd install//cmd emqx.cmd install安装为服务可以不用每次重新启动了安装mqttx客户端工具在官网产品中选择MQTTX进入下载页选择自己系统对应的版本下载直接安装打开程序配置本地服务器的连接测试一下