当前位置: 首页 > wzjs >正文

南通高端网站设计开发深建工程建设集团

南通高端网站设计开发,深建工程建设集团,东莞人才网站,WordPress免插件实现QQ咨询MQTT – 轻量级物联网消息推送协议 MQTT(Message Queuing Telemetry Transport)是机器对机器(M2M)/物联网(IoT)连接协议。它被设计为一个极其轻量级的发布/订阅消息传输协议。对于需要较小代码占用空间和/或网络带宽非常宝贵的远程连接非常有用&#xf…

MQTT – 轻量级物联网消息推送协议

MQTT(Message Queuing Telemetry Transport)是机器对机器(M2M)/物联网(IoT)连接协议。它被设计为一个极其轻量级的发布/订阅消息传输协议。对于需要较小代码占用空间和/或网络带宽非常宝贵的远程连接非常有用,是专为受限设备和低带宽、高延迟或不可靠的网络而设计。这些原则也使该协议成为新兴的“机器到机器”(M2M)或物联网(IoT)世界的连接设备,以及带宽和电池功率非常高的移动应用的理想选择。例如,它已被用于通过卫星链路与代理通信的传感器、与医疗服务提供者的拨号连接,以及一系列家庭自动化和小型设备场景。它也是移动应用的理想选择,因为它体积小,功耗低,数据包最小,并且可以有效地将信息分配给一个或多个接收器。  
在这里插入图片描述

特点

  • 开放消息协议,简单易实现
  • 发布订阅模式,一对多消息发布
  • 基于TCP/IP网络连接,提供有序,无损,双向连接。
  • 1字节固定报头,2字节心跳报文,最小化传输开销和协议交换,有效减少网络流量。
  • 消息QoS支持,可靠传输保证

应用

MQTT协议广泛应用于物联网、移动互联网、智能硬件、车联网、电力能源等领域。

  • 物联网M2M通信,物联网大数据采集
  • Android消息推送,WEB消息推送
  • 移动即时消息,例如Facebook Messenger
  • 智能硬件、智能家具、智能电器
  • 车联网通信,电动车站桩采集
  • 智慧城市、远程医疗、远程教育
  • 电力、石油与能源等行业市场

工作原理

Mqtt的工作原理可以概括为:MQTT 通过其两个主要组件来实现发布/订阅模型:客户端和代理

• 客户端(client)是发布或订阅消息的设备或应用程序,分别使它们成为所谓的发布者或订阅者。客户端可以向主题发布消息,主题是消息发送到的逻辑通道。订阅者可以是一个或多个客户端,接收发布到主题的消息。客户端也可以同时充当发布者和订阅者。

• 另一方面,代理端(broker)是在客户端之间路由消息的中间服务器。代理通过跟踪订阅和向订阅的客户端发布消息来管理客户端之间的消息分发。MQTT 客户端可以用多种编程语言实现,可以在各种硬件平台上运行,从低功耗微控制器到功能强大的服务器。代理可以部署在云端或本地,并且可以水平扩展以支持每秒数百万的设备和消息。阿里云、华为云、AWS 或 Azure 等超大规模应用程序都围绕其服务提供 MQTT 包装器,对 MQTT 协议提供不同级别的支持。

在这里插入图片描述

消息通过使用 MQTT 的代理与其他设备或软件共享。每条消息都有一个主题(Topic),Broker 可以根据该主题进一步处理消息。此外,每条消息都包含一个消息内容,即所谓的有效负载(payload)。MQTT 负载不绑定特定结构,可以自由设计。然而,为消息内容指定一个特定的结构是有帮助的,这样它就可以被其他设备或软件读取。潜在的消息结构可以是 JSON、XML 或 OPC UA。只要所有设备和软件都使用相同的结构进行通信,定义的结构就可以实现顺畅的内部通信
当订阅客户端失去与代理的连接时,代理可以 根据用例和实现 - 保留任何旨在发送给订阅者的消息,然后在订阅者重新连接时立即传递它们。这确保订阅者不会错过任何消息并以正确的顺序接收它们,在国内简称遗嘱机制。

MQTT协议特点

轻量、简单、开放,是低开销、低带宽占用的即时通讯协议。使用场景有:机器与机器(M2M)、物联网(IoT)。MQTT协议当前版本为:2014年发布的MQTT v3.1.1。除标准版外,还有一个简化版MQTT-SN,该协议主要针对嵌入式设备,这些设备一般工作于TCP/IP网络,如ZigBee。

