- 最新动态
- 产品介绍
- 快速入门
- 用户指南
- 开发指南
- 最佳实践
- API参考
- SDK参考
- 场景代码示例
-
常见问题
- 概念相关
-
节点管理
- 安装专业版节点异常如何处理?
- 安装专业版节点,执行安装命令时失败,一直提示“edgedaemon not found"?
- 安装专业版节点失败,提示“edge_core has existed”,该如何处理?
- 专业版节点所在机器断网/断电一段时间后恢复,节点模块一直处于“部署中”怎么处理?
- 专业版节点欠费充值后,部署、升级模块仍然报错?
- MQTT设备无法接入边缘节点如何处理?专业版节点所在机器断网/断电一段时间后恢复,节点模块一直处于“部署中”怎么处理?
- 误删除IoTDA上的edge_node/modbus_server产品后,在边缘服务创建节点/添加Modbus设备失败,该怎么处理?
- 边缘节点离线排查指南
- 修改专业版(Docker)或基础版节点的云端日志级别,但没有生效?
- ubuntu系统下节点shell命令兼容性导致的安装失败
- 子设备管理
- 应用管理
- 账号与权限
- Module-SDK
- 视频帮助
- 文档下载
- 通用参考
链接复制成功!
添加设备
功能介绍
添加设备
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
URI
POST /v2/{project_id}/edge-nodes/{edge_node_id}/devices
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
项目ID。获取方法请参见 获取项目ID。 |
edge_node_id |
是 |
String |
边缘节点ID |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
X-Auth-Token |
是 |
String |
用户Token。通过调用IAM服务 获取IAM用户Token接口获取,接口返回的响应消息头中“X-Subject-Token”就是需要获取的用户Token。简要的获取方法样例请参见 Token认证。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
node_id |
是 |
String |
设备标识码,通常使用IMEI、MAC地址或Serial No作为node_id。(注意:NB设备由于模组烧录信息后无法配置,所以NB设备会校验node_id全局唯一。) |
device_name |
否 |
String |
设备名称。 |
product_id |
是 |
String |
设备关联的产品ID,用于唯一标识一个产品模型,在管理门户导入产品模型后由平台分配获得。 |
auth_info |
否 |
EdgeDeviceAuthInfo object |
设备的接入认证信息。 |
description |
否 |
String |
设备的描述信息。 |
gateway_id |
否 |
String |
父设备ID,用于标识设备所属的父设备。携带该参数时,表示在该父设备下创建一个子设备,这个子设备不与平台直连,此时必须保证这个父设备在平台已存在,创建成功后子设备的gateway_id等于该参数值;不携带该参数时,表示创建一个和平台直连的设备,创建成功后设备的device_id和gateway_id一致。 |
space_id |
否 |
String |
资源空间Id。此参数为非必选参数,用于兼容平台老用户存在多应用的场景。存在多应用的用户需要使用该接口时,必须携带该参数指定注册的设备归属到哪个应用下,否则接口会提示错误。如果用户存在多应用,同时又不想携带该参数,可以联系华为技术支持对用户数据做应用合并。 |
extension_info |
否 |
Object |
设备扩展信息。用户可以自定义任何想要的扩展信息,如果在创建设备时为子设备指定该字段,将会通过MQTT接口“平台通知网关子设备新增“将该信息通知给网关。字段值大小上限为1K。 |
config |
否 |
Object |
设备初始配置。用户使用该字段可以为设备指定初始配置,指定后将会根据service_id和desired设置的属性值与产品中对应属性的默认值比对,如果不同,则将以设置的属性值为准写入到设备配置中。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
auth_type |
否 |
String |
鉴权类型。支持密钥认证接入(SECRET)和证书认证接入(CERTIFICATES)两种方式。使用密钥认证接入方式(SECRET)填写secret字段,使用证书认证接入方式(CERTIFICATES)填写fingerprint字段,不填写auth_type默认为密钥认证接入方式(SECRET) |
secret |
否 |
String |
设备密钥,认证类型使用密钥认证接入(SECRET)可填写该字段。注意:NB设备密钥由于协议特殊性,只支持十六进制密钥接入;修改设备、查询设备及查询设备列表接口不返回该参数。 |
fingerprint |
否 |
String |
证书指纹,认证类型使用证书认证接入(CERTIFICATES)可填写该字段,注册设备时不填写该字段则取第一次设备接入时的证书指纹。注意:指纹只能为40位十六进制字符串或者64位十六进制字符串;修改设备、查询设备及查询设备列表接口不返回该参数。 |
secure_access |
否 |
Boolean |
指设备是否通过安全协议方式接入,默认值为true。
|
timeout |
否 |
Integer |
设备验证码的有效时间,单位:秒,默认值:0 若设备在有效时间内未接入物联网平台并激活,则平台会删除该设备的注册信息。若设置为“0”,则表示设备验证码不会失效(建议填写为“0”)。注意:只有注册设备接口或者修改设备接口修改timeout时返回该参数。 |
响应参数
状态码:200
参数 |
参数类型 |
描述 |
---|---|---|
device_id |
String |
设备ID |
password |
String |
设备密钥,认证类型使用密钥认证接入(SECRET)可填写该字段。注意:NB设备密钥由于协议特殊性,只支持十六进制密钥接入;修改设备、查询设备及查询设备列表接口不返回该参数。 |
请求示例
POST https://{endpoint}/v2/{project_id}/edge-nodes/{edge_node_id}/devices
{
"node_id" : "ABC123456789",
"device_name" : "dianadevice",
"product_id" : "b640f4c203b7910fc3cbd446ed437cbd",
"auth_info" : {
"auth_type" : "SECRET",
"secret" : "3b935a250c50dc2c6d481d048cefdc3c",
"fingerprint" : "dc0f1016f495157344ac5f1296335cff725ef22f",
"secure_access" : true,
"timeout" : 300
},
"description" : "watermeter device",
"gateway_id" : "d4922d8a-6c8e-4396-852c-164aefa6638f",
"space_id" : "jeQDJQZltU8iKgFFoW060F5SGZka",
"extension_info" : {
"aaa" : "xxx",
"bbb" : 0
},
"config" : {
"ip" : "127.0.0.1"
}
}
响应示例
状态码:200
OK
{
"device_id" : "string",
"password" : "string"
}
状态码
状态码 |
描述 |
---|---|
200 |
OK |
401 |
Bad Request |
500 |
Internal Server Error |
错误码
请参见错误码。