详介 MQTT 服务器的搭建与客户端连接

您所在的位置:网站首页 电脑怎么访问服务器地址 详介 MQTT 服务器的搭建与客户端连接

详介 MQTT 服务器的搭建与客户端连接

2023-08-14 21:53| 来源: 网络整理| 查看: 265

目录 一、MQTT 协议简介二、使用 apollo 搭建 MQTT 服务器三、使用 MQTT 客户端创建连接四、消息发布与订阅的基本操作五、总结六、参考资料

本文内容:学习和熟悉 MQTT 协议,在本机上安装 MQTT 服务器和客户端软件,练习消息发布与订阅,比如自定义一个天气预报的消息主题(提示:可以利用课堂教学资料或网上资源)

一、MQTT 协议简介 MQTT( Message Queuing Telemetry Transport,消息队列遥测传输协议 ),是一种基于发布/订阅( publish/subscribe )模式的 “ 轻量级 ” 通讯协议,该协议构建于 TCP/IP 协议上,由 IBM 在 1999 年发布。MQTT 最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。

1)MQTT 的特点:

MQTT 协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。在很多情况下,包括受限的环境中,如:机器与机器(M2M)通信和物联网(IoT)。其在,通过卫星链路通信传感器、偶尔拨号的医疗设备、智能家居、及一些小型化设备中已广泛使用。MQTT 协议当前版本为,2014 年发布的 MQTT v3.1.1。除标准版外,还有一个简化版 MQTT-SN,该协议主要针对嵌入式设备,这些设备一般工作于 TCP/IP 网络,如:ZigBee。MQTT 协议运行在 TCP/IP 或其他网络协议,提供有序、无损、双向连接。其特点包括: 1、使用的发布/订阅消息模式,它提供了一对多消息分发,以实现与应用程序的解耦;2、对负载内容屏蔽的消息传输机制;3、对传输消息有三种服务质量(QoS): ——最多一次,这一级别会发生消息丢失或重复,消息发布依赖于底层TCP/IP网络。即:=1; ——只有一次,确保消息只有一次到达。即:=1。在一些要求比较严格的计费系统中,可以使用此级别;4、数据传输和协议交换的最小化(协议头部只有2字节),以减少网络流量;5、通知机制,异常中断时通知传输双方;

2)MQTT 协议原理 在这里插入图片描述

实现MQTT协议需要:客户端和服务器端MQTT协议中有三种身份:发布者(Publish)、代理(Broker)(服务器)、订阅者(Subscribe)。其中,消息的发布者和订阅者都是客户端,消息代理是服务器,消息发布者可以同时是订阅者。MQTT传输的消息分为:主题(Topic)和负载(payload)两部分 Topic,可以理解为消息的类型,订阅者订阅(Subscribe)后,就会收到该主题的消息内容(payload)payload,可以理解为消息的内容,是指订阅者具体要使用的内容

说明:更多信息了解请百度搜索:消息通信的利器-MQTT协议简介及协议原理 在这里插入图片描述

二、使用 apollo 搭建 MQTT 服务器

1)配置 apollo

下载 apollo 链接:https://pan.baidu.com/s/1fwm0KnB7xG_JBna7nM-mpA 提取码:vy47解压缩文件配置 jdk(说明:如果之前已经配置好,可以直接忽略,安装版本不可过高,否则后面搭建不成功),参考博客:JDK安装与环境变量配置然后进入到 apollo 下面的 bin 文件夹下,并使用命令 apollo.cmd create mybroker(注:mybroker 是自己随便取得一个名字),创建成功如下图所示。 在这里插入图片描述

2)开启 appllo 服务

使用 cmd 进入到 apache-apollo-1.7.1\bin\mybroker\bin 路径下,运行命令 .\apollo-broker-service install 和 .\apollo-broker-service start 即可。 在这里插入图片描述在服务中可以看到有这个 Apollo:mybroker 运行。 在这里插入图片描述在浏览器中输入 http://127.0.0.1:61680,进入 apollo 的登录页面。 在这里插入图片描述第一次登录输入:Username=admin,Password=password 即可。 在这里插入图片描述但是,第二次登陆的时候,就无法再次登录。可以输入:https://127.0.0.1:61681,进行再次登录。

3)修改 ip 地址,以供局域网连接

查看自己电脑的 IP 是多少。在这里插入图片描述登录 MQTT 服务器打开之后,选择 configration 下选择 apollo.xml 文件,修改 属性为服务器 ip(192.168.0.2), 同步修改,以及 tcp 节点下将默认的 tcp://0.0.0.0:61613 修改为服务器的 ip,以供局域网使用,点击 Save 保存,即可在局域网内使用服务器的 ip 登录。 在这里插入图片描述使用地址 http:\\192.168.0.2:61680 可以成功打开。 在这里插入图片描述如果主机地址换了,可以依照上面的方法重新修改 apollo.xml 文件。至此,MQTT 服务器搭建基本完成了。 三、使用 MQTT 客户端创建连接 下载客户端链接:https://pan.baidu.com/s/1egAsqFVHbrR7VMrzbr2AOw 提取码:go0f解压后,双击运行 paho.exe。 在这里插入图片描述添加连接。 在这里插入图片描述点击 选项 ,勾选上登录,并输入用户名和密码 在这里插入图片描述输入服务器地址(刚刚的 apollo.xml 文件内的),然后点击 连接 ,即可连接成功。 在这里插入图片描述服务器显示连接的 IP 及端口号等信息。 在这里插入图片描述 四、消息发布与订阅的基本操作 按照上述方法再额外建立一个连接(注:可以使用同一局域网的 PC 连接服务器,前提是安装了客户端,这里我没有别的 PC ,就用本机额外建立了一个连接)。 在这里插入图片描述 在这里插入图片描述我这里显示的是:同一主机使用不同的端口连接了服务器。

客户端 test1:订阅 hello 主题

点击 + 按钮,添加一个主题,然后点击 订阅 即可(说明:由于并没有 hello 主题发出,所以没有收到消息,其它客户端发布主题后,该客户端会收到消息)。 在这里插入图片描述

客户端 test2:发布 hello 主题

编辑 主题 和 消息 ,并点击 发布 ,历史记录中显示已发布。 在这里插入图片描述由于客户端 test1 已订阅了 hello 主题,所以同时会收到该消息。 在这里插入图片描述 五、总结 MQTT 使用起来十分的方便,在多个小型设备之间可以进行数据的传输,这篇文章只是对 MQTT 进行订阅 \ 发送功能的简介使用,并没有对 MQTT 协议进行深入的了解,但是由于 MQTT 的轻便、可靠的使用,在未来的物联网方面肯定有很大的促进作用,所以还是有必要去学习使用相关的操作、功能。 六、参考资料

1、MQTT服务器搭建以及构建服务端和客户端——Windows 2、Apollo MQTT在windows上面环境部署与连接测试



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3