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

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

3天内不再提示

物联网全栈教程-从云端到设备(四)

技新电子 2018-05-25 09:22 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

请下载今天的附件,因为有表格,所以比论坛上的内容更详细。

1、MQTT协议是IOT(Internet of Things)领域的一个主流协议

物联网的时代,每一个传感器每一个设备都想接入互联网进行数据交换。MQTT协议非常适合这样的场合。目前国内的主流IOT服务器供应商均提供对MQTT协议的解析比如百度云计算,阿里云计算等。MQTT协议的实现也非常简单,对带宽的要求不高,对网络链接的可靠性要求也不高,而且协议本身制定了一定的机制来处理突发事件。

MQTT协议不仅可以在物联网领域发挥重要作用,同时也可以用于多台机器之间的信息交换比如一个车间里面所有的传感器之间数据的交换。

MQTT协议也不仅仅局限于运行在互联网通信上。它是一个通信规则,对通信方式的实现不关心。通常我们提到物联网指的是通过 TCP/IP 的方式实现了通信,也就是利用互联网实现,因为互联网可以提供一个非常可靠的双向通信。

本学习手册根据 MQTT V3.1.1 版本编写

官方手册

下面章节大部分内容均参考此官方手册。

2、MQTT 通信协议需要有三个角色参与

这段文字参考百度云计算的帮助文档:

MQTT协议提到的一个名词 “主题”,类似于文件夹的名字一样。比如小王是电脑的主人,他的电脑上面有a,b两个文件夹,小刘每次存储的文件喜欢放到a文件夹,小宋每次存储的文件喜欢放到b文件夹。那么当小林想看小刘的文件时,只需要看a文件夹就可以了。上述的“a”文件夹的名称,在MQTT协议里面称作 主题 。

4.1.jpg

左图诠释了MQTT协议里的三个角色:发布者客户端(负责发送消息),代理服务器(负责接收和分发消息),订阅者客户端(负责接收消息)。

在MQTT协议里,“主题”就是一个文件夹,发布的消息可以送到一个“主题”里面,订阅者也可以从“主题”里面读取到消息。

代理服务器在国内有百度的 IoT Hub ,也有阿里云的IoT Hub,还有很多其他品牌的服务器。

发布者客户端和订阅者客户端既可以是同一台设备,也可以是不同的设备,只要这台设备可以通过服务器的认证,并且遵循MQTT协议,就可以发布或者订阅消息。本学习手册的重要内容就是两个客户端如何与服务器“交流”。

2、MQTT 通信协议和大数据

(1) 小刘采集的信号是温度信息,他每间隔1分钟就上传一次温度信息到服务器,同时他发送的主题是 a 。

(2) 服务器接收到小刘的温度信息后,会查找当前都有哪些订阅者想看主题是 a 的信息。

(3) 小林订阅了主题是 a 的内容,只要小刘发送一次信息,小林就可以立马接收到对应的信息。

(4) 小刘和小林都需要事先通过账号密码的方式连接到服务器。小刘就像在野外工作的工作人员辛苦采集信号,而小林就像在办公室的老板千里之外洞察前线的一手信息。

(5) 如果有1000个小林这样的角色不停地给服务器发送温度数据。我们都知道服务器有数据保存和数据处理的能力,这时候就可以结合机器学习的相关知识去处理和分析这些数据,从而为人类的决策提供参考。

3、在MQTT 通信协议里,字符串需要遵守 UTF-8 编码规范

在MQTT通信协议里,数据传送是以Bit(位)为单位的,和我们常见的TTL串口类似不过他们本质上不是一个东西。MQTT协议约定:数据传送时,高字节在前,同时,每个字节里面的最高位先传输。

4、MQTT 一帧消息包含的内容

MQTT 的一帧典型的消息最多由三部分组成:

固定头(所有的消息必须包含) + 可变头(有些没有) + 有效内容(有些没有)

MQTT协议约定,根据不同的功能实现,固定头是必须要的,其他两部分内容可有可无(比如心跳包的发送和接收只要固定头即可,而从机发送的链接请求则包含了三个部分)。

5、后面还有内容,我做成了PDF了,里面有表格啥的,论坛上编辑不方便,你下载查看吧。里面详细讲解了组合一帧报文的过程。附件中还有一个是MQTT协议的中文手册,更权威。

