徐松亮服务器部署教学---MQTT服务器部署

版权声明:本文为博主徐松亮的原创作品,未经允许不得转载,多谢支持!QQ:5387603

推荐点击此链接:欢迎进入徐松亮博客一站式导航搜索(随时更新)


MQTT估计不像Tomcat那么有名,听过的人恐怕不多,它是主要用于物联网设备的服务器。由于它(EMQ)的开源、免费、百万级设备的稳定应用场景,我很看好它。简单易用,资源有限的客户端有开源嵌入式代码(比如ESP8266硬件平台),还是值得学习了解一下的!


目录

一,MQTT是什么

概述:

名词:

关系框图

二,MQTT服务器的部署

下载软件包:

解压

指令运行

验证(后台进入管理界面)

管理界面介绍

三,应用实例

四,常见问题(且听后续分解)


一,MQTT是什么

  • 概述:

    • MQTT:Message Queuing Telemetry Transport(消息队列遥测传输)
    • 本文主要介绍的是免费、开源的MQTT服务器:EMQTT
    • 工作在TCP/IP协议之上
    • 轻量级,比web(http)要轻很多。
    • 基于发布/订阅的消息协议
    • 特别适用于资源有限的硬件物联网设备,以及网络环境糟糕的场景。
    • 本人用它主要是开发基于ESP8266/32的物联网产品,把MQTT客户端源码嵌入到芯片内部,即可实现百万级的物联应用。
    • 传输时对负载内容屏蔽(安全等级较高)。
  • 名词:

    • 客户端(Client):设备,ClientID是每个客户端的唯一标识,要求全局唯一。
    • 连接:等待与服务器建立连接然后创建节点之间的连接。
    • 断开:等待 MQTT 客户端完成所必须完成的工作,然后等待 TCP/IP 会话关闭连接。
    • 主题(Topic):任何消息都属于一个主题。
    • 发布:发送一个消息。
    • 订阅:设备只接收设备订阅的主题消息。
    • 服务质量等级:
      • (QoS 0)至多一次:会发生消息丢失或重复,这一级别可用于如下情况,环境传感器数据,丢失一次读记录无所谓,因为不久后还会有第二次发送。
      • (QoS 1)至少一次:确保消息到达,但消息重复可能会发生。
      • (QoS 2)只有一次:确保消息到达一次。这一级别可用于如下情况,在计费系统中,消息重复或丢失会导致不正确的结果。
    • cleanSesson
      • 0:创建持久对话,客户端断开时,会话仍然保持并保存离线信息,直到会话超时注销,当客户端再次上线时,还需要处理之前的离线消息,而之前的订阅关系也会持续生效。
      • 1:创建一个新的临时会话,在客户端断开时,会话自动销毁。
      • 为保证Qos,客户端和服务器有必要存储会话状态。
      • 客户端每次连接时,cleanSesson标志的值必须固定。
  • 关系框图

    • 徐松亮服务器部署教学---MQTT服务器部署_第1张图片

二,MQTT服务器的部署

  • 下载软件包:

    • emqtt官网:

      • http://emqtt.com/downloads

    • 注意:本实例用的是2.0版本,最新的3.0版本,略有差别,emqtt需要改为emqx,切界面细节有区别。

  • ​​​​​​​​​​​​​​解压

    • ​​​​​​​需要解压到不含中文的路径,本人把它解压到D盘根目录

    • 徐松亮服务器部署教学---MQTT服务器部署_第2张图片

  • 指令运行

    • 启动windows的cmd
    • 打入如下指令:
      • emqttd console
    • 徐松亮服务器部署教学---MQTT服务器部署_第3张图片
  • 验证(后台进入管理界面)

    • 在浏览器中打入如下信息:
      • http://127.0.0.1:18083
    • 徐松亮服务器部署教学---MQTT服务器部署_第4张图片
  • 管理界面介绍

    • 徐松亮服务器部署教学---MQTT服务器部署_第5张图片

三,应用实例

  • 本人是用ESP8266产品做得测试,这样更实际,但考虑到大家未必有相关硬件,所以本例就教大家用本机测试一下
  • 徐松亮服务器部署教学---MQTT服务器部署_第6张图片

四,常见问题(且听后续分解)

  • Android怎么部署MQTT服务器?
  • Android的经典MQTT客户端的应用
  • 树莓派能够部署MQTT服务器吗?

你可能感兴趣的:(开源软件,服务器部署,ESP8266,ESP32)