文档首页 > > API参考> API> 边缘设备管理> 注册边缘设备

注册边缘设备

分享
更新时间: 2019/11/11 GMT+08:00

功能介绍

该API用于注册一个边缘设备

URI

POST /v2/{project_id}/edgemgr/devices
表1 参数描述

参数

是否必选

描述

project_id

项目ID,获取方法请参见获取项目ID

请求消息

请求参数:
表2 参数描述

参数

是否必选

类型

描述

name

String

边缘设备名称,只允许中文字符、英文字母、数字、下划线、中划线,最大长度64

description

String

边缘设备描述,最大长度255,不允许^ ~ # $ % & * < > ( ) [ ] { } ' " \

attributes

Object

边缘设备静态属性,最多64个键值。

key为属性名称,value格式请参见表7,示例如下。

"attributes": {
            "username": {
                "value": "test",
                "optional": true,
                "metadata": {
                    "type": "string"
                }
            }
        }

connection_type

String

edge指非直连,mqtt指直连

access_protocol

String

访问协议,有如下选项:

  • userdefine:自定义协议
  • modbus:modbus协议
  • opc-ua:opc-ua协议

twin

Object

边缘设备动态属性,最多64个键值。

key为属性名称,value格式请参见表8,示例如下。

"twin": {
            "devicestate": {
                "optional": true,
                "expected": {
                    "value": "running"
                },
                "metadata": {
                    "type": "string"
                }
            }
        }

access_config

表25 object

访问配置,与access_protocol直接关联。

property_visitors

表26 object

孪生属性配置,与access_protocol关联。

tags

Array of 表28 objects

边缘节点标签,标签个数最多为20个。

请求示例:

{
    "device": {
        "access_protocol": "modbus",
        "name": "modbus_device",
        "connection_type": "edge",
        "description": "",
        "attributes": {},
        "twin": {
            "holding_register": {
                "expected": {
                    "value": "22"
                },
                "optional": "true",
                "metadata": {
                    "type": "int"
                }
            }
        },
        "property_visitors": {
            "holding_register": {
                "register_type": {
                    "value": "HoldingRegisters",
                    "optional": "true",
                    "metadata": {
                        "type": "string"
                    }
                },
                "data_min": {
                    "value": "0",
                    "optional": "true",
                    "metadata": {
                        "type": "int"
                    }
                },
                "data_max": {
                    "value": "222",
                    "optional": "true",
                    "metadata": {
                        "type": "int"
                    }
                },
                "access_mode": {
                    "value": "r/w",
                    "optional": "true",
                    "metadata": {
                        "type": "string"
                    }
                },
                "register_index": {
                    "value": "0",
                    "optional": "true",
                    "metadata": {
                        "type": "int"
                    }
                },
                "register_num": {
                    "value": "1",
                    "optional": "true",
                    "metadata": {
                        "type": "int"
                    }
                },
                "original_datatype": {
                    "value": "int16",
                    "optional": "true",
                    "metadata": {
                        "type": "string"
                    }
                },
                "expected_datatype": {
                    "value": "int",
                    "optional": "true",
                    "metadata": {
                        "type": "string"
                    }
                },
                "is_swap": {
                    "value": "false",
                    "optional": "true",
                    "metadata": {
                        "type": "boolean"
                    }
                },
                "is_registerswap": {
                    "value": "false",
                    "optional": "true",
                    "metadata": {
                        "type": "boolean"
                    }
                },
                "scale_index": {
                    "value": "1",
                    "optional": "true",
                    "metadata": {
                        "type": "float"
                    }
                },
                "sample_interval": {
                    "value": "1",
                    "optional": "true",
                    "metadata": {
                        "type": "int"
                    }
                }
            }
        },
        "access_config": {
            "protocol_name": {
                "value": "modbus_tcp",
                "optional": true,
                "metadata": {
                    "type": "string"
                }
            },
            "protocol_type": {
                "value": "TCP",
                "optional": true,
                "metadata": {
                    "type": "string"
                }
            },
            "ip": {
                "value": "10.10.10.10",
                "optional": true,
                "metadata": {
                    "type": "string"
                }
            },
            "port": {
                "value": "5981",
                "optional": true,
                "metadata": {
                    "type": "int"
                }
            },
            "slave_id": {
                "value": "22",
                "optional": true,
                "metadata": {
                    "type": "int"
                }
            }
        }
    }
}

