CN112612475B - 一种实现物联设备仿真的方法 - Google Patents

一种实现物联设备仿真的方法 Download PDF

Info

Publication number
CN112612475B
CN112612475B CN202011566082.8A CN202011566082A CN112612475B CN 112612475 B CN112612475 B CN 112612475B CN 202011566082 A CN202011566082 A CN 202011566082A CN 112612475 B CN112612475 B CN 112612475B
Authority
CN
China
Prior art keywords
equipment
message
module
json
simulation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011566082.8A
Other languages
English (en)
Other versions
CN112612475A (zh
Inventor
范英川
陈梁
肖龙辉
陈勇洁
杨海龙
魏阳东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan Changhong Electric Co Ltd
Original Assignee
Sichuan Changhong Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sichuan Changhong Electric Co Ltd filed Critical Sichuan Changhong Electric Co Ltd
Priority to CN202011566082.8A priority Critical patent/CN112612475B/zh
Publication of CN112612475A publication Critical patent/CN112612475A/zh
Application granted granted Critical
Publication of CN112612475B publication Critical patent/CN112612475B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/427Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Abstract

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

Description

一种实现物联设备仿真的方法
技术领域
本发明涉及物联网设备的仿真技术领域,更具体的说是涉及一种实现物联设备仿真的方法。
背景技术
在物联网设备的监控系统中,需要接入大量的各种设备,在开发调试与测试中如果都采用实际设备,会受限于准备就绪的实际设备数量与种类。
目前出现的辅助监控系统开发的仿真设备方法,软件中针对设备的定义、功能逻辑实现,均采用程序编写实现,程序写定后,后续功能与逻辑修改无论多少都要改动程序,缺乏灵活性,维护起来麻烦。程序针对设备业务逻辑实现,当增加一种仿真设备种类时,都要重头实现其各种功能与接口,开发工作量与最初添加仿真设备种类一样没有减少。
发明内容
基于上述的设备仿真的问题,本专利提出一种实现物联设备仿真的方法,具体设备业务逻辑从程序提取分开的方法。定义一套规则,设备定义、设备提供的服务与功能等与业务逻辑相关的使用制定的规则编写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”时间触发,“deviceAction xxx",表示设备行为:采用随机方式每间隔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.setProperty:?onoff=<<$command>>",行为1:对控制消息指定的该设备的属性“onoff”修改,修改值为控制消息中对应“onoff”中的值,定义《$command》规则表示取命令消息中对应属性名的值。"action:1":"@me.invokeEvent:turnLightResponse",该控制消息的行为2:对该设备做事件上报,事件报告的名称“turnLightResponse”。在处理handler下面名为“turnLightResponse”中,定义处理的具体动作,例如组合回复协议格式与方式。如"name":"turnLightResponse","action:0":"@me.postResponse:cmd=0X8030&onoff=<<$device.onoff>>",开灯回复处理程序即事件上报配置中行为1:对应本设备的上报事件格式定义,回复cmd赋值0X8030,“onoff”变量取值为此设备“onoff”变量的值。
消息处理引擎解读的方式与配置文件配置规则约定好,例如上面举例所示。仿真软件中消息处理模块对收到的消息,不在程序中按逻辑去实现对指定设备“onoff”值做修改,而是找到读取的对应配置文件中消息处理方式,配置中有setProperty,按规则约定改变设备的属性值,改变的属性是配置中的“onoff”,读到@me及取当前表示设备的字符串《$command》取消息中相应字符串变量值。“@me.invokeEvent”解析要调用handler中“turnLightResponse”执行。
消息回复与状态上报协议处理模块和事件handler配置配合使用,实现对控制消息的回复,设备运行事件与状态的上报。配置事件handler如上面举例“turnLightResponse”所示,配置上报事件的协议组合格式,参数取值方式。事件状态处理模块根据配置,找到handler中对应索引,按规则将配置的json填入具体数据,再发送给所指的接收方。
设备行为配置与设备自运行模块配合,实现仿真设备运行时受外界环境影响、人为干涉等改变运行状态,而对所发生的事件状态上报反馈。比如模拟手动开灯,"type":"random",用随机的方式产生下列事件","gap":50000",间隔50s,“deviceAction lamp_1turnLightRequest",表示设备行为:采用随机方式每间隔50s对名称lamp_1的灯做开灯模拟,或者是"deviceProperty lamp_1onoff off",采用随机方式每间隔50s对名称lamp_1的灯”onoff”属性值修改为off。以上使用配置文件编写
设备自运行模块程序解析该配置,读到"gap":50000",“deviceAction lamp_1turnLightRequest"时,执行每间隔50s触发“device_name”键值为“lamp_1”的字符串对象“turnLightRequest”消息响应配置,根据配置修改该字符串对象“onoff”属性的值,同时执行envent handler配置。
如果新增类型的设备接收的设备网关等外界消息形式在设备仿真系统不能识别时,通过协议转换配置与软件转换模块来转换成设备仿真系统能识别的json,从而统一使用实现的仿真系统处理。比如消息处理模块通过查找消息中key为“msgid”中的值来找到配置文件中对应“msgid”下的配置解析执行对应响应方法。新增设备已有的控制消息中没有“msgid”这一项,而是“cmdid”,则在协议转换配置文件中配置"msgid":"@cmdid",程序中的转换模块按约定规则将消息中“cmdid”中的值转换给“msgid”key中的值。转换后的消息输入给消息响应模块即能识别与解析。
本专利设备仿真的方法,首先软件要实现一个设备运行引擎,包括设备管理模块,消息响应模块,设备自运行模块,协议转换模块;写设备的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”时间触发,“deviceAction xxx",表示设备行为:采用随机方式每间隔ttt时间做“xxx”消息动作。
设备自运行模块程序解析该自运行配置文件,根据规则执行动作,配置为与远程一致的消息控制即调取消息响应模块执行。
如图1所示,本提案的物联设备仿真方法实现的物联设备仿真系统,主要包括json配置文件,配置设备属性,设备消息响应,设备交互协议,协议转换,设备行为;仿真软件中由程序实现配置文件解析的设备运行引擎,包括设备管理、协议转换、设备自运行、设备消息处理、消息回复与状态上报协议处理模块。
设备运行引擎中设备管理模块,读取设备配置文件中具体对设备属性、设备状态配置与初始化,设备配置文件也配置要仿真的设备个数。设备管理模块以json形式读取设备配置,并按规则生成仿真设备实例,将具体设备实例数据存入设备文件或数据库。设备仿真系统运行起来更新的数据同时更新到设备存储文件。在第一次新生成设备实例后,重新启动设备管理模块只读取设备存储文件,加载设备运行已更新和保存的属性值与状态参数。
协议转换模块与协议转换配置文件配合实现协议的转换,将设备本身与设备交互的协议形式,转换成仿真系统中设备运行引擎能识别和处理的协议形式,后续在仿真系统中对所有仿真类型设备统一使用系统制定的规则解析。协议转换配置json文件配置具体转换方式,协议转换模块根据规则进行转换处理。
消息处理模块和设备的消息响应配置配合实现设备对外服务功能,即设备响应外部的控制、查询等消息。设备消息响应配置json配置每一条消息对应的响应方式,如改变指定属性值,改变某个运行状态,查询设备信息等,设备处理模块读取配置文件,根据消息识别码找到消息响应json段,逐步解析json段,根据规则做响应动作。
设备自运行模块和设备行为配置文件实现设备自身运行更新,模拟具体设备运行时受环境、人为状态改变。设备行为配置文件配置某一分类设备,或某一具体名称、具体id设备的运行动作触发调试、触发时间、触发方式、触发行为动作。设备运行模块读取行为配置文件,根据规则按触发条件和触发时间来做行为解析和动作实现。
事件上报、消息回复模块和设备事件hanler json配置做控制消息的具体回复和事件上报数据准备。配置文件配置具体交互数据协议形式和取值方式,程序模块读取配置文件,填入正确的数据,交由网络交互管理模块发送给指定方。
下面以灯为例具体实施步骤如下:
1)设备仿真系统运行时,系统启动设备管理模块,消息响应模块,设备自运行模块,协议转换模块。
2)设备管理模块读取该zigbee灯具的配置文件,以字符串对象形式加载各种属性与状态,按配置数量生成具体的设备字符串对象列表,并存储每个生成的设备在本地设备文件。当修改设备中某个状态值,以json中的某个键值查找和更新其中的值,不识别具体json的物理意义。
3)设备网关通过网络发送控制具体某个灯设备时,设备仿真系统通过网络模块接收数据。
4)网络模块将接收到的数据传给协议转换模块,协议转换模块读取协议转换配置文件,根据配置文件规则,判断接手到的该消息是否需要转换,需要转换就按照换成配置文件中转换方式,转换后即是设备仿真系统能处理的json串形式。
5)协议转换模块将转换后的消息传给消息响应模块,即图中所示的消息回复与事件上报模块,由消息响应模块解析消息响应配置文件,实现某具体设备收到特定消息后具体需要做的响应动作。消息响应模块找到收到消息中的控制消息设备对象和消息类型,即设备识别码设备id和消息识别码消息id。
6)当设备网关发送的控制消息中设备id为“lamp_1”,消息识别码为开灯请求,如具体定义为字符串”turnLightRequest”。消息响应模块在设备事件配置文件中根据提供的键值名“msgid”找到键值名为“msgid”,值为”turnLightRequest”的消息响应json串,执行”turnLightRequest”json对象中的具体配置动作。
7)”turnLightRequest”消息响应json中配置有"action:0":"@me.setProperty:?onoff=<<$command>>",表示行为1:“@me.setProperty”规则表示对消息制定的设备本身的属性值的修改;修改的属性名为“onoff”,《$command》表示取设备网关发送的消息中对应属性名的值,消息中包括“onoff”的键值,取其值赋给设备管理模块中维护的设备id为“lamp_1”设备json中。
8)消息响应配置文件中同时对该类型消息配置有"action:1":"@me.invokeEvent:turnLightResponse",表示控制消息的行为2:“@me.invokeEvent”对该设备做事件上报,事件报告的名称“turnLightResponse”。这时调取事件上报子模块做具体处理。
9)消息响应与事件上报模块中事件上报子模块读取事件handler配置文件中配置有名为“turnLightResponse”处理的具体动作,"name":"turnLightResponse","action:0":"@me.postResponse:cmd=0X8030&onoff=<<$device.onoff>>",表示开灯回复处理动作即事件上报配置中行为1:“@me.postRespons”对应本设备的上报事件格式定义,回复具体格式为cmd赋值0X8030,“onoff”变量取此设备“onoff”属性值。组装好具体协议数据后,调取网络管理模块回复给控制消息方的设备网关端。此时远程对具体设备控制响应流程已完成。
10)设备自运行模块按照设备行为配置文件的配置,实现仿真设备运行时受外界环境影响、人为干涉等运行状态改变,对配置有需要事件报告调用设备事件上报模块上报事件。
11)例如模拟本地手动开关灯,配置文件中配置"type":"random",用随机的方式产生以下事件","gap":50000",表示间隔50s,“deviceAction lamp_1turnLightRequest",表示设备行为:采用随机方式每间隔50s对名称lamp_1的灯做开灯模拟,或者配置"deviceProperty lamp_1onoff off",表示采用随机方式每间隔50s对名称lamp_1的灯”onoff”属性值修改为off。
设备自运行模块程序解析该配置,根据规则,每间隔50s触发设备lamp_1执行“turnLightRequest”,开灯行为采用与远程消息处理关联,即此处设备自运行模块调取设备事件上报模块,有设备事件上报模块采用上述的"turnLightRequest"消息响应流程,根据配置修改此ID设备“onoff”属性值,同时发出事件状态消息给该设备入网的设备网关。
以上所述仅为本发明较佳实例而已,本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。

