您的位置:首页 > 新技术 >

一套基于pahomqtt1.1.0的MQTT客户端程序

2020-06-28 10:38:00 来源:电子说

目前,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

5G、AI、大数据的发展,对智慧城市会有什么影响

市场分调研机构Omdia的最新数据分析显示,全球智能城市人工智能(AI)软件市场将从6 738亿美元(2019年),在2025年将增长到4...

2020-04-07 17:55

机器人制造过程中的传感器技术之磁光效应传感器

现代电测技术日趋成熟,由于具有精度高、便于微机相连实现自动实时处理等优点,已经广泛应用在电气量和非电气量的测量中。

2020-04-07 17:56

微软不需要快速拥抱VR

微软经常在游戏领域开辟路径,扮演开拓者的角色,这一点体现在很多方面,包括微软的尖端技术(DX12终极版 DX光追),硬件(X...

2020-04-07 17:57

波音Starliner载人航天器再次展开测试

去年 12 月,波音为美国宇航局发射了未载人的 Starliner 航天器。然而由于技术问题,任务并没有按计划进行。作为 NASA ...

2020-04-07 17:58