使用的发布/订阅消息模式,它提供了一对多消息分发,以实现与应用程序的解耦。对负载内容屏蔽的消息传输机制。

对传输消息有三种服务质量(QoS):

  • QoS 0:最多一次,这一级别会发生消息丢失或重复,消息发布依赖于底层TCP/IP网络。即:<=1
  • QoS 1:最少一次(承诺消息将至少传送一次给订阅者),这一级别会确保消息到达,但消息可能会重复。即:>=1
  • QoS 2:只有一次(承诺消息仅传送到目的地一次),确保消息只有一次到达。即:=1。在一些要求比较严格的计费系统中,可以使用此级别

参考

https://blog.csdn.net/admans/article/details/137508355

https://www.cnblogs.com/wuyongyin/p/16178060.html

https://www.cnblogs.com/emqx/p/18535347

https://cloud.tencent.com/developer/article/2520461?frompage=seopage&policyId=20240001

QTMQTT

开源地址 https://code.qt.io/qt/qtmqtt.git
从上述地址拉取下来,然后根据当前使用的QT版本切换到对应的分支。

在这里插入图片描述

工程构建

打开工程文件:qtmqtt.pro

编译中可能会出错: “QtMqtt/qmqttglobal.h”: No such file or directory

将mqtt包里面src源码文件夹下所有头文件复制一份到 QT安装包目录下include/mqtt文件夹即可解决。

编译中可能会出错:perl.exe未安装找不到。
根据提示下载该文件或者本地查找是否有perl.exe程序,将路径配置到环境变量中使用即可。

环境配置

构建成功后

  1. 将mqtt包 构件目录里面的 lib中的文件全部复制到对应QT编译器的lib文件夹中

在这里插入图片描述

  1. 将mqtt包 构件目录里面的bin文件夹下的文件 复制到对应QT编译器的bin文件夹中

在这里插入图片描述

  1. 将mqtt包 构件目录里面的mkspecs文件夹下的modules或者modules-inst 文件夹下的文件复制到QT编译器对应的目录下

在这里插入图片描述

  1. 将mqtt包里面的 examples\mqtt\simpleclient文件夹复制一份到工程目录(即复制一份来实验),找开后,添加mqtt模块。将pro文件里面东西改成这样。执行qmake没有报错即可。

在这里插入图片描述

  1. 测试,打开example目录中的simpleClient测试程序。

在这里插入图片描述

官方提供了 test.mosquitto.org 和 broker.hivemq.com 两个测试地址),也可以使用自己的地址。下面进行一些测试:

State Change0 表示等待中

State Change2 表示已连接上。

在这里插入图片描述

  1. 接下来就可以构建自己的mqtt工程了。
http://www.dtcms.com/wzjs/597765.html

相关文章:

  • 地方门户网站盈利模式2023又要开始做核酸了
  • 电子商务网站开发形式有济南协会网站设计团队
  • 建设部网站查造价师品牌策划公司招聘
  • 免费的网站软件正能量推荐seo基础优化包括哪些内容
  • 小猪会飞网站建设二级域名做网站注意
  • hao123网站模板软件下载网站如何履行安全管理义务确保提供的软件
  • 近几天发生的新闻大事安徽seo网络推广
  • 做视频网站好做吗如何建立一个小程序的网站
  • 最便宜的重庆网站建设sasaki景观设计公司官网
  • 金溪县建设局网站wordpress优惠代码
  • jsp可以做网站吗网站建设需求范文
  • 花都网站建设信科网络网站开发的疑虑
  • 网上建设网站浦东网站开发培训班
  • 景安网站备案幕布静态网页开发工具
  • 儿童摄影网站源码网站建设好推荐
  • 网站做移动适配以后可以取消吗给wordpress替换主题
  • 东莞整合网站建设开发wordpress内存缓存插件
  • dede网站网页主页链接做网站首页的图片素材
  • discuz网站ip网站建设中效果
  • 建设银行泰州江洲路支行网站苏州网站建设设计制作公司怎么样
  • 河北建设网网站flash 网站视频
  • 网站编程入门教程制作网站公司价格
  • 做网站要学会什么语言网站建设市场价
  • 深圳哪家公司做网站房地产交易中心官网
  • jquery 动画网站最新装修设计效果图大全
  • 推送网站建设云南小程序开发首选品牌
  • 门户网站属于数字媒体吗大连网建科技
  • 一个人做商城网站手机端网站外部链接如何去优化
  • 景观毕业设计作品网站商城网站前台html模板
  • 才艺多网站建设平台网站开发结论