通过设备发放实现批量设备自动注册
场景说明
当前物联网平台基于安全考虑,需要将设备的基本信息(例如设备ID、鉴权信息)注册到平台后,设备才能连接上平台。当用户的设备数不断增多时,如何安全且快速的注册设备尤为关键,需要采用安全的批量注册的场景。本文基于设备发放注册组功能,使用证书策略,带您快速体验设备批量自注册场景,并成功发放到指定的设备接入区域(本文以“华南-广州-友好用户环境”为例)。
整体流程
如上图所示,用户可以在设备发放里设置证书策略,不同的证书策略可以将设备发放到不同的设备接入服务实例中,当设备携带了对应证书并成功接入到设备发放时,可以主动发起发放引导流程,从而将该设备按照证书的策略发放到对应的设备接入实例。
详细业务流程
如上图所示,用户需要按照上图的设备发放步骤操作,然后才能通过证书策略发放到对应设备接入实例,当前样例代码已将全流程自动化,用户可以参考后续的步骤来完成批量自注册流程。
前提条件
- 已开通IoTDA的“华南-广州-华南友好环境”。
- 进入“IoTDA华南-广州-华南友好环境”控制台,选择左侧导航栏“设备发放”服务,开通设备发放服务。
图3 华南-广州-华南友好环境控制台
图4 授权开通
图5 授权成功
- 安装IntelliJ IDEA
- 访问IntelliJ IDEA官网,选择合适系统的版本下载。(本文以windows 64-bit系统IntelliJ IDEA 2019.2.3 Ultimate为例)。
图6 IntelliJ IDEA官网
- 下载完成后,运行安装文件,根据界面提示安装。
- 访问IntelliJ IDEA官网,选择合适系统的版本下载。(本文以windows 64-bit系统IntelliJ IDEA 2019.2.3 Ultimate为例)。
- 安装Maven软件,通过 Maven 安装项目依赖是使用 Java SDK 的推荐方法,首先您需要下载并安装 Maven ,安装完成后您只需在 Java 项目的 pom.xml 文件加入相应的依赖项即可。
导入批量自注册样例代码
- 下载JAVA批量自注册样例文档。
- 解压后选择样例代码主目录下的pom.xml文件,并用IDEA开发者工具打开后,可以看到工程目录如下:
图7 工程目录
- 修改AKSK.properties中的ak/sk参数,scopeId参数,accesspointid参数
- 用户可以在此处获取ak/sk。
- scopeId可以在此处获取。
图8 获取注册组scopeId
- accesspointid可以在IoTDA的“华南-广州-友好用户环境”的总览界面获取到。
图9 accesspointid获取
- 上述步骤替换后,代码导入和修改完毕。
权限配置
- 单击设备接入控制台页面右上角的账号,选择“统一身份验证”。
图10 统一身份认证
- 进入统一身份认证服务页面后,单击左侧“委托”,然后在右上角的输入框中输入“iotps”,再单击iotps这个委托名称右侧的“授权”按钮。
图11 创建委托授权
- 进入授权页面后,在右上角的输入框中“iotda”,然后选择“IoTDA FullAccess”,再单击“下一步”。
图12 选择策略
- 跳转到如下页面后,直接单击右下角的“确定”即可。
图13 设置最小授权范围
开始批量自注册引导
上述内容修改完后,可以运行iot-device-e2e-demo下的 BootstrapCertAuthRegisterGroup.java类,右键单击运行后,SDK会自动开始批量自注册过程。当前默认自注册大约1000设备,大约10TPS。
由于mqtt链接比较耗资源,大家可以把jvm最大内存调大一些。
1、单击IDEA菜单栏上方的“RUN”-“Edit Configurations”
2、单击“Modify options”-“Add VM options”
3、在下图的框中输入“-Xmx4096m”
4、运行程序,如下图所示: