文章目录

  • 一、当今社会发展趋势
    • 1.社会背景
    • 2.什么是物联网(IoT)
    • 3.什么是华为云(IoTDA)
  • 二、为什么需要设备发放
    • 1.传统模式-存在问题
    • 2.设备发放模式-问题改进
  • 三、设备接入服务的功能体验
    • 1.功能一:规模化设备安全发放
    • 2.功能二:设备发放支持多种策略
    • 3.功能三:设备发放支持bootstrap流程
    • 4.功能四:设备发放支持免注册
    • 5.功能五:设备发放支持数据同步统一管理
  • 四、华为云IoTDA服务应用场景
    • 1.业务场景
    • 2.解决方案
  • 五、华为云IoTDA服务配置流程配置
    • 1.华为云相关配置
      • 1.1 云平台配置
        • 1.1.1 创建华为云账号
        • 1.1.2 开通设备接入服务
        • 1.1.3 登录设备接入服务控制台
        • 1.1.4 进入设备发放完成授权开通
      • 1.2 证书配置
        • 1.2.1 进入证书页面
        • 1.2.2 生成华为云证书
        • 1.2.3 上传证书
        • 1.2.4 验证证书
        • 1.2.5 补充证书概念:x509证书
      • 1.3 策略配置
        • 1.3.1 进入策略配置界面
        • 1.3.2 配置策略
      • 1.4 设备注册
        • 1.4.1 创建产品
        • 1.4.2 进入设备注册页面
        • 1.4.3 设备单个/批量注册
        • 1.4.4 设备操作记录查看
      • 1.5 注册组
        • 1.5.1 进入设备-注册组界面
        • 1.5.2. 查看ScopeId
        • 1.5.3. 新增注册组
  • 六、MQTT.fx发放流程实操
    • 1. 使用MQTT.fx工具模拟设备发起引导;
      • 1.1 找到设备协议和接入地址
      • 1.2 产品模型定义
        • 1.2.1 新增模型定义
        • 1.2.2 添加属性
        • 1.2.3 预置X.509证书
          • 1.2.3.1 制作设备CA调测证书
          • 1.2.3.2 上传验证证书
          • 1.2.3.3 制作设备X.509调测证书
        • 1.2.4 注册X.509证书认证的设备
    • 2. 配置连接参数;
    • 3. 发起连接;
    • 4. 测试设备连接
    • 5. 测试设备发放中消息发布和订阅
      • 5.2 消息发布端
      • 5.3 消息订阅端
      • 5.4 接收到引导消息
  • 总结

一、当今社会发展趋势

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

  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之设备发放

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

  1. 【云驻共创】云原生应用架构之企业核心业务未来架构演进路线及华为云方案

    文章目录 前言 一.企业核心业务架构演进 1.企业核心业务应用架构和集成架构发展历程 1.1 企业核心业务应用架构发展历程 1.1.1 单体架构 1.1.1.1 特点 1.1.1.2 优点 1.1.1 ...

  2. 【云驻共创】华为云IoT数据分析流程实操

    文章目录 一.数据分析的发展 1.数据分析概念 1.1 数据分析的背景 1.2 数据分析的目的 1.3数据分析的定义 2.物联网数据分析概念 3.华为云IoT数据分析优势 二.华为云IoT数据分析服务 ...

  3. 【云驻共创】华为云AI之用Python定制我的《本草纲目女孩》

    文章目录 前言 一.华为云ModelArts-Notebook介绍 1.华为云ModelArts-Notebook 1.1 Jupyter Notebook是什么 1.2 JupyterLab是什么 ...

  4. 【云驻共创】华为云HCIA-IoT V2.5培训系列内容之物联网概览

    文章目录 前言 一.物联网发展简史与概述 1.物联网的发展简史 1.1 物联网的起源 1.2 物联网的发展 1.3 物联网大事件 1.3.1 NB-IOT标准的引进 1.3.2 工信部宣布5G商用 1 ...

  5. 【云驻共创】华为云之锁与权限为您的数仓保驾护航

    文章目录 前言 1.锁的介绍 2.权限的介绍 一.DWS锁机制介绍&排查处理方法 1.华为云数仓DWS的概念 2.事务隔离性问题分析 3.数据库并发场景 4.锁机制 4.1 MVCC介绍 4. ...

  6. 【云驻共创】华为云云原生之Kubernetes网络架构原理深度剖析(上)

    文章目录 前言 一.Kubernetes诞生背景 1.云原生的概念 2.云原生架构 3.Kubernetes(k8s) 二.Kubernetes基本网络模型剖析 1.概念厘清 1.1 二层桥接 VS ...

  7. 【云驻共创】华为云AI之《情感专家》在线分析影评情感基调

    文章目录 前言 一.Word Embedding 二.BERT原理 1.Pre-training预训练 2.Deep Bidirectional Transformers 3.BERT中的双向表示 4 ...

  8. 【云驻共创】华为云云原生之Istio控制面架构深度剖析

    文章目录 前言 一.Istio的基本概念 1.Istio诞生背景 2.Istio的定义 3.Istio优势 二.Istio整体架构及工作原理 1.Istio整体架构 1.1 控制面Istiod 1.1 ...

  9. 【华为云-云驻共创】Docker是什么?有哪些应用场景?

    文章目录 前言 容器技术的起源 什么是容器? 容器与虚拟机 为什么需要容器? 容器的优势 对于开发人员 - Build Once, Run Anywhere 对于运维人员 - Configure On ...

最新文章

  1. Litmus代码质量平台实践总结
  2. JNI中String和char之间的相互转换
  3. Lexer的设计--中(4)
  4. 1.5 成员方法的声明和调用,形参,实参
  5. boost::mp11::mp_drop相关用法的测试程序
  6. 【BZOJ 3098】 Hash Killer II
  7. 2021-08-25556. 下一个更大元素 III
  8. .net stardant 2.0创建及引用说明--Nuget包
  9. 罗切斯特大学排名计算机排名,罗切斯特大学排名
  10. 什么是https,和ssl什么关系,为什么用https
  11. 48. Rotate Image java solutions
  12. IOS开发之——屏幕适配-AutoLayout动画(05)
  13. a3图纸标题栏尺寸标准_求标准CAD图纸(A0、A1、A2、A3、A4)图框(外框、内框)、标题栏及明细栏大小样式字体是多大?...
  14. 硬链接(hard link)和符号连接(symbolic link)的区别
  15. yolo 深度学习_YoLo v1-v3深度学习网络-结构简介
  16. 破晓博客-自定义标签的开发
  17. 标准资本赵晨:Token会推动金融市场的流动性|筱静观察
  18. 餐饮行业如何做好微营销
  19. 六、总线(一)总线概述
  20. MySQL查看连接数和进程信息

热门文章

  1. 服务器中imm的作用,联想X系列服务器IMM2(集成管理模块)基本操作
  2. 使用决策树预测大盘指数
  3. H5浙里办对接流程和问题记录
  4. 3d学习笔记(四)——打飞碟小游戏
  5. linux-进程间通信
  6. rtx3060ti参数配置
  7. Pytorch 计算误判率,计算准确率,计算召回率
  8. 智能家居创意DIY之智能灯泡
  9. 图形学基础笔记III:图形管线中的多边形裁剪算法、Sutherland-Hodgman、Guard Band Clipping
  10. UGUI 源码之 RectMask2D、Clipping、RectangularVertexClipper