0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

入门物联网,学习和了解MQTT协议是非常必要的

8g3K_AI_Thinker 来源:未知 作者:李倩 2018-11-23 09:19 次阅读

物联网曾被认为是继计算机、互联网之后,信息技术行业的第三次浪潮。随着基础通讯设施的不断完善,尤其是 5G 的出现,进一步降低了万物互联的门槛和成本。

物联网本身也是 AI区块链应用很好的落地场景之一,各大云服务商也在纷纷上架物联网平台和服务。

在 AI 和区块链的热潮过去之后,物联网很有可能成为下一个风口,在风口到来之前,提前进行一些知识储备,是很有必要的。

纵观人工智能的发展路线我们可以看到,人工智能近年来之所以能够突飞猛进。

第一个原因是硬件的发展,使得深度学习神经网络的学习时间迅速缩短;

第二就是数据,在我们这个大数据的时代,获取大量数据的成本已经很低了。

再来说物联网,像传感器智能家电、可穿戴设备等,每天也都在产生着巨量的数据,这也是反馈给深度学习良好的训练数据。

同时,学习的结果又可以再应用到物联网的终端,形成一个良性的循环。举个例子:

从交通探头我们可以采集到大量的交通实时图片,经过处理之后,喂给神经网络,比如 SSD

SSD 学会在图片中标注出人和汽车的位置,然后再把模型部署到探头端,探头就可以利用深度学习的接口,来实时地分析人流和车流情况了。

所以我认为物联网是 AI 落地的一个非常好的应用场景,随着 AI 的迅速发展,物联网这个同样在很多年前就提出的理论和技术,也会迎来新的春天。

如果想入门物联网,学习和了解 MQTT 协议是非常必要的,它解决了物联网中的一个最基础的问题,设备和设备之间,设备和云端服务之间,是怎么通讯的。

MQTT 之于物联网,就好像 HTTP 之于 Web 那么重要。目前基本所有开放云平台比如阿里云、腾讯云、青云等都支持 MQTT 的接入。

MQTT 是什么?

MQTT,全称为 Message Queue Telemetry Transport。在 1999 年,由 IBM 的 Andy Stanford-Clark 和 Arcom 的 Arlen Nipper 为了一个通过卫星网络连接输油管道的项目开发的。

之后 IBM 一直将 MQTT 作为一个内部协议在其产品中使用,直到 2010 年,IBM 公开发布了 MQTT 3.1 版本。在 2014 年,MQTT 协议正式成为了 OASIS(结构化信息标准促进组织)的标准协议。

随着多年的发展,MQTT 协议的重点也不再只是嵌入式系统,而是更广泛的物联网(Internet of Things)世界了。

MQTT 的优点

为了满足低电量消耗和低网络带宽的需求,MQTT 协议在设计之初就包含了以下一些特点:

1. 实现简单

2. 提供数据传输的 QoS

3. 轻量、占用带宽低

4. 可传输任意类型的数据

5. 可保持的会话(session)

MQTT 协议可以为大量的低功率、工作网络环境不可靠的物联网设备提供通讯保障。

而它的应用范围也不仅如此,在移动互联网领域也大有作为:很多 Android App 的推送功能,都是基于 MQTT 实现的,也有一些 IM 的实现,是基于 MQTT 的。

MQTT 为什么如此轻量且灵活?

MQTT 发布和订阅模型

简单来说是因为 MQTT 协议有以下特性:

基于 TCP 协议的应用层协议;

采用 C/S 架构;

使用订阅/发布模式,将消息的发送方和接受方解耦;

提供 3 种消息的 QoS(Quality of Service): 至多一次,最少一次,只有一次;

收发消息都是异步的,发送方不需要等待接收方应答。

虽然 MQTT 协议名称有 Message Queue 两个词,但是它并不是一个像 RabbitMQ 那样的一个消息队列,这是初学者最容易搞混的一个问题。MQTT 跟传统的消息队列相比,有以下一些区别:

1. 在传统消息队列中,在发送消息之前,必须先创建相应的队列;在 MQTT 中,不需要预先创建要发布的主题(可订阅的 Topic);

2. 在传统消息队列中,未被消费的消息总是会被保存在某个队列中,直到有一个消费者将其消费;在 MQTT 中,如果发布一个没有被任何客户端订阅的消息,这个消息将被直接扔掉;

3. 在传统消息队列中,一个消息只能被一个客户端获取,在 MQTT 中,一个消息可以被多个订阅者获取,MQTT 协议也不支持指定消息被单一的客户端获取。

一个物联网老兵的经验之谈

我从 2015 年开始带领团队在物联网领域创业,从物联网软硬件平台的架构到实现,从上线运营到盈利,中间走过一些弯路,也踩过一些坑。

同时,我在社区、论坛、QQ 群里面也经常看见一些刚刚接触 MQTT 的同学在问各种问题。