Claims (2)

1.一种实现物联设备仿真的方法,其特征在于,将物联设备具体业务逻辑从程序中提取与分离出来,与具体业务逻辑相关的设备定义、设备提供的服务与功能的规则都由json配置文件配置,设备运行引擎只解析规则,不识别具体业务;json配置文件配置设备属性,设备消息响应,设备交互协议,协议转换,设备行为;仿真软件中由程序实现配置文件解析的设备运行引擎,包括协议转换、设备自运行、设备消息处理、消息回复与状态上报协议处理模块,从而实现物联设备仿真的方法,该方法具体包括以下步骤:
步骤1:设备仿真系统运行时,系统启动设备管理模块,消息响应与事件上报模块,设备自运行模块,协议转换模块;
步骤2:设备管理模块读取所有仿真设备的配置文件,以字符串对象形式加载每种设备的属性与状态,按配置数量生成具体的设备字符串对象列表,并存储每个生成的设备在本地设备文件;当修改设备中某个状态值,以json中的某个键值查找和更新其中的值,不识别具体json的物理意义;
步骤3:设备网关通过网络发送控制具体某个设备时,设备仿真系统通过网络模块接收到数据;
步骤4:网络模块将接收到的数据传给协议转换模块,协议转换模块读取协议转换配置文件,判断收到的该消息是否需要转换,需要转换就按配置文件中转换方式执行,转换后即是设备仿真系统能处理的json串形式;
步骤5:协议转换模块将转换后的消息传给消息响应模块,消息响应模块找到收到的消息中的控制设备对象和消息类型,即设备识别码设备id和消息识别码消息id;
步骤6:根据设备网关发送的控制消息中设备id,消息识别码,消息响应模块在对应类型设备事件配置文件中根据提供的键值名“msgid”找到该键值中值为收到的消息识别码的消息响应json串,执行该json的具体配置动作;
步骤7:消息响应json中配置修改该id设备中的某些属性、状态参数,和该消息识别码的回复事件码,属性修改值根据配置json来获取;消息响应与事件上报模块中事件上报子模块读取事件handler配置文件中配置有名为“xxx”处理的具体动作,表示回复处理动作即事件上报,“yyy”即为事件上报协议配置,消息响应与事件上报模块组装好具体协议数据后,调取网络管理模块回复给控制消息方的设备网关端;此时远程对具体设备控制响应流程已完成;
步骤8:设备自运行模块按照设备行为配置文件的配置,实现仿真设备运行。
2.根据权利要求1所述的一种实现物联设备仿真的方法,其特征在于,所述步骤7中,消息响应配置文件中配置有"@me.invokeEvent: xxx",表示对该设备收到消息类型做事件上报,xxx为具体事件上报识别码。
CN202011566082.8A 2020-12-25 2020-12-25 一种实现物联设备仿真的方法 Active CN112612475B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011566082.8A CN112612475B (zh) 2020-12-25 2020-12-25 一种实现物联设备仿真的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011566082.8A CN112612475B (zh) 2020-12-25 2020-12-25 一种实现物联设备仿真的方法

