一种实现物联设备仿真的方法技术

技术编号:27974621 阅读:24 留言:0更新日期:2021-04-06 14:08
本发明专利技术公开了一种实现物联设备仿真的方法,涉及物联网设备的仿真技术领域。具体设备业务逻辑从程序提取分开的方法,定义一套规则,设备定义、设备提供的服务与功能等与业务逻辑相关的使用制定的规则编写json配置实现,仿真软件程序针对规则解析json配置文件,从而实现设备仿真。该方法程序不识别、不编写具体设备属性与运行逻辑的代码,只要定义好规则,解析引擎一次性实现,后续增加仿真设备类型与数量,改变设备行为、协议修改,都修改json配置文件,不去修改程序,实现起来灵活简单,维护方便,大大提高效率,降低维护成本。

【技术实现步骤摘要】
一种实现物联设备仿真的方法
本专利技术涉及物联网设备的仿真
,更具体的说是涉及一种实现物联设备仿真的方法。
技术介绍
在物联网设备的监控系统中,需要接入大量的各种设备,在开发调试与测试中如果都采用实际设备,会受限于准备就绪的实际设备数量与种类。目前出现的辅助监控系统开发的仿真设备方法,软件中针对设备的定义、功能逻辑实现,均采用程序编写实现,程序写定后,后续功能与逻辑修改无论多少都要改动程序,缺乏灵活性,维护起来麻烦。程序针对设备业务逻辑实现,当增加一种仿真设备种类时,都要重头实现其各种功能与接口,开发工作量与最初添加仿真设备种类一样没有减少。
技术实现思路
基于上述的设备仿真的问题,本专利提出一种实现物联设备仿真的方法,具体设备业务逻辑从程序提取分开的方法。定义一套规则,设备定义、设备提供的服务与功能等与业务逻辑相关的使用制定的规则编写json配置实现,仿真软件程序针对规则解析json配置文件,从而实现设备仿真。该方法程序不识别、不编写具体设备属性与运行逻辑的代码,只要定义好规则,解析引擎一次性实现,后续增加仿真设备类型与数量,改变设备行为、协议修改,都修改json配置文件,不去修改程序,实现起来灵活简单,维护方便,大大提高效率,降低维护成本。为了实现上述目的,本专利技术采用以下技术方案:一种实现物联设备仿真的方法,包括以下步骤:步骤1:设备仿真系统运行时,系统启动设备管理模块,消息响应与事件上报模块,设备自运行模块,协议转换模块。步骤2:设备管理模块读取所有仿真设备的配置文件,以字符串对象形式加载每种设备的属性与状态,按配置数量生成具体的设备字符串对象列表,并存储每个生成的设备在本地设备文件。当修改设备中某个状态值,以json中的某个键值查找和更新其中的值,不识别具体json的物理意义。步骤3:设备网关通过网络发送控制具体某个设备时,设备仿真系统通过网络模块接收到数据。步骤4:网络模块将接收到的数据传给协议转换模块,协议转换模块读取协议转换配置文件,根据配置文件规则,判断收到的该消息是否需要转换,需要转换就按配置文件中转换方式执行,转换后即是设备仿真系统能处理的json串形式。步骤5:协议转换模块将转换后的消息传给消息响应模块,即图中所示的消息回复与事件上报模块,由消息响应模块解析消息响应配置文件,实现某具体设备收到特定消息后具体需要做的响应动作。消息响应模块找到收到的消息中的控制设备对象和消息类型,即设备识别码设备id和消息识别码消息id。步骤6:根据设备网关发送的控制消息中设备id,消息识别码,消息响应模块在对应类型设备事件配置文件中根据提供的键值名“msgid”找到该键值中值为收到的消息识别码的消息响应json串,执行该json的具体配置动作。步骤7:消息响应json中一般配置修改该id设备中的某些属性、状态参数,和该消息识别码的回复事件码,如"@me.setProperty:?规则表示对消息制定的设备本身的属性值的修改;后面跟具体待修改属性名字符串,属性修改值根据配置json来获取,一般是消息中传过来的具体值,此时例如使用《$command》配置获取消息中对应属性值。取其值赋给设备管理模块中维护的设备id为对应的设备json中。消息响应配置文件中配置有"@me.invokeEvent:xxx",表示对该设备该收到消息类型做事件上报,xxx为具体事件上报识别码。这时调取事件上报子模块做具体处理。消息响应与事件上报模块中事件上报子模块读取事件handler配置文件中配置有名为“xxx”处理的具体动作,例如"@me.postResponse:yyy",表示回复处理动作即事件上报,“yyy”即为事件上报协议配置,具体协议格式和取值方式均在此处配置完成。事件上报模块组装好具体协议数据后,调取网络管理模块回复给控制消息方的设备网关端。此时远程对具体设备控制响应流程已完成。步骤8:设备自运行模块按照设备行为配置文件的配置,实现仿真设备运行时受外界环境影响、人为干涉等运行状态改变,对配置有需要事件报告调用设备事件上报模块上报事件。例如配置文件中可配置"type":"random",用随机的方式产生以下事件","gap":ttt",表示间隔”ttt”时间触发,“deviceActionxxx",表示设备行为:采用随机方式每间隔ttt时间做“xxx”消息动作。设备自运行模块程序解析该自运行配置文件,根据规则执行动作,配置为与远程一致的消息控制即调取消息响应模块执行。本专利技术与现有技术相比具有的有益效果是:本专利技术提供的技术方案,首先制定好各种配置规则,程序中解析引擎按照规则实现解析,解析引擎只针对规则,不针对业务逻辑。具体设备的属性,设备运行方式,设备提供的服务都在配置文件中配置。增加设备时增加该类设备配置,设备消息响应配置,设备自运行配置,不改变系统软件的程序。大大提高后续增加设备仿真效率,写json配置文件比起修改程序相对简单,门槛降低,后续维护灵活,方便。附图说明图1为设备仿真系统的框图。具体实施方式下面结合实施例对本专利技术作进一步的描述,所描述的实施例仅仅是本专利技术一部分实施例,并不是全部的实施例。基于本专利技术中的实施例,本领域的普通技术人员在没有做出创造性劳动前提下所获得的其他所用实施例,都属于本专利技术的保护范围。实施例1:本提案的物联设备仿真方法实现的物联设备仿真系统,设备具体业务逻辑从程序中提取与分离出来,与具体业务相关的都由json配置文件配置,设备运行引擎只解析规则,不识别具体业务。主要包括json配置文件配置设备属性,设备消息响应,设备交互协议,协议转换,设备行为;仿真软件中由程序实现配置文件解析的设备运行引擎,包括协议转换、设备自运行、设备消息处理、消息回复与状态上报协议处理模块。配置设备属性包括记录设备特征与运行的具体参数,如设备类型,设备id,运行状态,网络参数及初始值,配置仿真各类型设备个数,设备运行引擎不定义和识别具体设备,只以一种json形式读取所有配置设备文件,定义规则"units"key为配置仿真设备个数,在初次运行时,由"units"键的值生成相应的设备实例个数,初始化设备参数。设备管理模块在其中存储json对象队列,程序中不知道设备有哪些属性,一个设备只是一串字符串存在,当需要操作具体某个设备时,提供设备识别方式,如“device_name”,在json字符串中找到“device_name”,再取其值匹配,将找到的json对象取出操作。设备消息响应配置文件中根据消息名称、消息id等与交互的消息制定一致的方式来区分,控制消息一般改变设备某个属性值,改变某个状态,获取某个参数等等,配置文件中对应消息识别名或id下面根据规则编写对某个设备属性、状态值做修改,并更新设备存储文件,例如消息响应"name":"turnLightRequest",表示开灯请求消息,该控制消息的行为有"action:0":"@me.本文档来自技高网...

