Internet of things equipment description method based on functional attributes

文档序号:1966039 发布日期:2021-12-14 浏览:19次 中文

阅读说明:本技术 一种基于功能属性的物联网设备描述方法 (Internet of things equipment description method based on functional attributes ) 是由 杨鲲 张亚玄 梅海波 于 2021-09-18 设计创作,主要内容包括:本发明涉及一种基于功能属性的物联网设备描述方法,包括:获取物联网设备的功能属性进行抽象表述,转换为设备实体;具体为:根据物联网设备服务与功能属性之间的三种对应关系将物联网设备服务映射为若干功能属性;根据物联网设备服务状态,将功能属性的数据类型划分为四种类型;将出现多次的相同的功能属性分配到不同的设备实体中;将设备实体通过JSON文本或字节序列的编码方式进行表示;通过设备实体实现所有设备的对外交互。本发明通过引入功能属性的概念,将物联网的异构设备按功能属性抽象,通过功能属性描述设备提供的功能,为物联网的上层系统提供了底层异构设备的统一视图,减少物联网系统的开发量,促进物联网的规模化发展。(The invention relates to a function attribute-based Internet of things equipment description method, which comprises the following steps: acquiring functional attributes of the Internet of things equipment, performing abstract expression, and converting the functional attributes into equipment entities; the method specifically comprises the following steps: mapping the Internet of things equipment service into a plurality of functional attributes according to three corresponding relations between the Internet of things equipment service and the functional attributes; dividing the data types of the functional attributes into four types according to the service state of the equipment of the Internet of things; the same function attribute which appears for a plurality of times is distributed to different equipment entities; expressing the equipment entity by a JSON text or byte sequence coding mode; and realizing the external interaction of all the devices through the device entity. According to the invention, by introducing the concept of the functional attributes, the heterogeneous devices of the Internet of things are abstracted according to the functional attributes, and the functions provided by the functional attribute description devices, a unified view of the bottom layer heterogeneous devices is provided for the upper layer system of the Internet of things, so that the development amount of the Internet of things system is reduced, and the large-scale development of the Internet of things is promoted.)

1. A method for describing Internet of things equipment based on functional attributes is characterized by comprising the following steps: the device description method comprises the following steps:

s1, acquiring the functional attributes of the Internet of things equipment for abstract expression, and converting the functional attributes into equipment entities; the method specifically comprises the following steps:

s11, mapping the Internet of things equipment service into a plurality of functional attributes according to the three corresponding relations between the Internet of things equipment service and the functional attributes;

s12, dividing the data types of the functional attributes into floating point types, integer types, character string types and null values according to the service state of the equipment of the Internet of things;

s13, distributing the same function attribute which appears for multiple times to different equipment entities;

s2, representing the equipment entity by a JSON text or byte sequence coding mode;

and S3, realizing the external interaction of all the devices through the device entity.

2. The Internet of things equipment description method based on the functional attributes as claimed in claim 1, wherein: after the Internet of things equipment starts to operate, the Internet of things gateway or the Internet of things platform at the user side sends an online message to contact with the Internet of things gateway or the Internet of things platform, and after the Internet of things gateway or the Internet of things platform receives the online message, equipment description information of the Internet of things equipment is obtained.

3. The internet of things device description method based on functional attributes as claimed in claim 2, wherein: the process of converting to a device entity and registering includes:

if the Internet of things equipment contains equipment description data, directly extracting the equipment description and sending the equipment description to an Internet of things gateway or an Internet of things platform; if the Internet of things equipment does not contain equipment description data but supports the acquisition of equipment information through a specific protocol, after the equipment information is acquired through the specific protocol, equipment description information is obtained through combination and sent to an Internet of things gateway or an Internet of things platform; if the Internet of things equipment does not contain equipment description data or does not have specific protocol support to acquire equipment information, sending identification information and type information of the Internet of things equipment to an Internet of things gateway or an Internet of things platform, if the Internet of things gateway or the Internet of things platform has equipment description corresponding to the Internet of things equipment, directly completing registration, otherwise, failing to register;

after the device description data is acquired and registered to the Internet of things gateway or the Internet of things platform, if the Internet of things device is accessed to the network through the Internet of things gateway, the Internet of things platform registers the Internet of things device to the Internet of things gateway and the user, and if the Internet of things device is directly connected to the Internet of things platform, the Internet of things platform registers the Internet of things device to the user.

4. The Internet of things equipment description method based on the functional attributes as claimed in claim 1, wherein: the three corresponding relations comprise a 1-to-1 relation, a 1-to-n relation and an n-to-1 relation; the 1-to-1 relationship is that the attributes in the source model are mapped into the destination model; the 1-pair n relation is that the attribute of the source model is split into attributes in a plurality of destination models; the n-to-1 relationship is that a plurality of attributes of the source model are combined into attributes in one destination model through calculation.

