创建实例
首先,根据提示创建实例
- 实例名称
- 实例描述
创建成功
可以看到,当前实例已经在运行中了
设备发放
在左侧列表中点击“设备发放”
功能简介
您可以通过“设备发放”轻松管理跨多区域,海量设备的发放工作,实现单点发放管理,设备全球上线。设备本地固化设备发放服务器地址,通过设备发放将设备动态引导接入到不同的物联网平台。直接连接新的地址,免去二次烧录设备接入信息
优点
- 智能策略
将设备自动匹配就近区域的IoT平台。无需繁琐的人工干预,实现零接触自动发放 - 安全可信
支持PSK、证书多种设备鉴权方式,确保设备安全可信接入云端 - 灵活迁移
根据业务迁移需要重置设备发放信息,实现灵活更改对端IoT平台的目的
具体流程
- 设备开发
请先完成设备开发,包含物联网平台需要的 产品定义,以及设备端的开发,完成发放服务器接入地址 和 鉴权信息的烧录 - 上传证书
可选。如果您需要采用证书策略发放设备,防止通信数据在传输过程被篡改造成安全风险,请在发放前上传证书 - 配置策略
平台支持多种发放策略,您可以根据需要选择,灵活定义设备发放业务流程 - 接入设备并自动发放
通过设备发放的注册模块将设备信息录入发放平台。待设备初次上电时,先接入到发放平台,随后通过Bootstrap流程引导接入目标物联网平台
授权设备发放
在“设备发放”页面,点击“授权开通”。会提示需要如下两个权限
- 设备接入服务(IoTDA)
设备发放支持通过函数工作流访问您创建的函数,帮助用户运行自定义函数实现设备发放的自定义策略功能,因此需要获得访问函数工作流服务的权限。 - 函数工作流(FunctionGraph)
设备发放支持通过设备接入访问您在设备接入上的应用、产品、证书、设备,帮助用户实现设备发放功能,因此需要获得访问设备接入服务的权限。
开通后的总览页面如下
下载代码
华为云官方提供的测试代码的下载链接如下
https://obs-pipeline.obs.cn-north-4.myhuaweicloud.com/sdkDeploy/iot-device-sdk-java-addE2ETest.zip
下载好后的文件目录如下图
用IDEA打开后,它会自动下载依赖
修改参数
打开 iot-device-e2e-demo/src/main/resources/AKSK.properties
文件,总共有4个参数需要修改,分别是
- ak
- sk
- iotdp.scopeId
- accesspointid
获取AK/SK
华为云提供了很详尽的文档,教我们如何获取AK/SK(下载下来是excel格式的文件)
https://support.huaweicloud.com/usermanual-ca/ca_01_0003.html
获取ScopeId
在设备发放页面,左侧列表中依次选择“设备”—>“注册组”
获取accesspointid
accesspointid在“设备接入”页面的总览这里,格式为 8-4-4-4-12
注意左上角的用户环境,别选错了
权限配置
右上角的账户名,选择“统一身份认证”
切换到左侧的“委托”面板中,选择“dmp_agency_for_iotps”选项,点击右侧授权按钮
在右侧筛选框输入 iotda
,然后勾选 IoTDA FullAccess
,授予所有权限
开始批量自注册
上述内容修改完后,可以运行 iot-device-e2e-demo 下的 BootstrapCertAuthRegisterGroup.java类
当前默认自注册大约10万设备,100TPS
由于mqtt链接比较耗资源,可以增加jvm。修改方法
注释:
-
TPS,TransactionPerSecond,每秒事务处理量
-
MQTT,Message Queuing Telemetry Transport,消息队列传输探测
-
Edit Configuration
-
Modify options
-
Add VM options
-
输入
-Xmx4096m
- 运行
代码路径为:iot-device-e2e-demo/src/main/java/com.huaweicloud.sdk.iot.device.demo/bootstrap/BootstrapCertAuthRegisterGroup
说明:由于Mqtt连接比较占用资源,如果跑到3万设备左右就没有新增的话,建议关掉当前程序,再重新启动一下程序即可
日志会不断打印连接注册的消息
第一次跑完,只有99651台就停止了