MQTT协议的入门

  • 入门教程;
  • 发布/订阅(Pub/Sub)模式,方便消息在传感器之间传递;
  • 这意味着发布者和订阅者之间并不需要直接建立联系;

消息类型

  • MQTT拥有14种不同的消息类型:

    • CONNECT:客户端连接到MQTT代理
    • CONNACK:连接确认
    • PUBLISH:新发布消息
    • PUBACK:新发布消息确认,是QoS 1给PUBLISH消息的回复
    • PUBREC:QoS 2消息流的第一部分,表示消息发布已记录
    • PUBREL:QoS 2消息流的第二部分,表示消息发布已释放
    • PUBCOMP:QoS 2消息流的第三部分,表示消息发布完成
    • SUBSCRIBE:客户端订阅某个主题
    • SUBACK:对于SUBSCRIBE消息的确认
    • UNSUBSCRIBE:客户端终止订阅的消息
    • UNSUBACK:对于UNSUBSCRIBE消息的确认
    • PINGREQ:心跳
    • PINGRESP:确认心跳
    • DISCONNECT:客户端终止连接前优雅地通知MQTT代理

市面上有很多的MQTT代理

  • mosquitto是一个开源的轻量级的C实现,完全兼容了MQTT 3.1和MQTT 3.1.1;
  • MQTT(MQ Telemetry Transport),消息队列遥测传输协议,轻量级的发布/订阅协议,适用于一些条件比较苛刻的环境,进行低带宽、不可靠或间歇性的通信;
  • mosquitto-MQTT协议的开源实现;
  • 异步发布, 异步订阅;

MQTT和CoAP哪个最可能成为未来物联网通信标准协议

  • 知乎上的一些讨论;
  • 最简单的IOT架构:Device+MQTT+APP,如果不存储数据的话。需要数据持久可以是:Device+MQTT+Web/APP+DB(NoSQL/NewSQL/BigData/Lambda)+APP;
  • BAT将MQTT作为IM/IOT共享的接入服务了;
  • MQTT还有一点:长连接;
  • CoAP在功耗方面有优势,不过随着物联网设备特别是网管的计算能力加强,这点应该不是主要矛盾;
  • ESP8266(自带wifi的单片机);

MQTT的应用

IOT相关协议的更多相关文章

  1. WebRTC:数据传输相关协议简介

    对网络协议来说,需要做的通常就两件事情:1.建立连接,2.传输数据,WebRTC也不例外. 假设WebRTC应用的两端已经建立了连接,那么,剩下就是如何传输数据的问题了. WebRTC同时支持传输音视 ...

  2. CCNA网络工程师学习进程(6)vlan相关协议的配置与路由器简单配置介绍

        前面已经介绍了大部分与vlan技术相关的交换机的协议的配置,更深层次的还有STP协议和以太网端口聚合技术,接着还会简单介绍一下路由器的基本应用.     (1)STP(Spanning-tre ...

  3. https协议了解,以及相关协议的解析

    HTTPS简介 HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版. ...

  4. JT∕T 905 -2014 出租汽车服务管理信息系统的相关协议研究

    出租汽车服务管理信息系统(JT∕T 905 -2014) 国家的相关技术要求2014年7月正式出台,总体有四部分,   第 1 部分:总体技术要求:   第 2 部分:运营专用设备:   第 3 部分 ...

  5. 面试问题之计算机网络:OSI七层网络模型及相关协议

    一.应用层 功能:为应用程序提供服务并规定应用程序中通信相关的细节: 包括的协议如下: 1.超文本传输协议HTTP:这是一种基本的客户机/服务器的访问协议:浏览器向服务器发送请求,而服务器会应相应的网 ...

  6. WLAN协议相关协议

    802.11协议 CAPWAP协议: RFC5415:https://tools.ietf.org/html/rfc5415 DTLS握手处理流程: RFC4347DTLS 认证: RFC5246 U ...

  7. wifi相关协议

    IEEE 802.11Wi-Fi 协议摘要 协议 频率 信号 最大,数据率 传统802.11 2.4GHz FHSS或DSSS 2Mbps 802.11a 5GHz OFDM 54Mbps 802.1 ...

  8. WEB相关协议

    1.数据链路层 2.网络层 3.传输层 4.应用层 ,其中ip是在第二层网络层中,tcp是在第3层传输层中,Internet体系结构最重要的是tcp/ip协议,是实现互联网络连接性和互操作性的关键,它 ...

  9. 邮件相关协议及JavaMail 包简介

    1. 邮件服务器 按功能划分,邮件服务器可以划分为两种类型: SMTP邮件服务器:用于替用户发送邮件和接收外面发送给本地用户的邮件,相当于现实生活中邮局的邮件接收部门(可接收普通用户要投出的邮件和其他 ...

随机推荐

  1. java assert的用法简介【转】

    assert的基本用法 assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制,如C,C++和Eiffel等,但是支持的形式不尽相同,有的是通过语言本身.有的是通过库 ...

  2. golang使用redis

    redigo使用 手册地址:http://godoc.org/github.com/garyburd/redigo/redis github地址:https://github.com/garyburd ...

  3. Ant和Maven

    Ant和Maven都是基于Java的构建(build)工具.理论上来说,有些类似于(Unix)C中的make ,但没有make的缺陷.Ant是软件构建工具,Maven的定位是软件项目管理和理解工具. ...

  4. glide:4.7.1 与 26.1.0冲突

    implementation 'com.android.support:support-v4:26.1.0'implementation 'com.github.bumptech.glide:glid ...

  5. MyEclipse2017 隐藏回车换行符

    Preferences->Text Editor->Show Whitespace characters(configure visibility)->Transparency Le ...

  6. mysql中间件

    一.分类为:负载均衡类和数据切分类 1.负载均衡中间件提供了请求的转发,降低了单节点的负载,如haproxy,mysql-proxy,mysql-router 2.数据切分中间件按照不同的路由算法分发 ...

  7. Native/Webview bridge for Hybrid

    Native/Webview bridge for Hybrid 安装 npm i --save webview-bridge 特点 支持自定义app URL scheme 支持多种处理方式(全部涵盖 ...

  8. jsp快速开始

    [greeting.jsp] <%@ page contentType="text/html;charset=UTF-8" language="java" ...

  9. APPLE-SA-2019-3-25-3 tvOS 12.2

    APPLE-SA-2019-3-25-3 tvOS 12.2 tvOS 12.2 is now available and addresses the following: CFStringAvail ...

  10. Flume配置Replicating Channel Selector

    1 官网内容 上面的配置是r1获取到的内容会同时复制到c1 c2 c3 三个channel里面 2 详细配置信息 # Name the components on this agent a1.sour ...