5. The Internet of things equipment description method based on the functional attributes as claimed in claim 1, wherein: the functional attributes are basic constituent elements of the equipment entity and are used for representing the corresponding state of the equipment of the Internet of things; the single function attribute represents a part or all of the state of the internet of things equipment at a certain moment of providing specific functions, and is described by one or more function attributes according to the function characteristics provided by the heterogeneous equipment.

6. The Internet of things equipment description method based on the functional attributes as claimed in claim 1, wherein: the device entity is used for expressing a single specific function or a plurality of function combinations of the Internet of things device, and comprises a device entity set and a function cluster set; each equipment entity in the equipment entity set represents partial functions of the current equipment entity, and the equipment entities form a hierarchical structure in such a way; the function cluster set represents a function cluster set of function attributes most closely related to the current device entity.

7. The Internet of things device description method based on the functional attributes as claimed in claim 6, wherein: the JSON coding mode comprises the steps that a device entity is expressed through a JSON object, a set of a plurality of device entities is expressed by a JSON array, a functional cluster is a JSON object and comprises a plurality of functional attributes expressed by the JSON object with a single key value pair; the key name in the functional attribute represented by the single key value pair is an attribute name, the value is a JSON array, and the JSON array comprises the value of the attribute and the control type to represent the necessary data of the functional attribute state.

8. The Internet of things device description method based on the functional attributes as claimed in claim 6, wherein: the function cluster is a set of function attributes, one or more function attribute sets which are associated with each other are embodied as one function cluster, and the function cluster set in the equipment entity represents context data of the equipment entity to which the function cluster set belongs.

9. The Internet of things equipment description method based on the functional attributes as claimed in claim 1, wherein: the encoding mode of the byte sequence comprises a byte array consisting of a device description header, a constant pool, a device function attribute list and a device entity list.

10. The internet of things device description method based on functional attributes as claimed in claim 9, wherein: the device function attribute list comprises device function attributes arranged in the size and sequence of the device function attribute list, and the device function attributes comprise the attribute names and the indexes of the attribute values in the constant pool, and the control types of the attributes and other extension data of the attributes;

the equipment entity list comprises equipment entities arranged in the size and sequence of the equipment entity list, and each equipment entity comprises an index of a functional attribute contained in the entity in the equipment functional attribute list and an index of a lower-layer entity in the list.

Technical Field

The invention relates to the technical field of communication networks, in particular to a function attribute-based Internet of things equipment description method.

Background

Various application systems in the existing internet of things are independent from each other, data of infrastructure such as sensor networks in various industries are limited in the industry and even in systems of a single company, and each system has different data models for describing equipment, so that the data are difficult to exchange among different systems, the systems cannot share information, the same information can be collected for multiple times, the homogenization problem occurs, and the bottom layer system is repeatedly laid, so that the resource waste is caused. In the same way, devices in the bottom internet of things system adopt different modes to communicate with the upper layer, different data formats and interfaces are used, and a large amount of development cost is needed when the bottom systems are connected. Therefore, a unified device view needs to be provided for various devices in the heterogeneous internet of things.

At present, a plurality of internet of things platforms exist, such as an Aliyun internet of things platform and a Huacheng cloud internet of things platform, and the platforms have a set of self-used equipment description in the platforms. However, most of the device descriptions are directed to platforms insensitive to computing and storage resources, such as an internet of things platform, and no specific scheme is provided for heterogeneous internet of things devices with various forms in the internet of things. Therefore, how to adapt to the internet of things platform and the internet of things device simultaneously through a device description mode can ensure the smooth use of the internet of things platform and meet the storage limit of the internet of things device, and the device description mode is a problem to be considered at the present stage.

Disclosure of Invention

The invention aims to overcome the defects in the prior art, provides a function attribute-based Internet of things equipment description method and overcomes the defects in the prior art.

The purpose of the invention is realized by the following technical scheme: an Internet of things device description method based on functional attributes comprises the following steps:

s1, acquiring the functional attributes of the Internet of things equipment for abstract expression, and converting the functional attributes into equipment entities; the method specifically comprises the following steps:

s11, mapping the Internet of things equipment service into a plurality of functional attributes according to the three corresponding relations between the Internet of things equipment service and the functional attributes;

s12, dividing the data types of the functional attributes into floating point types, integer types, character string types and null values according to the service state of the equipment of the Internet of things;

s13, distributing the same function attribute which appears for multiple times to different equipment entities;

