《DIY智慧小屋—带你玩转物联网》——简述MQTT的工作原理及与智慧小屋的交互

一、MQTT概述:
MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。在很多情况下,包括受限的环境中,如:机器与机器(M2M)通信和物联网(IoT)。其在,通过卫星链路通信传感器、偶尔拨号的医疗设备、智能家居、及一些小型化设备中已广泛使用。

二、MQTT协议特点和工作原理:
MQTT协议运行在TCP/IP或其他网络协议,提供有序、无损、双向连接。其特点包括:

  1. 使用的发布/订阅消息模式,它提供了一对多消息分发,以实现与应用程序的解耦。
  2. 对负载内容屏蔽的消息传输机制。
  3. 对传输消息有三种服务质量(QoS):
    a. 最多一次,这一级别会发生消息丢失或重复,消息发布依赖于底层TCP/IP网络。即:<=1
    b. 至多一次,这一级别会确保消息到达,但消息可能会重复。即:>=1
    c. 只有一次,确保消息只有一次到达。即:=1。在一些要求比较严格的计费系统中,可以使用此级别
  4. 数据传输和协议交换的最小化(协议头部只有2字节),以减少网络流量
  5. 通知机制,异常中断时通知传输双方
  6. 使用 Last Will 和 Testament 特性通知有关各方客户端异常中断的机制;

三、系统组成:
实现MQTT协议需要:客户端和服务器端
MQTT协议中有三种身份:发布者(Publish)、代理(Broker)(服务器)、订阅者(Subscribe)。其中,消息的发布者和订阅者都是客户端,消息代理是服务器,消息发布者可以同时是订阅者。
MQTT传输的消息分为:主题(Topic)和负载(payload)两部分
四、智慧小屋与MQTT
阿里云平台提供数据解析功能,根据提交的脚本,将设备原始数据在云端转换成结构化的JSON格式,方便云上业务系统存储和展示。
小屋通过自定义Topic发布数据,且Topic携带解析标记时,阿里云平台接收数据后,先调用在控制台提交的业务数据解析脚本,将设备上报的原始数据解析为JSON结构体,再进行数据流转处理。
对于小屋:
设备Topic标记需要脚本解析
调用脚本将原始报文解析为JSON格式
输出处理后的Topc和Payload
规则引擎处理后数据
------->智慧小屋

以上信息均来自网络。

发布了8 篇原创文章 · 获赞 5 · 访问量 891

猜你喜欢

转载自blog.csdn.net/x_1203/article/details/105451107