一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种物联网智能电表的通信方法、装置、设备及存储介质与流程

2022-12-07 10:19:25 来源:中国专利 TAG:


1.本技术涉及物联网技术领域,特别是涉及一种物联网智能电表的通信方法、装置、设备及存储介质。


背景技术:

2.随着物联网技术的发展,物联网智能电表逐渐取代传统电表,其作为物联网技术发展产物,在房屋建筑、精密制造以及数据处理等领域都具有十分广泛的应用。
3.现有技术中,将智能电表与物联网模组结合,使得物联网智能电表的数据可以传送至云服务器。智能电表的微控制单元(microcontroller unit,mcu)和物联网模组通过注意力(attention,at)指令进行通讯,通过建立大量的程序状态寄存器和相关函数,实现物联网智能电表与云平台的通信。
4.然而,现有技术中上述智能电表的软件架构十分复杂,当需要更换不同的物联网模组的时候,新物联网模组使用的新at指令与旧at指令并不兼容,需要重新设计整个软件架构,进而导致在更换物联网模组的情况下,物联网智能电表的通信效率低。


技术实现要素:

5.基于上述问题,本技术提供了一种物联网智能电表的通信方法、装置、设备及存储介质。
6.本技术实施例公开了如下技术方案:
7.本技术实施例提供一种物联网智能电表的通信方法,包括:
8.将多个指令封装成多个待执行任务;
9.将所述多个待执行任务添加至任务队列中,获得任务表;
10.根据所述多个待执行任务的优先级,从所述任务表中确定目标任务,所述多个待执行任务的优先级是根据所述多个待执行任务的紧急程度确定的;
11.向物联网模组发送所述目标任务,以便所述物联网模组执行所述目标任务。
12.进一步地,所述根据所述多个待执行任务的优先级,从所述任务表中确定目标任务,具体为:
13.根据所述多个待执行任务的优先级,从所述任务表中确定优先级最高的待执行任务;
14.将所述优先级最高的待执行任务确定为所述目标任务。
15.进一步地,还包括:
16.若所述目标任务的执行时间超过预设执行时间,确定所述目标任务执行失败;
17.向所述任务表返还所述目标任务,将所述目标任务作为新的待执行任务;
18.将所述新的待执行任务的重试次数减少1次,获得更新后的重试次数;所述重试次数为允许所述目标任务执行失败的次数。
19.进一步地,还包括:
20.将所述新的待执行任务的重试次数减少后,降低所述新的待执行任务的优先级,获得所述新的待执行任务的更新后的优先级;
21.若所述更新后的重试次数等于0,从所述任务表中删除所述新的待执行任务。
22.进一步地,还包括:
23.根据异常检测项目,检测所述物联网模组的工作状态,获得所述物联网模组的异常状态持续时间;
24.若所述异常状态持续时间大于或等于预设持续时间,重启所述物联网模组。
25.进一步地,所述异常检测项目,包括:
26.判断所述物联网模组的硬件是否准备就绪、物联网智能电表的微控制模块和所述物联网模组是否能通讯、所述物联网模组能否建立连接以及所述物联网模组和云平台能否通讯。
27.进一步地,所述多个待执行任务包括配置任务、查询任务、主动上报任务和响应任务中的一个或多个;所述配置任务用于配置所述物联网模组的参数,所述查询任务用于查询所述物联网模组的信息,所述主动上报任务用于主动向云平台发送电表数据,所述响应任务用于响应于所述云平台的电表数据请求向所述云平台发送所述电表数据。
28.本技术实施例还提供一种物联网智能电表的通信装置,包括:
29.封装模块、获得模块、确定模块以及发送模块;
30.所述封装模块,用于将多个指令封装成多个待执行任务;
31.所述获得模块,用于将所述多个待执行任务添加至任务队列中,获得任务表;
32.所述确定模块,用于根据所述多个待执行任务的优先级,从所述任务表中确定目标任务,所述多个待执行任务的优先级是根据所述多个待执行任务的紧急程度确定的;
33.所述发送模块,用于向物联网模组发送所述目标任务,以便所述物联网模组执行所述目标任务。
34.进一步地,所述确定模块,具体用于:
35.根据所述多个待执行任务的优先级,从所述任务表中确定优先级最高的待执行任务;将所述优先级最高的待执行任务确定为所述目标任务。
36.进一步地,还包括:
37.确定失败模块、返还模块和减少重试次数模块;
38.所述确定失败模块,用于若所述目标任务的执行时间超过预设执行时间,确定所述目标任务执行失败;
39.所述返还模块,用于向所述任务表返还所述目标任务,将所述目标任务作为新的待执行任务;
40.所述减少重试次数模块,用于将所述新的待执行任务的重试次数减少1次,获得更新后的重试次数;所述重试次数为允许所述目标任务执行失败的次数。
41.进一步地,还包括:
42.降低模块和删除模块;
43.所述降低模块,用于将所述新的待执行任务的重试次数减少后,降低所述新的待执行任务的优先级,获得所述新的待执行任务的更新后的优先级;
44.所述删除模块,用于若所述更新后的重试次数等于0,从所述任务表中删除所述新
的待执行任务。
45.进一步地,还包括:
46.检测模块和重启模块;
47.所述检测模块,用于根据异常检测项目,检测所述物联网模组的工作状态,获得所述物联网模组的异常状态持续时间;
48.所述重启模块,用于若所述异常状态持续时间大于或等于预设持续时间,重启所述物联网模组。
49.进一步地,所述检测模块,用于:
50.根据异常检测项目,检测所述物联网模组的工作状态,获得所述物联网模组的异常状态持续时间,所述异常检测项目包括判断所述物联网模组的硬件是否准备就绪、物联网智能电表的微控制模块和所述物联网模组是否能通讯、所述物联网模组能否建立连接以及所述物联网模组和云平台能否通讯。
51.进一步地,所述封装模块,用于将多个指令封装成多个待执行任务,所述多个待执行任务包括配置任务、查询任务、主动上报任务和响应任务中的一个或多个;所述配置任务用于配置所述物联网模组的参数,所述查询任务用于查询所述物联网模组的信息,所述主动上报任务用于主动向云平台发送电表数据,所述响应任务用于响应于所述云平台的电表数据请求向所述云平台发送所述电表数据。
52.本技术实施例还提供一种计算机设备,所述计算机设备包括处理器以及存储器:
53.所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
54.所述处理器用于根据所述程序代码中的指令执行如上所述的一种物联网智能电表的通信方法的步骤。
55.本技术实施例还提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的一种物联网智能电表的通信方法的步骤。
56.相较于现有技术,本技术具有以下有益效果:
57.本技术通过将多个指令封装成多个待执行任务,将所述多个待执行任务添加至任务队列中,获得任务表,根据所述多个待执行任务的优先级,从所述任务表中确定目标任务,向物联网模组发送所述目标任务,以便所述物联网模组执行所述目标任务。由于本技术将指令封装成待执行任务,将多个待执行任务添加至任务队列中,通过调用任务队列中的待执行任务即可实现物联网智能电表的各项功能,当需要更换物联网模组的时候,新物联网模组的新指令同样是封装成待执行任务,并不需要重新设计软件架构,使得在更换物联网模组的情况下,物联网智能电表的通信效率得到提高。
附图说明
58.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
59.图1为本技术实施例提供的一种物联网智能电表的通信方法的流程图;
60.图2为本技术实施例提供的确定目标任务的流程图;
61.图3为本技术实施例提供一种物联网智能电表的通信装置的结构示意图。
具体实施方式
62.正如前文描述,目前如何在更换物联网模组的情况下,提高物联网智能电表的通信效率成为本领域技术人员亟待解决的技术问题。
63.发明人经过研究发现,现有技术中智能电表的软件架构十分复杂,需要建立大量的标志位和相关函数实现各种功能,导致程序流程复杂且凌乱,进而当更换物联网模组的时候,新物联网模组使用的新at指令,和旧at指令通常并不兼容,在这种情况下,需要重新设计整个软件程序架构,才可实现物联网智能电表的通信。由此,当需要更换物联网模组的时候,由于新物联网模组使用的新at指令与旧at指令并不兼容,需要重新设计整个软件架构,进而导致在需要更换物联网模组的情况下,物联网智能电表的通信效率低。
64.本技术引入任务调度概念,通过将指令封装成待执行任务,将多个待执行任务添加至任务队列中,当需要实现物联网智能电表的某项功能时,调用任务队列中对应的待执行任务即可。在更换物联网模组的时候,只需将新物联网模组的新指令封装成待执行任务,不需要重新设计软件架构。因此,本技术能够在更换物联网模组的情况下,使得物联网智能电表的通信效率得到提高。
65.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
66.本技术实施例提供一种物联网智能电表的通信方法,包括步骤101~步骤104。参见图1,该图为本技术实施例提供的一种物联网智能电表的通信方法的流程图。
67.步骤101:将多个指令封装成多个待执行任务。
68.智能电表的mcu和物联网模组是通过指令进行通讯的,在开发物联网智能表新项目或者考虑成本等情况下,时常需要更换物联网模组,在更换物联网模组的时候,只需将新物联网模组的新指令封装成待执行任务即可,不需要重新设计软件架构。例如:当将移动热点(wi-fi)模组更换成4g模组时,将wi-fi模组的指令替换为4g模组的指令即可。通过将多个指令封装成多个待执行任务,便于后续获取任务表。
69.步骤102:将所述多个待执行任务添加至任务队列中,获得任务表。
70.获得任务表,以便后续从任务表中确定目标任务。
71.步骤103:根据所述多个待执行任务的优先级,从所述任务表中确定目标任务,所述多个待执行任务的优先级是根据所述多个待执行任务的紧急程度确定的。
72.具体地,在软件设计阶段,会评估各种类型的待执行任务的紧急程度,预设优先级。优先级在程序设计中可以用一个数字表示,数字越小优先级越高。需要说明的是,在本实施例中不对优先级在程序设计中如何表示做具体的限定。可以根据多个待执行任务的优先级,从所述任务表中确定一个目标任务,例如将任务表中的多个待执行任务中优先级最高的待执行任务确定为目标任务,以便物联网模组可以先执行该目标任务。
73.步骤104:向物联网模组发送所述目标任务,以便所述物联网模组执行所述目标任
务。
74.综上所述,本技术实施例通过将多个指令封装成待执行任务,将多个待执行任务添加至任务队列中,确定目标任务后,向物联网模组发送所述目标任务,以便所述物联网模组执行所述目标任务。由此,在更换物联网模组的时候,只需将新物联网模组的新指令封装成待执行任务即可,相比于现有技术中在更换新物联网模组时,需要重新设计软件架构的方法,本技术实施例提供的方法对于物联网智能电表的软件设计具有普遍适用性,能够在需要更换物联网模组的情况下,有效提高物联网智能电表的通信效率。
75.进一步地,上述步骤103具体可以通过步骤201~步骤202实现,参见图2,该图为本技术实施例提供的确定目标任务的流程图。
76.步骤201:根据所述多个待执行任务的优先级,从所述任务表中确定优先级最高的待执行任务。
77.步骤202:将所述优先级最高的待执行任务确定为所述目标任务。
78.具体地,待执行任务,可以是配置任务、查询任务、主动上报任务和响应任务等中的一个或多个。
79.其中所述配置任务用于配置物联网模组的参数,例如:测试能否和物联网模组通讯、设置云平台域名、设置登录帐号和密码以及查询物联网模组是否成功连接到云平台等。同时,对于不同类型的物联网模组,配置的参数可能会有差异。查询任务用于查询物联网模组的信息,例如无线信号强度以及物联网模组的连接状态等。主动上报任务用于主动向云平台发送电表数据。响应任务用于响应于所述云平台的电表数据请求向所述云平台发送所述电表数据,例如云平台主动向物联网智能电表发送数据请求,对物联网智能电表进行拉闸、合闸、读取物联网智能电表数据等操作,物联网智能电表收到这些数据请求后把结果返回云平台。
80.具体地,例如任务表中有响应任务和查询任务,根据待执行任务的紧急程度,响应任务被赋予高优先级,查询任务被赋予普通优先级,相比之下,响应任务成为任务表中优先级最高的待执行任务,则将响应任务确定为目标执行任务。
81.进一步地,本技术实施例提供的方法还包括步骤301~步骤303。
82.步骤301:若所述目标任务的执行时间超过预设执行时间,确定所述目标任务执行失败。
83.具体地,目标任务配置有对应的预设执行时间,在目标任务的执行阶段,检查目标任务的执行时间是否超过预设执行时间,若所述目标任务的执行时间超过了预设执行时间,则认为目标任务执行失败。
84.步骤302:向所述任务表返还所述目标任务,将所述目标任务作为新的待执行任务。
85.具体地,在目标任务执行失败后,将目标任务返还至任务表,将目标任务作为新的待执行任务,以便根据当前任务表中的多个待执行任务,重新确定新的目标任务,以防该被返还的原目标任务一直抢占着任务系统。
86.步骤303:将所述新的待执行任务的重试次数减少1次,获得更新后的重试次数;所述重试次数为允许所述目标任务执行失败的次数。
87.目标任务的重试次数是预先设置的,表示允许该目标任务执行失败的次数。目标
任务不同,对应的重试次数可能不一样。在确定目标任务执行失败之后,将目标任务作为新的待执行任务,将其重试次数减少1次,获得更新后的重试次数。
88.进一步地,还包括步骤401~步骤402。
89.步骤401:将所述新的待执行任务的重试次数减少后,降低所述新的待执行任务的优先级,获得所述新的待执行任务的更新后的优先级;
90.具体地,将新的待执行任务的重试次数减少后,降低新的待执行任务的优先级,在新的待执行任务的优先级改变之后,根据新的待执行任务的更新后的优先级以及任务表中的其他待执行任务的优先级,重新确定新的目标任务。例如:当新的待执行任务的更新后的优先级不是任务表中优先级最高的,可以重新确定新的目标任务,从而本技术实施例可以让其他待执行任务也有被确定为目标任务的机会,防止高优先级任务一直抢占着任务系统。
91.步骤402:若所述更新后的重试次数等于0,从所述任务表中删除所述新的待执行任务。
92.若更新后的重试次数等于0,从任务表中删除新的待执行任务。以便后续重新确定目标任务,以防执行失败的目标任务一直抢占任务系统,无法执行其他待执行任务。
93.本技术实施例在目标任务执行失败后,将执行失败的目标任务返回任务表,将其作为新的待执行任务,并采用降低该新的待执行任务的优先级或者从任务表中删除这个新的待执行任务的方法,防止了执行失败的目标任务一直抢占任务系统,提高了物联网智能电表运行的稳定性。
94.进一步地,还包括步骤501~步骤502。
95.步骤501:根据异常检测项目,检测所述物联网模组的工作状态,获得所述物联网模组的异常状态持续时间。
96.物联网模组经常会出现各种异常状况,比如:物联网模组自身软件故障,导致物联网模组死机、掉线,或者用电环境恶劣,如强磁等的外部干扰,也会导致物联网模组死机。为使物联网智能电表能够可靠地运行,需要考虑到因各种意外因素导致的物联网模组死机、掉线等情况。为此,本技术实施例可以根据异常检测项目,检测所述物联网模组的工作状态。
97.具体地,所述异常检测项目,包括判断所述物联网模组的硬件是否准备就绪、物联网智能电表的微控制模块和所述物联网模组是否能通讯、所述物联网模组能否建立连接以及所述物联网模组和云平台能否通讯。
98.步骤502:若所述异常状态持续时间大于或等于预设持续时间,重启所述物联网模组。
99.为了物联网智能电表能够在出现各种异常状况时,可以尽快恢复正常工作。在通过步骤501,获得所述物联网模组的异常状态持续时间后,若物联网模组的异常状态持续时间大于或等于预设持续时间,重启物联网模组,以使物联网模组可以恢复正常工作。
100.本技术实施例还提供一种物联网智能电表的通信装置,参见图3,该图为本技术实施例提供一种物联网智能电表的通信装置的结构示意图,其具体实现方式与上述方法的实施例中记载的实施方式、所达到的技术效果一致,部分内容不再赘述。
101.一种物联网智能电表的通信装置,包括:
102.封装模块1101、获得模块1102、确定模块1103以及发送模块1104;
103.所述封装模块1101,用于将多个指令封装成多个待执行任务;
104.所述获得模块1102,用于将所述多个待执行任务添加至任务队列中,获得任务表;
105.所述确定模块1103,用于根据所述多个待执行任务的优先级,从所述任务表中确定目标任务,所述多个待执行任务的优先级是根据所述多个待执行任务的紧急程度确定的;
106.所述发送模块1104,用于向物联网模组发送所述目标任务,以便所述物联网模组执行所述目标任务。
107.本技术实施例通过将多个指令封装成待执行任务,将多个待执行任务添加至任务队列中,在确定目标任务后,向物联网模组发送所述目标任务,以便所述物联网模组执行所述目标任务。由此,在更换物联网模组的时候,只需要将新物联网模组的新指令封装成待执行任务即可,不再需要重新设计软件架构,进而在更换物联网模组的情况下,也可以保证物联网智能电表的通信效率。
108.进一步地,所述确定模块1103,具体用于:
109.根据所述多个待执行任务的优先级,从所述任务表中确定优先级最高的待执行任务;将所述优先级最高的待执行任务确定为所述目标任务。
110.进一步地,还包括:
111.确定失败模块、返还模块和减少重试次数模块;
112.所述确定失败模块,用于若所述目标任务的执行时间超过预设执行时间,确定所述目标任务执行失败;
113.所述返还模块,用于向所述任务表返还所述目标任务,将所述目标任务作为新的待执行任务;
114.所述减少重试次数模块,用于将所述新的待执行任务的重试次数减少1次,获得更新后的重试次数;所述重试次数为允许所述目标任务执行失败的次数。
115.进一步地,还包括:
116.降低模块和删除模块;
117.所述降低模块,用于若所述更新后的重试次数大于0,降低所述目标任务的优先级,获得所述目标任务的更新后的优先级;
118.所述删除模块,用于若所述更新后的重试次数等于0,从所述任务表中删除所述目标任务。
119.进一步地,还包括:
120.检测模块和重启模块;
121.所述检测模块,用于根据异常检测项目,检测所述物联网模组的工作状态,获得所述物联网模组的异常状态持续时间;
122.所述重启模块,用于若所述异常状态持续时间大于或等于预设持续时间,重启所述物联网模组。
123.进一步地,所述检测模块,用于:
124.根据异常检测项目,检测所述物联网模组的工作状态,获得所述物联网模组的异常状态持续时间,所述异常检测项目包括判断所述物联网模组的硬件是否准备就绪、物联
网智能电表的微控制模块和所述物联网模组是否能通讯、所述物联网模组能否建立连接以及所述物联网模组和云平台能否通讯。
125.进一步地,所述封装模块1101,用于将多个指令封装成多个待执行任务,所述多个待执行任务包括配置任务、查询任务、主动上报任务以及响应任务;所述配置任务用于配置所述物联网模组的参数,所述查询任务用于查询所述物联网模组的信息,所述主动上报任务用于主动向云平台发送电表数据,所述响应任务用于响应于所述云平台的电表数据请求向所述云平台发送所述电表数据。
126.本技术实施例还提供一种计算机设备,所述计算机设备包括处理器以及存储器:
127.所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
128.所述处理器用于根据所述程序代码中的指令执行如上所述的一种物联网智能电表的通信方法的步骤。
129.本技术实施例还提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的一种物联网智能电表的通信方法的步骤。
130.需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备及存储介质实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置、设备及存储介质实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元提示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
131.以上所述,仅为本技术的一种具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应该以权利要求的保护范围为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献