s2, representing the equipment entity by a JSON text or byte sequence coding mode;

and S3, realizing the external interaction of all the devices through the device entity.

After the Internet of things equipment starts to operate, the Internet of things gateway or the Internet of things platform at the user side sends an online message to contact with the Internet of things gateway or the Internet of things platform, and after the Internet of things gateway or the Internet of things platform receives the online message, equipment description information of the Internet of things equipment is obtained.

The process of converting to a device entity and registering includes:

if the Internet of things equipment contains equipment description data, directly extracting the equipment description and sending the equipment description to an Internet of things gateway or an Internet of things platform; if the Internet of things equipment does not contain equipment description data but supports the acquisition of equipment information through a specific protocol, after the equipment information is acquired through the specific protocol, equipment description information is obtained through combination and sent to an Internet of things gateway or an Internet of things platform; if the Internet of things equipment does not contain equipment description data or does not have specific protocol support to acquire equipment information, sending identification information and type information of the Internet of things equipment to an Internet of things gateway or an Internet of things platform, if the Internet of things gateway or the Internet of things platform has equipment description corresponding to the Internet of things equipment, directly completing registration, otherwise, failing to register;

after the device description data is acquired and registered to the Internet of things gateway or the Internet of things platform, if the Internet of things device is accessed to the network through the Internet of things gateway, the Internet of things platform registers the Internet of things device to the Internet of things gateway and the user, and if the Internet of things device is directly connected to the Internet of things platform, the Internet of things platform registers the Internet of things device to the user.

The three corresponding relations comprise a 1-to-1 relation, a 1-to-n relation and an n-to-1 relation; the 1-to-1 relationship is that the attributes in the source model are mapped into the destination model; the 1-pair n relation is that the attribute of the source model is split into attributes in a plurality of destination models; the n-to-1 relationship is that a plurality of attributes of the source model are combined into attributes in one destination model through calculation.

The functional attributes are basic constituent elements of the equipment entity and are used for representing the corresponding state of the equipment of the Internet of things; the single function attribute represents a part or all of the state of the internet of things equipment at a certain moment of providing specific functions, and is described by one or more function attributes according to the function characteristics provided by the heterogeneous equipment.

The device entity is used for expressing a single specific function or a plurality of function combinations of the Internet of things device, and comprises a device entity set and a function cluster set; each equipment entity in the equipment entity set represents partial functions of the current equipment entity, and the equipment entities form a hierarchical structure in such a way; the function cluster set represents a function cluster set of function attributes most closely related to the current device entity.

The JSON coding mode comprises the steps that a device entity is expressed through a JSON object, a set of a plurality of device entities is expressed by a JSON array, a functional cluster is a JSON object and comprises a plurality of functional attributes expressed by the JSON object with a single key value pair; the key name in the functional attribute represented by the single key value pair is an attribute name, the value is a JSON array, and the JSON array comprises the value of the attribute and the control type to represent the necessary data of the functional attribute state.

The attribute control type comprises reading, writing and reporting. These control types can be combined with each other to form a new control type. Reading attribute description of the type to obtain the value of the function attribute; write type specification may modify the value of a functional attribute; the reporting type shows that the function attribute synchronizes the value of the attribute with the external part of the equipment according to the configured strategy.

The function cluster is a set of function attributes, one or more function attribute sets which are associated with each other are embodied as one function cluster, and the function cluster set in the equipment entity represents context data of the equipment entity to which the function cluster set belongs.

The encoding mode of the byte sequence comprises a byte array consisting of a device description header, a constant pool, a device function attribute list and a device entity list. The equipment description header comprises an equipment description Magic number, an equipment description times version number and an equipment description main version number; the constant pool comprises a constant pool size and constants arranged in sequence, and the data types of the constants comprise character strings, floating point numbers, integers and null values.

The device function attribute list comprises device function attributes arranged in the size and sequence of the device function attribute list, and the device function attributes comprise the attribute names and the indexes of the attribute values in the constant pool, and the control types of the attributes and other extension data of the attributes;

the equipment entity list comprises equipment entities arranged in the size and sequence of the equipment entity list, and each equipment entity comprises an index of a functional attribute contained in the entity in the equipment functional attribute list and an index of a lower-layer entity in the list.

The device entity can be used for representing the device itself, and can be called a top-level device entity, and comprises a function cluster set for expressing basic properties of the device and an internal device entity set for representing actual function context data; the basic attribute of the device comprises basic device data such as an identification code of the device, a network type of the device, a manufacturer of the device and the like.