【技术保护点】
1.一种实现物联设备仿真的方法,其特征在于,包括以下步骤:/n步骤1:设备仿真系统运行时,系统启动设备管理模块,消息响应与事件上报模块,设备自运行模块,协议转换模块;/n步骤2:设备管理模块读取所有仿真设备的配置文件,以字符串对象形式加载每种设备的属性与状态,按配置数量生成具体的设备字符串对象列表,并存储每个生成的设备在本地设备文件;当修改设备中某个状态值,以json中的某个键值查找和更新其中的值,不识别具体json的物理意义;/n步骤3:设备网关通过网络发送控制具体某个设备时,设备仿真系统通过网络模块接收到数据;/n步骤4:网络模块将接收到的数据传给协议转换模块,协议转换模块读取协议转换配置文件,判断收到的该消息是否需要转换,需要转换就按配置文件中转换方式执行,转换后即是设备仿真系统能处理的json串形式;/n步骤5:协议转换模块将转换后的消息传给消息响应模块,消息响应模块找到收到的消息中的控制设备对象和消息类型,即设备识别码设备id和消息识别码消息id;/n步骤6:根据设备网关发送的控制消息中设备id,消息识别码,消息响应模块在对应类型设备事件配置文件中根据提供的键值名“msgid”找到该键值中值为收到的消息识别码的消息响应json串,执行该json的具体配置动作;/n步骤7:消息响应与事件上报模块中事件上报子模块读取事件handler配置文件中配置有名为“xxx”处理的具体动作,表示回复处理动作即事件上报,“yyy”即为事件上报协议配置,消息响应与事件上报模块组装好具体协议数据后,调取网络管理模块回复给控制消息方的设备网关端;此时远程对具体设备控制响应流程已完成;/n步骤8:设备自运行模块按照设备行为配置文件的配置,实现仿真设备运行。/n...

【技术特征摘要】
1.一种实现物联设备仿真的方法,其特征在于,包括以下步骤:
步骤1:设备仿真系统运行时,系统启动设备管理模块,消息响应与事件上报模块,设备自运行模块,协议转换模块;
步骤2:设备管理模块读取所有仿真设备的配置文件,以字符串对象形式加载每种设备的属性与状态,按配置数量生成具体的设备字符串对象列表,并存储每个生成的设备在本地设备文件;当修改设备中某个状态值,以json中的某个键值查找和更新其中的值,不识别具体json的物理意义;
步骤3:设备网关通过网络发送控制具体某个设备时,设备仿真系统通过网络模块接收到数据;
步骤4:网络模块将接收到的数据传给协议转换模块,协议转换模块读取协议转换配置文件,判断收到的该消息是否需要转换,需要转换就按配置文件中转换方式执行,转换后即是设备仿真系统能处理的json串形式;
步骤5:协议转换模块将转换后的消息传给消息响应模块,消息响应模块找到收到的消息中的控制设备对象和消息类型,即设备识别码设备id和消息识别码消息id;
步骤6:根据设备网关发送的控制消息中设备id,消息识别码,消息响应模块在对应类型设备事件配置文件中根据提供的...

【专利技术属性】
技术研发人员:范英川陈梁肖龙辉陈勇洁杨海龙魏阳东
申请(专利权)人:四川长虹电器股份有限公司
类型:发明
国别省市:四川;51

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

1