首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MQTT,你绝对要学习的物联网通信协议

MQTT,你绝对要学习的物联网通信协议

作者头像
用户1605515
发布2018-04-10 13:46:27
1K0
发布2018-04-10 13:46:27
举报
文章被收录于专栏:嵌入式程序猿嵌入式程序猿

随着物联网的火热,从google,亚马逊,微软到国内的百度,腾讯,阿里等巨头都发布物联网平台以及开发套件,支持MQTT(Message Queuing TelemetryTransport)协议那么做嵌入式开发的你还有理由不学习MQTT协议吗?今天我们就来简单介绍下MQTT协议.

MQTT最早是由巨头IBM提出来的,它被设计用于轻量级的发布/订阅式消息传输,旨在为低带宽和不稳定的网络环境中的物联网设备提供可靠的网络服务。MQTT是专门针对物联网开发的轻量级传输协议是一个客户端服务端架构的发布订阅式的消息传输协议,他的设计思想是轻巧,开放,简单,规范,因此易于实现,受到了越来越多巨头的青睐,其主要的特点有:

使用发布订阅消息模式,提供了一对多的消息发布

消息传输不需要知道负载的内容

使用TCP/IP提供基本的网络连通

消息传输提供三种等级:

“最多一次”,尽操作环境所能提供的最大努力分发消息。消息可能会丢失,例如,这个等级可以用于传感器测量数据,单次的数据丢失没有关系,因为不久之后会再次发送,

“至少一次”保证消息可以到达,但是可能会重复。

“仅一次”,保证消息只到达一次,例如,这个等级可以用于一些计费系统,如果消息丢失或重复会导致不正确的收费,损失惨重。

很小的传输消耗,和协议数据交换,最大限度减少网络流量

异常连接断开时候,能通知到相关各方

MQTT控制报文结构

MQTT协议通过交换预定义的MQTT控制报文来通信,控制报文由三部分组成

固定报头:每个控制报文都包含一个固定报头,固定报头格式如下所示

控制报文类型由四个bit位来表示,可以表示16种类型

固定报头第一个字节的剩余四个bit用来表示每个控制报文类型特定的标志,任何标记为保留的标志位都是保留给以后使用的,如果收到非法的标志,接受者必须关闭网络连接。

剩余长度:

表示当前报文剩余部分的字节数,包括可变报头和负载的数据,剩余长度不包括用于编码剩余长度字段本身的字节数。剩余长度字段使用一个可变长度编码方案,对小于128的值使用单字节编码。更多详细内容大家可参阅MQTT官方文档,尽量阅读英文原版的协议。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-07-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 嵌入式程序猿 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
物联网
腾讯连连是腾讯云物联网全新商业品牌,它涵盖一站式物联网平台 IoT Explorer,连连官方微信小程序和配套的小程序 SDK、插件和开源 App,并整合腾讯云内优势产品能力,如大数据、音视频、AI等。同时,它打通腾讯系 C 端内容资源,如QQ音乐、微信支付、微保、微众银行、医疗健康等生态应用入口。提供覆盖“云-管-边-端”的物联网基础设施,面向“消费物联”和 “产业物联”两大赛道提供全方位的物联网产品和解决方案,助力企业高效实现数字化转型。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档