The invention has the following advantages: a function attribute-based Internet of things equipment description method is characterized in that by introducing a concept of function attributes, heterogeneous equipment of the Internet of things is abstracted according to the function attributes, and functions provided by the function attribute description equipment provide a unified view of bottom-layer heterogeneous equipment for an upper-layer system of the Internet of things, so that the development amount of the Internet of things system is reduced, and the scale development of the Internet of things is promoted.

Drawings

FIG. 1 is an abstract block diagram of a device description of an equipment of an Internet of things for implementing the device description according to the present invention;

FIG. 2 is a flow chart of mapping actual physical devices to device descriptions provided by the present invention;

FIG. 3 is a block diagram of a device description JSON form according to an aspect of the present invention;

FIG. 4 is a diagram of a device description byte sequence structure according to an aspect of the present invention;

FIG. 5 is a diagram of an overall application architecture for a device description in a heterogeneous Internet of things system in accordance with an aspect of the present invention;

FIG. 6 is a diagram illustrating an overview of the equipment preparation process for an Internet of things system according to the present invention;

FIG. 7 is a flow chart of using the equipment of the Internet of things according to the general application block diagram of the equipment;

in the figure, 500-overall application architecture, 501-user side, 502-internet of things platform, 503-internet of things equipment provider, 511-terminal equipment of user, terminal equipment of user-internet of things gateway, 513-wireless sensor network, 514-wired communication network, 515-wired communication network, 521-internet of things cloud, 531-FODD template code and 532-local operation code.

Detailed Description

In order to make the objects, technical solutions and advantages of the embodiments of the present application clearer, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only a part of the embodiments of the present application, and not all the embodiments. The components of the embodiments of the present application, generally described and illustrated in the figures herein, can be arranged and designed in a wide variety of different configurations. Thus, the detailed description of the embodiments of the present application provided below in connection with the appended drawings is not intended to limit the scope of the claimed application, but is merely representative of selected embodiments of the application. All other embodiments, which can be derived by a person skilled in the art from the embodiments of the present application without making any creative effort, shall fall within the protection scope of the present application. The invention is further described below with reference to the accompanying drawings.

The invention provides a unified device view by a device description mode, is suitable for different application scenes by two coding modes, can ensure the smooth use of the Internet of things platform, and can meet the storage limit of the Internet of things device. The bottom layer device represents the function state of the current device through the device description, and provides an interface for the outside by means of the device description, so that the upper layer application can read the function state of the device and call the function through the operation on the function attribute. The upper application utilizes the view provided by the equipment description, so that the communication consistency of data among the systems is ensured, the communication cost among the systems is reduced, and the repeated construction of the bottom system is avoided.

The function attribute-based device description (FODD) is a device description for the functions of a device, and different attributes are combined into a function block to provide a specific function, and a plurality of function blocks are combined into an abstract description of an equipment in an internet of things by means of function modularization. The FODD has strong openness and expansibility, and can be used as a specification and a tool to design the Internet of things equipment in different scenes. The first step in describing heterogeneous devices is to understand the constituent structure of the device.

As shown in fig. 1, the top-level device entity is composed of a series of function clusters and their internal attributes, an internal device entity set, and device internal application logic, and performs information exchange through an external interface according to external requirements and internal application configuration, and the device abstraction entity may represent a specific hardware facility, or may represent software, or a function module embedded in hardware or software. Function clusters are basic components for realizing functions of equipment (such as a switching function, a regulating function and a color function), each function cluster is composed of a series of attributes, and the data states of the attributes show the current state of the function, for example, the switching attribute under the switching function cluster is on, which indicates that the equipment is in an on state. The temperature attribute under the metering function cluster is 20, which means that the ambient temperature measured by the device is 20 degrees celsius. The device abstraction entity may represent a physical hardware device, a software application internal to the device, or a mixture of both. Each abstract entity communicates with the outside world via a set of predefined interfaces to provide services to the outside world. The external part not only includes the upper layer application, but also includes the same-layer or even lower-layer equipment, that is, the equipment entity can communicate with all the equipment or applications calling the own functions through the external interface. The internal application implementation of the device is an extension made by the internet of things device based on functions, and provides richer representation modes (such as device data compression) and function implementation modes (such as periodic state reporting and external trigger state change) of the device, and the like, and the applications are matched with a cloud platform, edge computing devices, developers, users or other devices to complete specific tasks under the condition of resource limitation.

The FODD can be divided into a plurality of layers, wherein each layer has one or more device abstract entities for representing the overall functions of the current layer, and the abstract entities can contain a plurality of other abstract entities and function clusters which are owned by the abstract entities to form new entities. The hierarchical representation includes the device entities at the lower layer represented by the internal device entity set in each device entity, and the composition structure of all the device entities is consistent.

