【云驻共创】华为云IoTDA服务下的设备管理流程实操
一、当今社会发展趋势
1.社会背景
随着当今社会基础设施的不断完善,5G、IoT 技术日渐成熟,传统应用已经无法满足人们需求,随之而来是诞生一个新的应用形态即物联网(IoT)
。我们能看到的一些新的应用场景,包括车联网、工业物联网以及智能家居等。
随着物联网应用的发展和普及,相关的IoT设备的数量会与日剧增,以及设备产生的数据会是更大的规模进行传播,相应而来就需要一个统一管理平台,华为云(IoTDA)
服务的诞生就是基于这个背景之下。
2.什么是物联网(IoT)
物联网(IoT)
是指通过各种信息传感设备,如传感器、射频识别(RFID)技术、全球定位系统、红外感应器、激光扫描器、气体感应器等各种装置与技术,实时采集任何需要监控、连接、互动的物体或过程。
采集设备其声、光、热、电、力学、化学、生物、位置等各种需要的信息,与互联网结合形成的一个巨大网络。其目的是实现物与物、物与人,所有的物品与网络的连接,方便识别、管理和控制。
3.什么是华为云(IoTDA)
设备接入服务(IoT Device Access)
是华为云的物联网平台,提供海量设备连接上云、设备和云端双向消息通信、批量设备管理、远程控制和监控、OTA升级、设备联动规则等能力,并可将设备数据灵活流转到华为云其他服务,帮助物联网行业用户快速完成设备联网及行业应用集成。
二、为什么需要设备发放
1.传统模式-存在问题
存在问题:
面向云端
:客户需要对接多个云端,发放工作将较繁琐且不易管理,遇到问题不利于排查维护,无法保证信息和设备安全。面向产线端
:客户需要对接多个产线,对于设备对接需要门槛高,成本大,而且存在大量需要人工干预环节,会照成信息泄露,无法保证信息和设备安全。
2.设备发放模式-问题改进
问题改进:
面向云端
:提供统一的发放服务和接口标准,并与云端进行统一的集成和集中管理,节约管理成本,实现高效的发放操作,和安全的操作。面向产线端
:提供统一的发放服务和接口标准,并与产线端进行无缝衔接,提高安全性和效率,设备可以自动获取正确的云端iot地址
三、设备接入服务的功能体验
1.功能一:规模化设备安全发放
2.功能二:设备发放支持多种策略
3.功能三:设备发放支持bootstrap流程
4.功能四:设备发放支持免注册
5.功能五:设备发放支持数据同步统一管理
四、华为云IoTDA服务应用场景
1.业务场景
设备管理会遇到以下几个瓶颈:
- 多区域:统一管理困难
- 多类型:统一标准困难
- 多数量:统一维护困难
2.解决方案
五、华为云IoTDA服务配置流程配置
1.华为云相关配置
1.1 云平台配置
1.1.1 创建华为云账号
华为云注册界面网址:https://id1.cloud.huawei.com/UnifiedIDMPortal/portal/userRegister/regbyphone.html
注册成功后,跳转下一步
1.1.2 开通设备接入服务
相关产品网址:https://www.huaweicloud.com/product/iothub.html
点击免费试用后,跳转下一步
1.1.3 登录设备接入服务控制台
点击设备发放,进入下一步
1.1.4 进入设备发放完成授权开通
授权开通网址:https://console.huaweicloud.com/iot/?region=cn-north-4#/iotdmp/provisioning/applyIodps
点击授权,显示未开通
关闭未授权提示,发现授权开通按钮
点击同意授权,授权成功
1.2 证书配置
1.2.1 进入证书页面
点击证书按钮则进入证书页面,页面地址:https://console.huaweicloud.com/iot/?region=cn-north-4#/iotdmp/provisioning/certificates
1.2.2 生成华为云证书
方式一:生成ca证书的华为云服务网址:https://console.huaweicloud.com/ccm/
方式二:openssl生成ca证书的华为官方文档网址:https://support.huaweicloud.com/usermanual-iothub/iot_01_0104.html
本文以方式二为例介绍证书配置,liunx系统为例
#生成密钥对(server.key):
openssl genrsa -des3 -out server.key 2048
#使用密钥对生成证书请求文件:
openssl req -new -key server.key -out server.csr
#生成CA证书(server.crt):
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
生成了密钥文件如下
1.2.3 上传证书
首先在设备发放控制台,左侧导航窗格中,选择“证书”,单击右上方的“上传CA证书”,选择上一步中已生成的CA证书
1.2.4 验证证书
对于已上传的CA证书,平台要求用户完成“验证CA证书”过程,以验证用户具备该CA证书的签发能力。
首先点开验证证书生成随机码
随机码为:b81339d4a3bd867b2dbafd3f51edd428
#使用OpenSSL工具为验证证书生成密钥对。
openssl genrsa -out client.key 2048
#利用此验证码生成证书请求文件CSR。(CSR文件的Common Name (e.g. server FQDN or YOUR name) 需要填写此验证码。)
openssl req -new -key client.key -out client.csr
#使用由CA私有密钥前面的CSR创建私有的验证证书(client.crt)。
openssl x509 -req -in client.csr -CA server.crt -CAkey server.key -CAcreateserial -out client.crt -days 500 -sha256
生成验证证书如下
上传验证证书进行验证
1.2.5 补充证书概念:x509证书
1. x509证书一般会用到三类文件,key,csr,crt。
2. key是私用密钥,openssl格式,通常是rsa算法。
3. csr是证书请求文件,用于申请证书。在制作csr文件的时候,必须使用自己的私钥来签署申请,还可以设定一个密钥。
4. crt是CA认证后的证书文件(windows下面的csr,其实是crt),签署人用自己的key给你签署的凭证。
1.3 策略配置
1.3.1 进入策略配置界面
1.3.2 配置策略
选择证书策略
1.4 设备注册
1.4.1 创建产品
创建产品页面链接:https://console.huaweicloud.com/iotdm/?region=cn-north-4#/dm-dev/all-product
1.4.2 进入设备注册页面
设备注册页面链接:https://console.huaweicloud.com/iot/?region=cn-north-4#/iotdmp/provisioning/reg_single
1.4.3 设备单个/批量注册
1.4.4 设备操作记录查看
1.5 注册组
1.5.1 进入设备-注册组界面
1.5.2. 查看ScopeId
ScopeId为:b3779febd142
1.5.3. 新增注册组
六、MQTT.fx发放流程实操
1. 使用MQTT.fx工具模拟设备发起引导;
1.1 找到设备协议和接入地址
进入控制台地址:https://console.huaweicloud.com/iotdm/?region=cn-north-4#/dm-portal/home
协议:MQTT (1883)| MQTTS (8883)
接入地址:a161de603f.iot-mqtts.cn-north-4.myhuaweicloud.com
1.2 产品模型定义
前面配置阶段已经建立了产品,在接入是需要定义产品模型步骤如下:
1.2.1 新增模型定义
1.2.2 添加属性
1.2.3 预置X.509证书
注意:注册个MQTT.fx设备专属证书,设备证书和发放证书位置不一样
1.2.3.1 制作设备CA调测证书
#执行以下命令生成密钥对。
openssl genrsa -out rootCA.key 2048
#执行以下命令,使用密钥对中的私有密钥生成 CA 证书。
openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1024 -out rootCA.pem
1.2.3.2 上传验证证书
#执行如下命令为私有密钥验证证书生成密钥对。
openssl genrsa -out verificationCert.key 2048
#执行如下命令为私有密钥验证证书创建CSR(Certificate Signing Request)。
openssl req -new -key verificationCert.key -out verificationCert.csr
#执行以下命令使用CSR创建私有密钥验证证书。
openssl x509 -req -in verificationCert.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out verificationCert.pem -days 500 -sha256
1.2.3.3 制作设备X.509调测证书
#执行如下命令生成密钥对。
openssl genrsa -out deviceCert.key 2048
#执行如下命令为设备证书创建CSR(Certificate Signing Request)。
openssl req -new -key deviceCert.key -out deviceCert.csr
#执行以下命令使用CSR创建设备证书。
openssl x509 -req -in deviceCert.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out deviceCert.pem -days 500 -sha256
1.2.4 注册X.509证书认证的设备
访问控制台,因为是X.509证书认证,需要填写指纹
生成指纹命令
openssl x509 -fingerprint -sha256 -in deviceCert.pem
注意:指纹为框中内容去除冒号
访问地址:https://iot-tool.obs-website.cn-north-4.myhuaweicloud.com/
填写注册设备后生成的设备ID(DeviceId)和密钥(DeviceSecret),生成连接信息(ClientId、Username、Password)
DeviceSecret在证书认证可随意填写
2. 配置连接参数;
打开MQTT.fx软件,单击“设置”图标。
单击“User Credentials”填写“User Name”。
单击“SSL/TLS”配置鉴权参数,然后单击““Apply””。选择开启 “SSL/TLS”,勾选“ Self signed certificates”,配置相关证书内容。
填写“SSL/TLS”相关参数
-
CA File为对应的CA证书。下载并获取证书(加载pem格式的证书)。
-
Client Certificate File为设备的设备证书(deviceCert.pem)。
-
Client Key File为设备的私钥(deviceCert.key)。
3. 发起连接;
点击connect连接
显示在线代表连接成功,设备相关接口地址如下:
4. 测试设备连接
填写接口地址,此处以$oc/devices/{device_id}/sys/properties/report
为例,如$oc/devices/61de8e3cde9933029be1f7fa_123456/sys/properties/report
。
请求示例json:
{
"services": [{
"service_id": "Connectivity",
"properties": {
"dailyActivityTime": 57
},
"event_time": "20151212T121212Z"
},
{
"service_id": "Battery",
"properties": {
"batteryLevel": 80
},
"event_time": "20151212T121212Z"
}
]
}
对应着模型定义的字段
单击“Publish”,可以在物联网平台上查看设备是否成功上报数据。
至此设备接入成功
5. 测试设备发放中消息发布和订阅
前面已经测试好了设备接入,下面开始测试设备发放的消息通信
流程图如下:
设备发放的证书接入和策略配置已经在第四节中已经讲到,下面直接开始接入,首先收集参数。
设备开发客户端id生成网址:https://iodps-file.obs.cn-north-4.myhuaweicloud.com/tools/iotprovisioning.html
下载证书
把生成的参数和证书配置到MQTT.fx中,后连接成功,如图
5.2 消息发布端
发布端Topic地址:$oc/devices/61de8e3cde9933029be1f7fa_0123456/sys/bootstrap/down
5.3 消息订阅端
订阅端Topic地址:$oc/devices/61de8e3cde9933029be1f7fa_0123456/sys/bootstrap/up
5.4 接收到引导消息
消息推送成功如下所示,在Subscribe的topic下会返回对应设备的设备接入服务的地址。
至此,您已完成了设备发放的流程。设备发放已成功将您的设备【接入IoTDA所需的必要信息】预置到了IoTDA实例中。
如您想要体验物联网平台的更多强大功能,您可通过如下步骤完成对IoTDA的后续操作:
- 取用引导消息中的设备接入地址;
- 单击Disconnect,断开与设备发放的连接;
- 将引导信息中的设备接入地址填入MQTT.fx的MQTT Broker Profile Settings中的Broker
Address和Broker Port,建立与设备接入的连接; - 完成与设备接入的上报数据等业务交互。
总结
本文介绍了华为云IoTDA诞生的背景,完整介绍了设备对接到华为云IoTDA平台运营的对接流程,和用华为云IoTDA的相关业务场景,还有实操了整个MQTT模拟设备对接平台的详细步骤。个人体验过后觉得华为云IoTDA还是很不错,中途也碰到很多问题和概念不清情况,可以把各种物联网设备整合到云平台,便于更好统一管理和故障处理。
本文整理自华为云社区【内容共创】活动第12期。
查看活动详情:https://bbs.huaweicloud.com/blogs/325315
相关任务详情:任务26.初识华为云IoTDA之设备发放
- 点赞
- 收藏
- 关注作者
评论(0)