原文

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

    关注

    2950

    文章

    48121

    浏览量

    418278
  • 阿里云
    +关注

    关注

    3

    文章

    1046

    浏览量

    45866
  • IOT
    IOT
    +关注

    关注

    190

    文章

    4422

    浏览量

    209571
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Nordic Semiconductor 重磅亮相 Bluetooth Asia 2026 以全域联网能力开启无线创新篇章

    演讲 亮相,全面展现从蓝牙技术定义者全域联网领导者的战略升级成果,为全球联网行业伙伴、开发者带来
    的头像 发表于 04-14 11:04 248次阅读
    Nordic Semiconductor 重磅亮相 Bluetooth Asia 2026 以全域<b class='flag-5'>物</b><b class='flag-5'>联网</b><b class='flag-5'>全</b><b class='flag-5'>栈</b>能力开启无线创新篇章

    “可见”“可控”:工业联网平台如何重塑大核心场景价值

    工业联网平台的价值,绝非漂浮于概念层面,它必须根植于具体的业务场景,解决真实的生产经营难题。数之能深入行业实践,聚焦于设备管理、生产执行、能源管控与安全运维大核心领域,将平台能力转
    的头像 发表于 01-12 15:26 208次阅读
    <b class='flag-5'>从</b>“可见”<b class='flag-5'>到</b>“可控”:工业<b class='flag-5'>物</b><b class='flag-5'>联网</b>平台如何重塑<b class='flag-5'>四</b>大核心场景价值

    明晚:睿擎联网实战:传感器采集MQTT上云流程解析|问学直播

    传感器采集云端通信,一次直播打通联网链路开发!在
    的头像 发表于 11-25 18:31 539次阅读
    明晚:睿擎<b class='flag-5'>物</b><b class='flag-5'>联网</b>实战:<b class='flag-5'>从</b>传感器采集<b class='flag-5'>到</b>MQTT上云<b class='flag-5'>全</b>流程解析|问学直播

    【直播预告】下周三晚8点|睿擎联网实战:传感器采集MQTT上云流程解析

    传感器采集云端通信,一次直播打通联网链路开发!在
    的头像 发表于 11-21 17:07 2188次阅读
    【直播预告】下周三晚8点|睿擎<b class='flag-5'>物</b><b class='flag-5'>联网</b>实战:<b class='flag-5'>从</b>传感器采集<b class='flag-5'>到</b>MQTT上云<b class='flag-5'>全</b>流程解析

    芯源半导体在联网设备中具体防护方案

    (一)数据传输安全防护方案​ 在联网设备云端、其他设备进行数据传输时,芯源半导体安全芯片通过以下方式保障数据传输安全:​ 数据加密传输:
    发表于 11-18 08:06

    联网开发必备:款低功耗蓝牙透传模块参数解析与应用实战

    联网开发必备:款低功耗蓝牙透传模块参数解析与应用实战 作为联网
    的头像 发表于 11-05 14:37 892次阅读

    学习联网可以做什么工作?

    嵌入式软件和硬件,支持联网设备的功能实现。   数据分析师:负责联网
    发表于 10-11 16:40

    如何 MCU/MPU 角度保护联网应用?

    如何 MCU/MPU 角度保护联网应用?
    发表于 09-08 07:33

    联网远程控制系统:硬件接入业务赋能

    联网技术普及的当下,“千里之外控设备”已从概念变为现实——工厂管理员在办公室远程启停车间电机,农户通过手机调控大棚灌溉阀门,物业人员线上操作小区电梯维保模式,这些场景的实现,都依赖于
    的头像 发表于 08-27 15:50 1065次阅读

    自动驾驶中常提的“”是个啥?有必要“”吗?

    和应用,涵盖底层硬件、感知算法、高精地图、定位与融合,决策规划、控制执行、软件平台,乃至整车集成与云端服务的完整链条。对于希望在激烈的市场竞争中占据一席之地的车企和科技公司来说,
    的头像 发表于 08-27 09:43 1399次阅读
    自动驾驶中常提的“<b class='flag-5'>全</b><b class='flag-5'>栈</b>”是个啥?有必要“<b class='flag-5'>全</b><b class='flag-5'>栈</b>”吗?

    低代码联网平台典型场景落地流程:需求实现的路径解析

    ,让开发者无需深入掌握底层技术,即可快速构建端端的联网应用。设备联网
    的头像 发表于 08-21 16:26 981次阅读

    低代码联网云平台功能解析:设备接入智能应用

    设备、数据与应用的核心枢纽,其功能覆盖了设备接入数据处理、应用开发的流程。以下是其主要功能的详细说明: 一、
    的头像 发表于 07-31 15:23 1159次阅读

    联网的应用范围有哪些?

    在生活中的一个小小体现。 技术层面看,联网融合了多种技术,包括传感器技术、网络通信技术、大数据与云计算技术等。传感器负责采集各种物理量、化学量等信息,如温度传感器感知环境温度,压力传感器检测物体受力
    发表于 06-16 16:01

    联网工程师为什么要学Linux?

    联网工程师需要掌握Linux的主要原因可以技术生态、开发需求、行业应用及就业竞争力个角度来分析: 一、技术生态与行业适配性 1)嵌入式开发的主流平台
    发表于 05-26 10:32

    云端终端:RAKsmart服务器构筑AI云平台智慧城市解决方案

    传统服务器方案常面临算力分散、运维复杂、能效比低等问题,导致AI算法难以高效落地。而RAKsmart服务器凭借其技术创新与服务能力,正在为AI云平台智慧城市提供云端算力
    的头像 发表于 05-09 09:47 752次阅读