Taking a three-way switch in an intelligent home as an example, firstly, the three-way switch is identified by other parts of an internet of things system as an internet of things device, and basic information of the device needs to be added, such as device ID, device online identification, device manufacturer description, device firmware version, device network type, device network gateway, device basic model and other necessary functional attributes, and the basic functional attributes form a basic information functional cluster. Secondly, in order to describe the switching function of the device, the device further comprises three device entities, a switching function cluster is arranged in each entity, and each function cluster has a switching attribute to represent the switching state of each path. Finally, in order to realize the communication between the equipment and the outside, the switch function attribute in each switch function cluster corresponds to one control interface, and the control of the system on the states of the three switches is ensured.

Based on the analysis of the devices in the heterogeneous internet of things, a method for representing a device entity is provided below. A Device Entity (DE) may be represented by a quadruplet.

(AT,CL,RT,V)

AT (attribute), meaning attribute, one attribute corresponding to one leaf of the device model treeA child node having an irrevocable attribute, represented as a set denoted AT ═ AT0,at1,...,atn}。

CL (Cluster) means a function cluster which is a set of non-leaf nodes of the equipment model tree, wherein the function cluster consists of a plurality of attributes or other function clusters, and the set is represented as CL ═ { CL ═0,cl1,...,cln}。

The two sets have a dependent or parallel relationship, and are defined as functions RT (relationship). Two types of relationships are defined herein: contacts and with. Where contacts represent "subordinates", e.g. attribute at0Subject to functional cluster cl0(ii) a with peer-to-peer relationships, e.g. functional clusters cl0And functional cluster cl1Belonging to a device model.

V represents a value range, which describes the set of values of all attributes.

In order to implement the operation of the devices in the heterogeneous network, the devices under different networks and different applications need to be converted and mapped. Based on the scene, a mapping model of the heterogeneous equipment based on the equipment quadruple representation is provided.

Since different internet of things communication protocols have own data models, the equipment control in the heterogeneous network involves data conversion, and a certain cost is required to offset the difference. In order to reduce the cost required for offsetting the difference, the invention introduces a method for realizing the mapping and conversion between the devices under different internet of things protocols by adopting a device model. The essence of the mapping and conversion is to realize the uniform description of the equipment by taking the equipment model tree as an intermediate format, and realize the equipment intercommunication between two heterogeneous networks by two conversions. Firstly, mapping source data to be converted to DE to generate an intermediate data model, and then mapping the intermediate data model to a target network according to DE. Both of these conversions include two flows: 1) mapping between attributes of the source and destination models; 2) mapping over the value range of the source and destination models.

The attribute mapping is to ensure that data in the source model can be completely represented by a new model, and the mapping relation between the source model and the destination model is analyzed through semantics. The correspondence between the attributes of the source and destination models can be classified into the following three types:

(1)1 to 1 relationship. Attributes in the source model may be mapped directly to the destination model.

(2)1 to n relationship. The attributes of the source model need to be split into attributes in a plurality of target models.

(3) n to 1 relationship. Multiple attributes of a source model need to be computationally combined into attributes in one target model.

For source model A and target model B, attribute ataE.g. A, attribute atbE.g. B, a function description function Func is defined, Func (at) representing the functional meaning of the attribute at. The function definition ranges of the two attributes may be different, and may be classified as the same or included according to the size of the definition ranges. The same being denoted by the symbol ≡ including by the symbolAnd (4) showing. If it is

Func(ata)≡Func(atb)

Then call ataAnd atbHas a 1-to-1 relationship between them, and is expressed as

Map(ata)=atb

A function subset (cl) is defined, and the subset (cl) represents an attribute or a sub-function cluster under the acquisition function cluster (cl). For attribute ataE.g. A, attribute clbE.g. B, if

subset(clb)={ati|ati∈B}

Then call ataAnd AT ═ ATi|ati∈subset(clb) There is a 1 to n relationship between them, expressed as

Map(ata)=AT

For attribute set AT e A, attribute ATbE.g. B, if

Then say AT ═ ATi|atiE.g. A } and atbThe relation between n and 1 is expressed as

Map(AT)=atb

Value domain mapping refers to converting the type and value range of data in a source device model into the corresponding type and value range in a destination device model. Data types include 8/16/24/32 bit integers, strings, floating point numbers, etc., which can be computationally mapped between the two device models. The data type conversion is carried out while the mapping of two value ranges is also needed to be noticed, for example, the brightness value in the dimming lamp equipment is 8-bit integer, the value range is 0-255, the brightness value in the corresponding equipment model is a hundred, the type is a floating point number, and the value range is 0-1. Before the conversion operation of the attributes is performed, it is first required to verify whether the data types of the source model and the destination model are consistent, and if not, the data of the source model and the data of the destination model need to be matched through certain calculation, and then the matching condition of the value range is judged.

