【云驻共创】华为云IoTDA服务下的设备管理流程实操

愚公搬代码 发表于 2022/01/15 17:59:44 2022/01/15
【摘要】 一、当今社会发展趋势 1.社会背景随着当今社会基础设施的不断完善,5G、IoT 技术日渐成熟,传统应用已经无法满足人们需求,随之而来是诞生一个新的应用形态即物联网(IoT)。我们能看到的一些新的应用场景,包括车联网、工业物联网以及智能家居等。随着物联网应用的发展和普及,相关的IoT设备的数量会与日剧增,以及设备产生的数据会是更大的规模进行传播,相应而来就需要一个统一管理平台,华为云(IoT...

一、当今社会发展趋势

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”相关参数
在这里插入图片描述

  1. CA File为对应的CA证书。下载并获取证书(加载pem格式的证书)。

  2. Client Certificate File为设备的设备证书(deviceCert.pem)。

  3. 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的后续操作:

  1. 取用引导消息中的设备接入地址;
  2. 单击Disconnect,断开与设备发放的连接;
  3. 将引导信息中的设备接入地址填入MQTT.fx的MQTT Broker Profile Settings中的Broker
    Address和Broker Port,建立与设备接入的连接;
  4. 完成与设备接入的上报数据等业务交互。

总结

本文介绍了华为云IoTDA诞生的背景,完整介绍了设备对接到华为云IoTDA平台运营的对接流程,和用华为云IoTDA的相关业务场景,还有实操了整个MQTT模拟设备对接平台的详细步骤。个人体验过后觉得华为云IoTDA还是很不错,中途也碰到很多问题和概念不清情况,可以把各种物联网设备整合到云平台,便于更好统一管理和故障处理。


本文整理自华为云社区【内容共创】活动第12期。

查看活动详情:https://bbs.huaweicloud.com/blogs/325315

相关任务详情:任务26.初识华为云IoTDA之设备发放

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区),文章链接,文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:cloudbbs@huaweicloud.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。