响应消息

响应参数:
表3 参数描述

参数

类型

描述

device

表4

边缘设备详细信息

表4 device数据结构说明

名称

参数类型

说明

id

String

边缘设备ID

name

String

边缘设备名称

description

String

边缘设备描述

state

String

边缘设备的状态,非直连设备默认为unknown,直连设备为enable

last_online

String

边缘设备最后活跃时间

private_key

String

私钥

certificate

String

证书

ca

String

根证书

package

String

将 certificate/ca/private_key打成 tar.gz 的包,然后用 base64 编码

attributes

Object

边缘设备静态属性,最多64个键值。

key为属性名称,value格式请参见表7,示例如下。

"attributes": {
            "username": {
                "value": "test",
                "optional": true,
                "metadata": {
                    "type": "string"
                }
            }
        }

twin

Object

边缘设备动态属性,最多64个键值。

key为属性名称,value格式请参见表22,示例如下。

"devicestate":{ 
                      "expected":{ 
                           "value":"running", 
                           "metadata":{ 
                                "timestamp":1536822119463 
                                } 
                           }, 
                     "optional":true, 
                     "metadata":{ "type":"string" } 
                     }

project_id

String

项目ID

access_config

表25 object

访问配置,与access_protocol直接关联。

property_visitors

表26 object

孪生属性配置,与access_protocol关联。

connection_type

String

连接类型,非直连设备为edge,直连设备为mqtt

响应示例:

{
    "device": {
        "connection_type": "edge",
        "property_visitors": {
            "holding_register": {
                "access_mode": {
                    "optional": true,
                    "value": "r/w",
                    "metadata": {
                        "type": "string"
                    }
                },
                "scale_index": {
                    "optional": true,
                    "value": "1",
                    "metadata": {
                        "type": "float"
                    }
                },
                "expected_datatype": {
                    "optional": true,
                    "value": "int",
                    "metadata": {
                        "type": "string"
                    }
                },
                "register_type": {
                    "optional": true,
                    "value": "HoldingRegisters",
                    "metadata": {
                        "type": "string"
                    }
                },
                "register_index": {
                    "optional": true,
                    "value": "0",
                    "metadata": {
                        "type": "int"
                    }
                },
                "is_registerswap": {
                    "optional": true,
                    "value": "false",
                    "metadata": {
                        "type": "boolean"
                    }
                },
                "is_swap": {
                    "optional": true,
                    "value": "false",
                    "metadata": {
                        "type": "boolean"
                    }
                },
                "original_datatype": {
                    "optional": true,
                    "value": "int16",
                    "metadata": {
                        "type": "string"
                    }
                },
                "register_num": {
                    "optional": true,
                    "value": "1",
                    "metadata": {
                        "type": "int"
                    }
                },
                "data_min": {
                    "optional": true,
                    "value": "0",
                    "metadata": {
                        "type": "int"
                    }
                },
                "data_max": {
                    "optional": true,
                    "value": "222",
                    "metadata": {
                        "type": "int"
                    }
                },
                "sample_interval": {
                    "optional": true,
                    "value": "1",
                    "metadata": {
                        "type": "int"
                    }
                }
            }
        },
        "name": "modbus_device",
        "access_config": {
            "ip": {
                "optional": true,
                "value": "10.10.10.10",
                "metadata": {
                    "type": "string"
                }
            },
            "slave_id": {
                "optional": true,
                "value": "22",
                "metadata": {
                    "type": "int"
                }
            },
            "protocol_name": {
                "optional": true,
                "value": "modbus_tcp",
                "metadata": {
                    "type": "string"
                }
            },
            "port": {
                "optional": true,
                "value": "5981",
                "metadata": {
                    "type": "int"
                }
            },
            "protocol_type": {
                "optional": true,
                "value": "TCP",
                "metadata": {
                    "type": "string"
                }
            }
        },
        "twin": {
            "holding_register": {
                "expected": {
                    "value": "22",
                    "metadata": {
                        "timestamp": 1564382692081
                    }
                },
                "optional": true,
                "metadata": {
                    "type": "int"
                }
            }
        },
        "state": "unknown",
        "attributes": {},
        "id": "67877053-6b86-4764-af27-a55feaf6d24b",
        "description": ""
    }
}

状态码

状态码请参见状态码

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区