As shown in fig. 2, in S201, according to the three correspondence relationships between the actual physical device service and the function attribute, specifically, the 1-to-1 relationship, the 1-to-n relationship, and the n-to-1 relationship, the actual physical device service is mapped into a plurality of function attributes.

S202, according to the service state representation of the actual physical equipment, the data types of the functional attributes are divided into four types, namely floating point type, integer type, character string type and null value. The first three types directly represent the state data of the functional attribute at the current moment, and the null value represents that the functional attribute has no corresponding data. Generally, the pure action class function attribute will use null values, such as go, stop.

S203, the actual physical device may have a plurality of identical functional attributes, and such functional attributes appearing many times need to be distributed among different device entities, i.e. converted into a plurality of device entities.

Json (javascript object notation) is a lightweight data exchange format that is easy for human reading and writing. The data structure of JSON has two kinds, which are an object represented by a set of key-value pairs and an array structure. The functional clusters in the device entities in the coding scheme of the FODD are represented by key value pair sets, i.e., objects, and a plurality of entities or functional clusters are represented by arrays, and the additional attributes (e.g., control types) of the values of the functional attributes and the values form arrays.

The invention provides a JSON (FODD-JSON) representation specification of equipment model coding, which is provided for a cloud platform and an internet of things equipment provider to use, the cloud platform application carries out interaction through the description of a JSON structure, and the internet of things equipment provider realizes the registration of heterogeneous equipment through configuring the description of the JSON structure.

As shown in fig. 3, the device description JSON form is divided into three parts, namely, a function cluster object, a value description array, and an entity module set.

The function cluster object describes a function cluster in the device description and is represented in a mode of a key value pair set. Each key-value pair represents a function attribute, the key name is the name of the function attribute, and the value is embodied in an array form.

The value description array is the second part of the key value pair in the function cluster object, namely the value part, and describes each item content of the function attribute in an array mode, wherein the main content comprises an attribute value and an attribute control type. The first item of the array is the actual value of the function attribute, which is represented by a character string or a number according to the meaning of the function attribute, or may be a null value (null), for example, the actual value of the switch function attribute in the general class is represented by a number 0 or 1, and the product version as the natural identifier is represented by a character string. The second item of the array is a control type, and is represented by a bit vector with the length of 8 bits, and different positions represent different control types, including but not limited to reading, writing, reporting and the like. When multiple meanings need to be represented, the bits of multiple positions are set to be 1, for example, the read type is 0x01, the write type is 0x04, and the control type of the read-write type attribute is 0x 05. Thus, the value description array of the generic switch attribute may be represented as "[ 0,21 ]", where the first number represents the attribute value as 0 and the second represents the attribute as a read-write type. In general, the JSON array of the value part may contain other information needed to represent attributes in addition to the attribute values and attribute control types.

The entity module set is an array of entity modules, and the entity module (module) is a JSON object which comprises two parts of a function cluster object and an entity module set, and the nesting mode embodies the mutual nesting characteristic of the entities in the FODD model.

Compared with JSON expression specification of FODD, the invention provides Byte representation (FODD-Byte) of equipment model coding, and three points of optimization are realized compared with JSON representation. Firstly, an equipment model is expressed in a byte mode and is more suitable for embedded coding storage, and encryption is carried out in a form, so that a man in the middle who does not understand the equipment model can timely invade an Internet of things to intercept corresponding information and can not decode corresponding data; secondly, a constant pool, an attribute pool and an entity module pool are led out to store the same values, attributes and entity modules, and when needed, the lengths of codes are greatly compressed only by using corresponding constants, attributes or index serial numbers of the entity modules in the pools; finally, header information such as coding version is added, and different parsing schemes can be configured for different versions of codes.

As shown in fig. 4, all types of parameters in the device description byte sequence adopt a predefined structure, similar to the structure in the C language, the length of a single variable in the parameter structure is represented by a fixed length byte, and is represented by "UX", where "X" represents the length of a byte, for example, the length of "constant _ count" is two bytes. FODD-Byte is mainly divided into four parts: the device comprises a header, a constant pool, a device attribute list and an entity module list. These four sections are described in detail below.

The header is used for distinguishing the start of the code and the version of the code, so that the part has a magic part and a version part, wherein the magic is a fixed value of '0 x0ABA0 ABA', the length of the magic is 4 bytes, the magic is used for distinguishing the code start position, the version is divided into a major version number (major _ version) and a minor version number (minor _ version), and different resolution algorithms can be adopted for different versions of the code according to the version numbers.