Publications (2)

Publication Number Publication Date
CN112612475A CN112612475A (zh) 2021-04-06
CN112612475B true CN112612475B (zh) 2022-03-15

Family

ID=75249242

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011566082.8A Active CN112612475B (zh) 2020-12-25 2020-12-25 一种实现物联设备仿真的方法

Country Status (1)

Country Link
CN (1) CN112612475B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113489639B (zh) * 2021-06-16 2022-12-02 杭州深渡科技有限公司 一种网关多接口的数据通信方法和系统
CN113904944A (zh) * 2021-09-28 2022-01-07 中通服创立信息科技有限责任公司 一种基于规则引擎实现物联网仿真数据生成的系统及方法
CN114020359B (zh) * 2021-11-08 2024-04-16 中国电子科技集团公司第二十八研究所 一种基于插件的分布式平台集成方法
CN118101494B (zh) * 2024-04-18 2024-06-25 清华大学 网络控制平面协议仿真方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106878163A (zh) * 2017-04-13 2017-06-20 冶金自动化研究设计院 一种多数据协议转换的物联网智能网关
CN110601912A (zh) * 2019-11-14 2019-12-20 紫光云(南京)数字技术有限公司 一种物联网网关数据仿真设计系统和方法
CN110598280A (zh) * 2019-08-28 2019-12-20 杭州友电科技有限公司 一种设备仿真系统和方法、计算机可读存储介质
CN111858373A (zh) * 2020-07-28 2020-10-30 杭州妙联物联网技术有限公司 一种基于动态模拟控制板串口协议的物联网应用测试方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105577439B (zh) * 2015-12-24 2018-09-28 江苏飞尚安全监测咨询有限公司 一种基于传感设备为基础的仿真模拟方法
EP3462705B1 (en) * 2017-09-27 2019-07-10 Siemens Aktiengesellschaft Provisioning of software applications on edge devices in an internet-of-things environment
CN110737439B (zh) * 2019-10-18 2022-07-22 四川长虹电器股份有限公司 基于规则文件的设备控制系统及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106878163A (zh) * 2017-04-13 2017-06-20 冶金自动化研究设计院 一种多数据协议转换的物联网智能网关
CN110598280A (zh) * 2019-08-28 2019-12-20 杭州友电科技有限公司 一种设备仿真系统和方法、计算机可读存储介质
CN110601912A (zh) * 2019-11-14 2019-12-20 紫光云(南京)数字技术有限公司 一种物联网网关数据仿真设计系统和方法
CN111858373A (zh) * 2020-07-28 2020-10-30 杭州妙联物联网技术有限公司 一种基于动态模拟控制板串口协议的物联网应用测试方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Underwater Acoustic Channel Propagation Module for Simulation of Large-Scale Sub-Aquatic Internet of Things (IoT) Networks in JiST/SWANS;A. Ghimire 等;《SoutheastCon 2018》;20181004;1-4 *
物联网多层设备信息通信数据分类识别仿真;魏葆春 等;《计算机仿真》;20190313;第36卷(第01期);425-428,436 *

