目前,RT-Thread的paho-MQTT软件包是一个基于pahomqtt1.1.0设计的MQTT客户端程序。从论坛的实际使用和反馈来看,出现了以下问题:
仅支持Qos=1,不支持Qos=0和Qos=2。
数据传输中可能会出现数据包滞留现象;
功能配置少,资源占用高;
针对上述mqtt软件包的实际使用问题,RT-Thread引入了MQTT 2.0版软件包,即uMQTT软件包,该软件包符合MQTT 3.1.1协议规范,并对存在的问题进行了改进。
uMQTT软件包介绍
构架图解
Umqtt_框架图
功能特点
保持活力机制
UMQTT具有心跳断开和短时间内重试心跳连接的功能
在短时间内避免大量订阅发布消息和心跳请求之间的冲突
重新连接机制
多种重新连接机制可确保网络连接的稳定性。
在连接过程中,连接失败,并且进行了多次重新连接尝试
在保活机制失败后,会进行多次重新连接尝试
数据接收失败后,会进行多次重新连接尝试
多个客户端
同时兼容多个客户端,便于用同一设备连接多个服务器
同步异步
支持用户在复杂条件下订阅发布。
支持同步订阅发送功能,保证开发请求数据的同步
异步订阅发送,资源开销更少,系统任务运行速度更快。
QOS0/1/2
完美支持QOS 0/1/2订阅发布请求,使用户不再需要关心信息的重传机制,直接交给软件包进行处理
订阅出版物
支持基本的订阅和发布功能,实现mqtt协议指定的功能
可以配置和剪切多功能参数
参数功能,如重新连接时间间隔、重新连接次数、心跳周期、最大订阅数、保持活动机制、重新连接机制等。可以进行定制和配置,以满足开发人员在各种开发环境(如复杂性和简单性)中的需求。
小资源占用
所有功能均开启,占用空间小,适用于低资源的单片机
界面简单,使用方便
每个函数都有一个独立的接口,简单但完整,允许开发人员用最少的接口满足各种需求。
各种软件包的比较
UMQTT包获取
菜单配置获取软件包和示例代码
打开实时线程提供的环境工具,使用菜单配置来配置软件包,
启用uMQTT包并配置启用MQTT示例,如下面的:所示
1rt-ThreadOnLinePackages 2 IOT-internetofdings-3[*]UMQt: a轻量级、功能强大、可定制、易于使用且内置的lemqttclientforrt-thread。-4 [*]启用mqtt示例#以打开umqtt例程
使用pkgs - update命令下载软件包。
防控疫情的需求激发之下,代替人类送药、送餐送菜、消毒巡逻的无人车成了疫情期间的特殊尖兵。疫情过后,无人车配送是否...
2020-03-23 17:12市场分调研机构Omdia的最新数据分析显示,全球智能城市人工智能(AI)软件市场将从6 738亿美元(2019年),在2025年将增长到4...
2020-04-07 17:55现代电测技术日趋成熟,由于具有精度高、便于微机相连实现自动实时处理等优点,已经广泛应用在电气量和非电气量的测量中。
2020-04-07 17:56微软经常在游戏领域开辟路径,扮演开拓者的角色,这一点体现在很多方面,包括微软的尖端技术(DX12终极版 DX光追),硬件(X...
2020-04-07 17:57去年 12 月,波音为美国宇航局发射了未载人的 Starliner 航天器。然而由于技术问题,任务并没有按计划进行。作为 NASA ...
2020-04-07 17:58