The CONSTANT pool stores the values of the attributes in the device description, and the CONSTANT pool has four data structures, namely a String CONSTANT (CONSTANT _ String _ info), a floating-point CONSTANT (CONSTANT _ Double _ info), an Integer CONSTANT (CONSTANT _ Integer _ info) and a Null CONSTANT (CONSTANT _ Null _ info). Each structure body comprises a mark (tag) for identifying the type of the structure, and the four types are 1-4 respectively. The method comprises the steps that for a character string constant, the length and the data are also two parts, the length is a number expressed by two bytes and used for describing the byte length of a subsequent data byte array, the data part directly stores the character string, and the character string is encoded in a UTF-8 mode, so that the storage of all characters is guaranteed. For floating-point constants, the tag (tag) is followed directly by eight bytes long double precision floating-point data. For integer constants, similar to floating point constants, the flag is followed directly by eight bytes long integer data. For null constants, there is no need to bring any data, all with only one flag. The four constants are sequentially placed to form a constant pool, the length of the constant pool is an integer of two bytes, and the constant pool is placed between the constant pools, so that the constant pool can be analyzed conveniently.

The device attribute list describes all the functional attributes that the device contains. The structure of the functional attribute includes three fixed-length portions: control type, name index, value index. The control type is a bit variable with the length of one byte, 0x01 represents readable, 0x02 represents writable, and 0x10 represents reportable. The name index is a two-byte integer corresponding to a constant position in the constant pool, and the corresponding constant type is a character string due to the attribute name. The value index is similar to a name index, is a two-byte integer, corresponds to the position of the constant in the constant pool, has an indefinite attribute value type, and can correspond to each type in the constant pool. The problems of attribute name repetition and value content repetition are solved in an index mode.

The entity module list contains all entity modules in the device description model code. The entity module mainly comprises two parts, wherein one part is a list of attribute indexes and corresponds to an attribute set in JSON representation, each item in the list is a two-byte index and points to the attribute in the device attribute list, the other part is a lower-layer entity module list, and each item in the list is an index pointing to the entity module list. The last one in the list of entity modules represents the device entity corresponding to the whole device, i.e. the top-level device entity.

As shown in fig. 5, the overall application architecture 500 includes three subject frameworks, including a user side 501, an internet of things platform 502, and an internet of things device provider 503.

The user side 501 comprises a terminal device 511 of a user, an internet of things gateway 512 and various internet of things systems. The internet of things system includes, but is not limited to, a wireless sensor network 513, a wired communication network 514, and a wireless transmission network 515. The wireless communication system follows various wireless internet protocols, such as ZigBee, Wi-Fi and Bluetooth. The wired communication system conforms to a wired communication protocol, such as a serial communication protocol. Although the various internet of things systems in fig. 5 communicate with the gateway via a wireless connection or a wired connection, each device may also be configured to communicate directly with the internet of things platform 502. In the user side, a user sends a service request to the Internet of things platform through terminal equipment or directly sends a control command to the Internet of things gateway. The equipment information of various internet of things systems is synchronized to the gateway or directly sent to the internet of things platform, and the gateway and the internet of things platform perform data synchronization according to user requirements and terminal equipment of users.

The internet of things platform 502 serves as a middle layer, and the main functions include, but are not limited to, processing a service request of a user to match with a corresponding service, identifying a device description in the user-side internet of things system, sending a control command to a user-side device, processing a registration message of a device provider, and the like. The internet of things platform comprises various remote services represented by the internet of things cloud 521 for executing various functions, and functional modules of the internet of things platform include but are not limited to a functional device description analysis module for processing FODD in the internet of things, a user service matching module for processing user service requests, a functional device description data module for storing FODD, a functional device description registration synchronization module for providing services for the internet of things device, and a functional device description management module and a display module of the internet of things platform.

The internet of things device provider 503 provides various internet of things devices in the user side, and there are three processes for adding a new internet of things device: and the function design of the equipment of the Internet of things is communicated with the platform of the Internet of things to generate and register the description of the equipment of the Internet of things, and FODD is written into the equipment of the Internet of things. In step S531, the provider of the equipment in the internet of things needs to design a specific function of the equipment, and the specific function is represented by a corresponding function attribute. And step S532, registering the designed result to the Internet of things platform. After the product function attributes designed by the internet of things equipment provider are received by the internet of things platform, a corresponding FODD template code 531 is generated. After the device local operation code 532 is added to the FODD template code by the provider of the equipment in the internet of things in S533, the code can be compiled into firmware and burned into the equipment in the internet of things, so that the description of the equipment in the internet of things is written into the equipment.

As shown in fig. 6, in S601, the provider of the equipment in the internet of things designs the functional attributes of the equipment according to the business needs of the provider. The content of the functional attributes is represented by a device description coding scheme in a JSON format, including but not limited to attribute names, attribute initial values, attribute control types, and attribute identifications. After the design of the functional attributes is completed, different functional attributes need to be placed in different levels of device entities according to the characteristics of the product itself. Taking the intelligent three-way switch as an example, the top-level device entity corresponding to the whole device includes basic device information such as device online state, device identifier, device manufacturer, device type, etc. as functional attributes, and the set of these functional attributes is a functional cluster of the top-level device entity. The internal device entity set of the top device entity comprises three device entities representing switch functions, the function cluster of each device entity comprises a switch function attribute representing the switch function state of the entity, and the internal device entity set is empty. After the design work is completed, the provider of the equipment in the internet of things registers the designed description result of the equipment in the platform in the internet of things through an interface provided by the platform in the internet of things. And the Internet of things platform generates a template code containing the equipment description after receiving the equipment description and returns the template code to the manufacturer of the Internet of things equipment. The template codes include, but are not limited to, a device description byte array, a device description related management module, a FODD related message management module, a reserved device local control code registration interface, and the like.

In S602, the device provider adds the local control related code of the device based on the FODD template code obtained in S601, and then compiles and burns the code into the device. The local control related code includes, but is not limited to, modifying a function attribute value in the local device description when the device function state changes, reporting the function attribute value in the local device description when the device function state changes, and a corresponding local device action when the upper layer application modifies the function attribute value. The local device actions include but are not limited to chip pin IO changes, serial data output, PWM wave duty cycle changes, and the like.

As shown in fig. 7, in S701, after the device starts to operate, the device contacts with an internet of things gateway on the user side or directly contacts with an internet of things platform, and sends an online message. And after the Internet of things gateway or the Internet of things platform receives the online message, executing the identification process to acquire the equipment description information of the equipment. If the FODD equipment description data is contained in the equipment, the identification process directly extracts the equipment description and sends the equipment description to the Internet of things platform; if the equipment does not contain the equipment description data but supports the acquisition of the equipment information through a specific protocol, after the equipment information is acquired through the specific protocol, equipment description under an FODD mechanism is obtained through combination and sent to an Internet of things platform; if the equipment information is not stored in the equipment and the protocol does not support the acquisition of the equipment information, the identification information and the type information of the equipment are sent to the Internet of things platform, if the Internet of things platform has the equipment description of the corresponding equipment, the registration is directly completed, otherwise, the registration fails. After the device description data is acquired through the identification process and registered to the Internet of things platform, if the device is accessed to the network through the Internet of things gateway, the Internet of things platform registers the device to the Internet of things gateway and the user, and if the device is directly connected to the Internet of things platform, the Internet of things platform directly registers the device to the user.

In S702, the user sends a service request to the internet of things gateway or the internet of things platform according to the need of the user, and the internet of things gateway or the internet of things platform converts the service request into a plurality of device control commands after receiving the service request.

In S703, the internet of things gateway or the internet of things platform sends the device control command obtained by the conversion to the corresponding device, waits for the execution result of the device, and returns the result to the user. After this step is completed, it will return to S702 to wait for a new user service request.

Furthermore, those of skill in the art will appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the aspects disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present disclosure.

The various illustrative logical blocks, modules, and circuits described in connection with the aspects disclosed herein may be implemented or performed with a general purpose processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a core, or any other such configuration.

The methods, sequences and/or algorithms described in connection with the aspects disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in RAM, flash memory, ROM, EPROM, EEPROM, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor such the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC. The ASIC may reside in an internet of things device. In the alternative, the processor and the storage medium may reside as discrete components in a user terminal.

In one or more exemplary aspects, the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium. Computer-readable media includes both computer storage media and communication media, including any medium that facilitates transfer of a computer program from one place to another. A storage media may be any available media that can be accessed by a computer. By way of example, and not limitation, such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. Any connection is properly termed a computer-readable medium. For example, if the software is transmitted from a web site, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of medium. Disk (disk) and disc (disc), as used herein, includes CD, laser disc, optical disc, DVD, floppy disk and blu-ray disc where disks (disks) usually reproduce data magnetically, while discs (discs) reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media.

The foregoing is illustrative of the preferred embodiments of this invention, and it is to be understood that the invention is not limited to the precise form disclosed herein and that various other combinations, modifications, and environments may be resorted to, falling within the scope of the concept as disclosed herein, either as described above or as apparent to those skilled in the relevant art. And that modifications and variations may be effected by those skilled in the art without departing from the spirit and scope of the invention as defined by the appended claims.

18页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种基于分布式架构的云边协同数据采集系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类