Also Published As

Publication number Publication date
CN112612475A (zh) 2021-04-06

Similar Documents

Publication Publication Date Title
CN112612475B (zh) 一种实现物联设备仿真的方法
US10204034B2 (en) System and method for testing software applications in a software defined network
CN107766126B (zh) 容器镜像的构建方法、系统、装置及存储介质
CN110598280B (zh) 一种设备仿真系统和方法、计算机可读存储介质
CN113867913B (zh) 面向微服务的业务请求处理方法、装置、设备及存储介质
CN114115852A (zh) 可视化服务编排方法、装置、设备及介质
JP2013540308A (ja) 複合イベント処理におけるパラメータ化されたクエリ/ビューへのサポート
CN104424095A (zh) 一种移动终端的自动化测试方法和系统
CN109492181B (zh) 页面跳转方法、装置、计算机设备和存储介质
CN107003931B (zh) 将测试验证从测试执行分离
CN109241735A (zh) 一种基于漏洞扫描平台的持续集成方法
CN103176892A (zh) 一种页面监控方法及系统
Powell et al. The test and training enabling architecture (TENA)
CN112306887A (zh) 程序测试分发方法及其相应的装置、设备、介质
CN106027674A (zh) 一种互联网与智能制造相结合的架构系统
CN115794106A (zh) 一种轨道交通二进制协议数据配置式解析的方法及系统
CN113055408B (zh) 一种网络安全测试集成装置
CN107147630B (zh) 一种实现omci协议栈代码自动生成的方法及装置
KR20150080997A (ko) 마크업 언어(Markup Language)를 이용한 다중 전술데이터링크 메시지 처리 방법
Babac et al. AgentTest: A specification language for agent-based system testing
CN107103058B (zh) 基于Artifact的大数据服务组合方法及复合服务组合方法
KR100918840B1 (ko) 센서 네트워크를 구성하기 위한 타겟 센서 노드를 시험하는장치 및 그 방법
KR20090073061A (ko) 논리 프로세스 및 물리 프로세스 모델을 맵핑한 비즈니스 프로세스 모델을 관리하기 위한 시스템 및 방법
US20190196945A1 (en) Entity performance and usability analysis framework
CN116436750B (zh) 一种基于运维系统的设备配置管理方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant