zoukankan      html  css  js  c++  java
  • MQTT介绍

    MQTT,是:

    • 轻量级的消息订阅和发布(publish/subscribe)协议
    • 建立在TCP/IP协议之上

    IoT,internet of things,物联网,MQTT在这方面应用较多。

    官方网站:http://mqtt.org/

    MQTT协议是针对如下情况设计的:

    • M2M(Machine to Machine) communication,机器端到端通信,比如传感器之间的数据通讯
    • 因为是Machine to Machine,需要考虑:
      • Machine,或者叫设备,比如温度传感器,硬件能力很弱,协议要考虑尽量小的资源消耗,比如计算能力和存储等
      • M2M可能是无线连接,网络不稳定,带宽也比较小

    MQTT协议的架构,用一个示例说明。比如有1个温度传感器(1个Machine),2个小的显示屏(2个Machine),显示屏要显示温度传感器的温度值。

    可通过MQTT V3.1 Protocol Specification查阅详细规范的细节。

    显示器需要先通过MQTT协议subscribe(订阅)一个比如叫temperature的topic(主题):

    当温度传感器publish(发布)温度数据,显示器就可以收到了:

    注:以上两张图,取自MQTT and CoAP, IoT Protocols

    协议里还有2个主要的角色:

    • client,客户端
    • broker,服务器端

    它们是通过TCP/IP协议连接的。

    因为MQTT是协议,所以不能拿来直接用的,就好比HTTP协议一样。需要找实现这个协议的库或者服务器来运行。

    这里是官方的Server support

    MQTT

    MQTT(Message Queuing Telemetry Transport),是一个物联网传输协议,它被设计用于轻量级的发布/订阅式消息传输,旨在为低带宽和不稳定的网络环境中的物联网设备提供可靠的网络服务。MQTT是专门针对物联网开发的轻量级传输协议。MQTT协议针对低带宽网络,低计算能力的设备,做了特殊的优化,使得其能适应各种物联网应用场景。本文旨在研究其在消息发布/订阅/接收场景下的应用.

    MQTT协议中的几个重要概念

    • 服务端

      是发送消息的客户端和请求订阅的客户端之间的中介,又称为broker.它接收来自客户端的网络连接;接收客户端发布的消息;处理客户端的订阅和取消订阅请求;转发相应消息给符合条件的已订阅客户端.

    • 客户端

      订阅相关的消息;发布消息给其它相关的客户端

    • 订阅

      订阅包含一个主题过滤器和一个最大的服务质量(QoS)等级.客户端只有订阅了相关主题时,才能接收到对应主题的消息

  • 相关阅读:
    【C#技术】一篇文章搞掂:LLBL
    【前端技术】一篇文章搞掂:JS
    dapper 分页根据时间条件查询时中的一个坑
    后台页面常用模板
    JMeter强大的性能测试工具
    批量生成xml文件数据C#实现
    asp.net mvc中用 log4net记录日志到数据库中
    asp.net mvc model attribute and razor and form and jquery validate 完美结合
    前端素材网站
    原生dapper中新增用户后根据用户id,在用户角色表中添加关联数据,事务处理
  • 原文地址:https://www.cnblogs.com/saryli/p/6924082.html
Copyright © 2011-2022 走看看