一种基于制造技术

技术编号:39896623 阅读:9 留言:0更新日期:2023-12-30 13:10
本发明专利技术提供一种基于

【技术实现步骤摘要】
一种基于MQTT协议的软硬件数据传输方法


[0001]本专利技术涉及通信
,具体涉及一种基于
MQTT
协议的软硬件数据传输方法


技术介绍

[0002]MQTT(Message Queuing Telemetry Transport
,消息队列遥测传输协议
)
,是一种基于发布
/
订阅模式的“轻量级”通讯协议,作为一种低开销

低带宽占用的即时通讯协议,使其在物联网

小型设备

移动应用等方面有较广泛的应用

[0003]由于
HTTP
协议
(Hyper Text TransferProtocol
,超文本传输协议
)
必须由设备主动向服务器发送数据,难以主动向设备推送数据,比如对于频繁的操控场景,只能推过设备定期主动拉取的的方式,实现成本和实时性都大打折扣;而且
HTTP
是明文协议安全性不高,无法满足要求高安全性的物联网场景

因此专利技术一种基于
MQTT
协议的软硬件数据传输方法,以改善上述问题


技术实现思路

[0004]因此,本专利技术要解决的技术问题在于克服现有技术中的软硬件信息传输的实时性和可靠性的缺陷,从而提供一种基于
MQTT
协议的软硬件数据传输方法

[0005]为了解决上述问题,本专利技术提供一种基于
MQTT
协议的软硬件数据传输方法,其包括:
[0006]搭建
MQTT
服务器,建立
MQTT
服务器与
MQTT
客户端的连接,在建立连接的所述
MQTT
服务器和
MQTT
客户端之间进行数据传输;
[0007]所述连接的建立包括:
[0008]设置
MQTT
客户端的应答信息和连接状态的超时时间;
[0009]预设
MQTT
服务器发送的心跳消息和设置会话信息的清除条件;
[0010]创建会话消息发送规则并且设置消息质量;
[0011]创建连接过程和数据传输过程的回调机制,通过
MQTT
服务器以测试
MQTT
客户端

[0012]优选地,所述
MQTT
客户端的应答信息包括客户端
ID、
通信秘钥

协议标识和设备信息

[0013]优选地,所述连接状态的超时时间为:
[0014]所述
MQTT
服务器在第一时刻下向所述
MQTT
客户端发送信息,所述
MQTT
服务器在第二时刻接收到所述
MQTT
客户端返回的信息,所述第一时刻和第二时刻之间的差值为时刻差值,将所述时刻差值与预设的超时阈值进行比较,如所述时刻差值超出该预设超时阈值,则所述
MQTT
客户端与所述
MQTT
服务器连接超时

[0015]优选地,所述心跳消息为:
[0016]所述
MQTT
服务器根据不同时间节点向所述
MQTT
客户端发送信息,所述
MQTT
服务器根据接受到两次相邻的时间节点下的时间差与预设的时间阈值判断是否在区间内,是,则对应的当前
MQTT
客户端在线,否则,该
MQTT
客户端不在线

[0017]优选地,所述会话信息的清除条件为:
[0018]在所述
MQTT
客户端向所述
MQTT
服务器发起请求连接开始,到其连接中断或会话过期的即时消息,以选择是否将其清楚;
[0019]若是,判定所述
MQTT
客户端的在线情况,当
MQTT
客户端不在线时,所述
MQTT
服务器清除所述
MQTT
客户端的订阅主题的信息,当所述
MQTT
客户端重新与所述
MQTT
服务器建立连接时,生成新的订阅主题;若否,当所述
MQTT
客户端掉线后所述
MQTT
服务器不会清除会话,当重新连接后可以接收之前订阅主题的信息

[0020]优选地,创建会话消息发送规则并且设置消息质量:
[0021]设置质量等级,设置为0时,消息最多分发一次,消息发送完毕后立即删除;
[0022]设置为1,所述
MQTT
服务器至少发送一次,所述
MQTT
服务器将消息发出后存储,待所述
MQTT
客户端带所述应答信息回应,若,所述
MQTT
服务器没有接收到,则重新发送,直到回应到达后再把消息删除;
[0023]设置为2,所述
MQTT
客户端确保只接收到一次来自所述
MQTT
服务端的消息

[0024]优选地,所述创建连接过程和数据传输过程的回调机制为:通过编程语言的回调函数机制,设置连接丢失

接收消息和消息发送完成时的回调函数,所述回调函数包括:连接丢失回调函数

接收消息回调函数以及消息发送完成回调函数

[0025]优选地,通过
MQTT
服务端以测试
MQTT
客户端为:
[0026]测试所述
MQTT
客户端程序,启动
JAVA
程序,使用
MQTT
客户端实例调用发布方法,向指定主题发布消息,并后台打印出订阅的主题和接收的主题以及消息内容

[0027]本专利技术提供的一种基于
MQTT
协议的软硬件数据传输方法具有如下有益效果:
[0028]本专利技术通过搭建
MQTT
服务器并引入
MQTT
客户端并建立连接;它可以以极少的代码和有限的带宽小型传输,开销很小;为连接远程设备提供实时可靠的消息服务,另外
MQTT
支持客户标识

用户名和密码认证以及使用
TLS
加密通讯保证安全性,因此采用
MQTT
对接硬件数据是最可靠和具有实时性的方案

附图说明
[0029]图1为本专利技术的流程示意图

具体实施方式
[0030]如图1所示,本专利技术提供一种基于
MQTT
协议的软硬件数据传输方法,其包括:
[0031]搭建
MQTT
服务器,建立
MQTT<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种基于
MQTT
协议的软硬件数据传输方法,其特征在于,包括:搭建
MQTT
服务器,建立
MQTT
服务器与
MQTT
客户端的连接,在建立连接的所述
MQTT
服务器和
MQTT
客户端之间进行数据传输;所述连接的建立包括:设置
MQTT
客户端的应答信息和连接状态的超时时间;预设
MQTT
服务器发送的心跳消息和设置会话信息的清除条件;创建会话消息发送规则并且设置消息质量;创建连接过程和数据传输过程的回调机制,通过
MQTT
服务器以测试
MQTT
客户端
。2.
根据权利要求1所述的基于
MQTT
协议的软硬件数据传输方法,其特征在于:所述
MQTT
客户端的应答信息包括客户端
ID、
通信秘钥

协议标识和设备信息
。3.
根据权利要求1所述的基于
MQTT
协议的软硬件数据传输方法,其特征在于:所述连接状态的超时时间为:所述
MQTT
服务器在第一时刻下向所述
MQTT
客户端发送信息,所述
MQTT
服务器在第二时刻接收到所述
MQTT
客户端返回的信息,所述第一时刻和第二时刻之间的差值为时刻差值,将所述时刻差值与预设的超时阈值进行比较,如所述时刻差值超出该预设超时阈值,则所述
MQTT
客户端与所述
MQTT
服务器连接超时
。4.
根据权利要求1所述的基于
MQTT
协议的软硬件数据传输方法,其特征在于:所述心跳消息为:所述
MQTT
服务器根据不同时间节点向所述
MQTT
客户端发送信息,所述
MQTT
服务器根据接受到两次相邻的时间节点下的时间差与预设的时间阈值判断是否在区间内,是,则对应的当前
MQTT
客户端在线,否则,该
MQTT
客户端不在线
。5.
根据权利要求1所述的基于
MQTT
协议的软硬件数据传输方法,其特征在于:所述会...

【专利技术属性】
技术研发人员:马超张樱香张亚楠李武涛马小龙刘思杨
申请(专利权)人:陕西建工智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1