设备自注册
概述
设备自注册功能可以让用户没有在物联网平台上注册设备的前提下,在设备首次接入平台时自动完成设备的注册 ,设备自注册基于证书认证实现,通过设备证书携带设备信息。

使用场景
- 自动注册设备:适用于不能提前在控制台(console)或通过调用API创建设备的场景,设备可以直接完成注册。
- 车联网场景:在车机启动时,设备连接平台会自动注册,上报数据,从而简化车端应用侧的开发。
- 多实例场景:企业客户购买多个IoTDA实例时,使用自注册功能可以无需提前在不同实例上发放注册设备,轻松实现设备跨实例管理。
使用限制
- 单实例下自注册模板最多可以创建10个。
- 使用设备自注册功能,要求设备必须使用TLS协议,并且同时开启服务器名称指示(SNI)扩展,SNI中需要携带平台分配的域名(参考如何获取平台接入地址)。
- 目前该功能仅支持MQTTS证书认证的场景。
- 上海一标准版目前暂不支持该功能。
设备自注册后,设备鉴权依赖于自注册模板,修改或停用自注册模板可能会影响设备鉴权,请谨慎操作。
操作步骤
- 访问设备接入服务,单击“管理控制台”进入设备接入控制台。选择您的实例,单击实例卡片进入。
- 创建产品详细步骤参考:创建产品。
- 左侧导航栏选择“设备 > 自注册模板”,单击“创建模板”进入创建自注册模板页面,输入基本信息后输入单击“添加参数”选择对应的参数添加到模板;
图2 自注册模板-添加参数
- 在配置资源栏中选择设备名称、设备标识码、设备ID和产品ID。
图3 自注册模板-创建模板
以下为平台预定义的在模板中可声明和引用的参数,证书必须包含模板中所引用的参数信息:
- iotda::certificate::country:国家
- iotda::certificate::organization:组织
- iotda::certificate::organizational_unit:部门
- iotda::certificate::distinguished_name_qualifier:可分辨名称
- iotda::certificate::state_name:省份
- iotda::certificate::common_name:通用名称
- iotda::certificate::serial_number:序列号
- 在配置策略栏中添加策略,设备自注册时将会自动绑定所添加的策略,有关设备策略详细使用参考:设备Topic策略。
- 左侧导航栏选择“设备 > 设备证书”进入设备证书页面,参考 X.509证书认证的设备,上传CA证书到平台并通过验证,绑定3所创建的自注册模板并且开启自注册能力。
图4 设备CA证书-绑定模板
注册设备所在的资源空间即为设备CA证书所在资源空间,请确保CA证书与模板中的产品ID在同一个资源空间下。
- 在设备CA证书页签单击“调试”,上传6制作的设备证书,查看预解析后的设备信息是否符合预期。
图5 设备CA证书-调试证书
设备模拟器验证
使用MQTT.fx工具模拟设备接入平台完成设备自动注册。
- 下载MQTT.fx(默认是64位操作系统,如果是32位操作系统,单击此处下载MQTT.fx),安装MQTT.fx工具。
- 打开MQTT.fx软件,参考表1设置连接参数后单击“Apply”应用。
表1 连接参数 参数
说明
Broker Address
平台接入地址(参考如何获取平台接入地址)。
Broker Port
8883
Client ID
无要求,任意字符串(建议按照设备连接鉴权的ClientId字段填写,按照平台规则填写的设备在模板停用后仍然可以通过平台的证书认证接入)。
User Name
无要求,任意字符串(建议按照设备连接鉴权的UserName字段填写,按照平台规则填写的设备在模板停用后仍然可以通过平台的证书认证接入)。
Password
空
Enable SSL/TLS
true
Self signed certificates
true
CA File
平台CA证书(参考证书资源)。
Client Certificate File
设备证书文件路径。
Client Key File
设备证书私钥文件路径。
Client Key Password
私钥密码,无密码则不需要填写。
图6 MQTT.fx设置图7 连接参数图图8 证书信息图 - 单击“Connect”连接平台,看到MQTT.fx界面右上角圆圈转为绿色,即说明设备模拟器鉴权连接成功。
图9 设备模拟器连接成功
- 进入设备接入控制台左侧导航栏,选择“设备 > 所有设备”,在“设备列表”页签搜索框中通过“设备ID”或者“设备标识码”搜索设备,设备已经注册并处于在线状态。
图10 设备-自注册设备详情