[发明专利]一种基于MQTT通信协议的串口复用方法和装置有效
申请号: | 202110948188.2 | 申请日: | 2021-08-18 |
公开(公告)号: | CN113595933B | 公开(公告)日: | 2023-04-28 |
发明(设计)人: | 李国朋;王志辉;辛海斌;支智勇;刘晓龙;芦斌;朱雅通;狄维娜;李琛磊;郭殿聪;何丹阳;申杨凡 | 申请(专利权)人: | 石家庄科林电气股份有限公司 |
主分类号: | H04L47/625 | 分类号: | H04L47/625;H04L47/6275 |
代理公司: | 石家庄众志华清知识产权事务所(特殊普通合伙) 13123 | 代理人: | 聂旭中 |
地址: | 050222 河北省*** | 国省代码: | 河北;13 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 mqtt 通信协议 串口 方法 装置 | ||
1.一种基于MQTT通信协议的串口复用方法,由MQTT服务器、串口管理进程以及需要操作串口的应用进程协同完成;
应用进程、串口管理进程与MQTT 服务器建立链接;应用进程向MQTT 服务器订阅“串口服务返回”主题,串口管理进程向MQTT 服务器订阅“串口服务发布”主题;
其特征在于,串口复用方法包括以下步骤:
数据发送:
1.1、当有串口发送信息需求时,应用进程发送“串口服务发布”主题至MQTT服务器,主题中包含该应用进程的name,负载包括串口信息、待发送的数据信息、超时时间,所述负载还包括优先级信息;
1.2、MQTT 服务器收到“串口服务发布”后,将“串口服务发布”主题转发至串口管理进程;
1.3、串口管理进程收到“串口服务发布”主题后,记录发布该主题的应用进程name并解析负载内容;按照负载内容要求,设置串口参数,然后将数据发送出去;按照要求的超时时间,等待接收回复内容;如果负载发送队列里有多个负载没有发送,在可以发送时,选择优先级最高的数据发送;
数据接收:
1.4、串口管理进程从串口收到回复后,判断收到的数据是否满足数据长度的要求,如果满足,发送“串口服务返回”主题至MQTT服务器,主题中包含应用进程的name,负载包括接收到的内容;否则,继续等待;
1.5、串口管理进程在要求的超时时间内未从串口收到回复,发送“串口服务返回”主题至MQTT服务器,主题中包含应用进程的name,负载包括超时未收到回复的指示信息;
1.6、MQTT 服务器收到“串口服务返回”后,将“串口服务返回”主题转发至应用进程。
2.根据权利要求1所述的串口复用方法,其特征在于,
步骤1.1中,所述的负载还包括待接收的数据长度。
3.根据权利要求1所述的串口复用方法,其特征在于,
步骤1.3中,串口管理进程收到“串口服务发布”后,记录发布该主题的应用进程name并解析负载内容,将name和负载内容存储到负载发送队列里;
如果串口管理进程还在等待接收内容回复且没有到达超时时间,继续等待,完成步骤1.4或1.5后,按照负载内容要求,设置串口参数,然后将数据发送出去;按照要求的超时时间,等待接收回复内容。
4.根据权利要求1所述的串口复用方法,其特征在于,还需要与串口连接的远端进程协同完成,
步骤1.3中,数据发送的同时,发送要求的超时时间;
远端进程收到数据后,根据要求发送回复信息;在要求的超时时间内未完成发送时,停止本次发送,等待下一次通信。
5.根据权利要求1所述的串口复用方法,其特征在于,串口管理进程管理1个以上的串口。
6.根据权利要求5所述的串口复用方法,其特征在于,每个串口的设置保持不变,所述设置包括波特率、数据位、停止位、校验位。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于石家庄科林电气股份有限公司,未经石家庄科林电气股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110948188.2/1.html,转载请声明来源钻瓜专利网。