我曾经在网络上面也搜索过 MQTT 相关的内容,发现系统介绍 MQTT 协议的内容很少,要么是翻译协议的 Specification,要么是单独实现某一个功能的教程。只教其然,未教其所以然。

所以我总结了自己的实践经验,以及我看到的大家常遇到的问题,写了这一门课程,系统地介绍 MQTT 协议,希望对学习 MQTT 的同学有所帮助。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2550

    文章

    51035

    浏览量

    753080
  • 物联网
    +关注

    关注

    2909

    文章

    44557

    浏览量

    372787
  • MQTT
    +关注

    关注

    5

    文章

    650

    浏览量

    22487

原文标题:MQTT,物联网圈的 HTTP,万物互联第一步

文章出处:【微信号:AI_Thinker,微信公众号:人工智能头条】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    联网学习路线来啦!

    联网学习路线来啦! 联网方向作为目前一个热门的技术发展方向,有大量的人才需求,小白的学习
    发表于 11-11 16:03

    联网传输协议MQTT到底是个什么?

    MQTT是什么?MQTT是一个联网传输协议,它被设计用于轻量级的发布/订阅式消息传输,旨在为低带宽和不稳定的网络环境中的
    发表于 01-08 11:27

    工业无线MQTT联网网关

    通信)和非常少的开销(较之 HTTP 等协议)。 在 3G 网络中,MQTT 的吞吐量速度是使用 HTTP 的表述性状态转移 (REST) 的 93 倍。工业无线MQTT
    发表于 02-07 14:00

    MQTT 协议开发入门

    的即时通讯协议,使其在联网、小型设备、移动应用等方面有较广泛的应用。MQTT是一个基于客户端-服务器的消息发布/订阅传输协议
    发表于 11-05 09:38

    MQTT 协议 开发入门

    的消息发布/订阅传输协议MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。在很多情况下,包括受限的环境中,如:机器与机器(M2M)通信和
    发表于 11-07 15:51

    萌新闯关之联网MQTT协议梳理

    目前大家的进度已经推进到使用联网协议进行控制终端设备了,先头部队已经完整的移植了MQTT协议到我们的开发板上了,既然应用端已经实现,作为作
    发表于 11-27 00:23

    萌新闯关之联网MQTT协议梳理

    目前大家的进度已经推进到使用联网协议进行控制终端设备了,先头部队已经完整的移植了MQTT协议到我们的开发板上了,既然应用端已经实现,作为作
    发表于 12-02 16:56

    联网的基石-MQTT协议初识

    1、联网的基石-mqtt协议初识随着 5G 时代的来临,万互联的伟大构想正在成为现实。联网
    发表于 09-08 16:03

    如何采用mqtt协议实现联网模块消息推送?

    如何采用mqtt协议实现联网模块消息推送
    发表于 11-03 06:55

    联网传输协议MQTT的优势

    联网传输协议为什么首选MQTT
    的头像 发表于 01-09 14:46 4110次阅读

    NodeMCU学习(十一)--MQTT的订阅与发布

    到OneNET联网平台》《NodeMCU学习(九)--连接OneNET联网平台》《OneNET
    发表于 10-26 13:05 29次下载
    NodeMCU<b class='flag-5'>学习</b>(十一)--<b class='flag-5'>MQTT</b>的订阅与发布

    联网协议MQTT

    的,这些特点使它适用范围非常广泛。在很多情况下,包括受限的环境中,作为一种低开销、低带宽占用的即时通讯协议,使其在联网、小型设备、移动应用等方面有较广泛的应用。如:机器与机器(M2M
    的头像 发表于 11-22 09:53 1515次阅读
    <b class='flag-5'>物</b><b class='flag-5'>联网</b><b class='flag-5'>协议</b><b class='flag-5'>MQTT</b>

    联网应用中,为什么MQTT干掉了HTTP?

    HTTP作为当下使用最为广泛的协议之一,但随着联网行业的发展,MQTT在过去的几年也受到了大量联网
    的头像 发表于 04-27 09:33 686次阅读
    <b class='flag-5'>物</b><b class='flag-5'>联网</b>应用中,为什么<b class='flag-5'>MQTT</b>干掉了HTTP?

    智联联分享之联网协议MQTT简述,MQTT协议特点

    )基于客户端/服务器的信息发布/订阅的联网常用传输协议。1999年由开发商IBM发布,MQTT协议是轻量、简单、开放和易于实现的,这些特点
    的头像 发表于 03-28 18:10 1290次阅读
    智联<b class='flag-5'>物</b>联分享之<b class='flag-5'>物</b><b class='flag-5'>联网</b><b class='flag-5'>协议</b><b class='flag-5'>MQTT</b>简述,<b class='flag-5'>MQTT</b><b class='flag-5'>协议</b>特点

    联网中的MQTT协议概述

    MQTT协议已经成了联网通信中的一个热词,今天我们一起来学习一下关于MQTT
    的头像 发表于 11-25 14:09 1318次阅读