赞
踩
随着当今社会基础设施的不断完善,5G、IoT 技术日渐成熟,传统应用已经无法满足人们需求,随之而来是诞生一个新的应用形态即物联网(IoT)
。我们能看到的一些新的应用场景,包括车联网、工业物联网以及智能家居等。
随着物联网应用的发展和普及,相关的IoT设备的数量会与日剧增,以及设备产生的数据会是更大的规模进行传播,相应而来就需要一个统一管理平台,华为云(IoTDA)
服务的诞生就是基于这个背景之下。
物联网(IoT)
是指通过各种信息传感设备,如传感器、射频识别(RFID)技术、全球定位系统、红外感应器、激光扫描器、气体感应器等各种装置与技术,实时采集任何需要监控、连接、互动的物体或过程。
采集设备其声、光、热、电、力学、化学、生物、位置等各种需要的信息,与互联网结合形成的一个巨大网络。其目的是实现物与物、物与人,所有的物品与网络的连接,方便识别、管理和控制。
设备接入服务(IoT Device Access)
是华为云的物联网平台,提供海量设备连接上云、设备和云端双向消息通信、批量设备管理、远程控制和监控、OTA升级、设备联动规则等能力,并可将设备数据灵活流转到华为云其他服务,帮助物联网行业用户快速完成设备联网及行业应用集成。
存在问题:
面向云端
:客户需要对接多个云端,发放工作将较繁琐且不易管理,遇到问题不利于排查维护,无法保证信息和设备安全。面向产线端
:客户需要对接多个产线,对于设备对接需要门槛高,成本大,而且存在大量需要人工干预环节,会照成信息泄露,无法保证信息和设备安全。问题改进:
面向云端
:提供统一的发放服务和接口标准,并与云端进行统一的集成和集中管理,节约管理成本,实现高效的发放操作,和安全的操作。面向产线端
:提供统一的发放服务和接口标准,并与产线端进行无缝衔接,提高安全性和效率,设备可以自动获取正确的云端iot地址设备管理会遇到以下几个瓶颈:
华为云注册界面网址:https://id1.cloud.huawei.com/UnifiedIDMPortal/portal/userRegister/regbyphone.html
注册成功后,跳转下一步
相关产品网址:https://www.huaweicloud.com/product/iothub.html
点击免费试用后,跳转下一步
点击设备发放,进入下一步
授权开通网址:https://console.huaweicloud.com/iot/?region=cn-north-4#/iotdmp/provisioning/applyIodps
点击授权,显示未开通
关闭未授权提示,发现授权开通按钮
点击同意授权,授权成功
点击证书按钮则进入证书页面,页面地址:https://console.huaweicloud.com/iot/?region=cn-north-4#/iotdmp/provisioning/certificates
方式一:生成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
生成了密钥文件如下
首先在设备发放控制台,左侧导航窗格中,选择“证书”,单击右上方的“上传CA证书”,选择上一步中已生成的CA证书
对于已上传的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. x509证书一般会用到三类文件,key,csr,crt。
2. key是私用密钥,openssl格式,通常是rsa算法。
3. csr是证书请求文件,用于申请证书。在制作csr文件的时候,必须使用自己的私钥来签署申请,还可以设定一个密钥。
4. crt是CA认证后的证书文件(windows下面的csr,其实是crt),签署人用自己的key给你签署的凭证。
选择证书策略
创建产品页面链接:https://console.huaweicloud.com/iotdm/?region=cn-north-4#/dm-dev/all-product
设备注册页面链接:https://console.huaweicloud.com/iot/?region=cn-north-4#/iotdmp/provisioning/reg_single
ScopeId为:b3779febd142
进入控制台地址:https://console.huaweicloud.com/iotdm/?region=cn-north-4#/dm-portal/home
协议:MQTT (1883)| MQTTS (8883)
接入地址:a161de603f.iot-mqtts.cn-north-4.myhuaweicloud.com
前面配置阶段已经建立了产品,在接入是需要定义产品模型步骤如下:
注意:注册个MQTT.fx设备专属证书,设备证书和发放证书位置不一样
#执行以下命令生成密钥对。
openssl genrsa -out rootCA.key 2048
#执行以下命令,使用密钥对中的私有密钥生成 CA 证书。
openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1024 -out rootCA.pem
#执行如下命令为私有密钥验证证书生成密钥对。
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
#执行如下命令生成密钥对。
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
访问控制台,因为是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在证书认证可随意填写
打开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)。
点击connect连接
显示在线代表连接成功,设备相关接口地址如下:
填写接口地址,此处以$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”,可以在物联网平台上查看设备是否成功上报数据。
至此设备接入成功
前面已经测试好了设备接入,下面开始测试设备发放的消息通信
流程图如下:
设备发放的证书接入和策略配置已经在第四节中已经讲到,下面直接开始接入,首先收集参数。
设备开发客户端id生成网址:https://iodps-file.obs.cn-north-4.myhuaweicloud.com/tools/iotprovisioning.html
下载证书
把生成的参数和证书配置到MQTT.fx中,后连接成功,如图
发布端Topic地址:$oc/devices/61de8e3cde9933029be1f7fa_0123456/sys/bootstrap/down
订阅端Topic地址:$oc/devices/61de8e3cde9933029be1f7fa_0123456/sys/bootstrap/up
消息推送成功如下所示,在Subscribe的topic下会返回对应设备的设备接入服务的地址。
至此,您已完成了设备发放的流程。设备发放已成功将您的设备【接入IoTDA所需的必要信息】预置到了IoTDA实例中。
如您想要体验物联网平台的更多强大功能,您可通过如下步骤完成对IoTDA的后续操作:
本文介绍了华为云IoTDA诞生的背景,完整介绍了设备对接到华为云IoTDA平台运营的对接流程,和用华为云IoTDA的相关业务场景,还有实操了整个MQTT模拟设备对接平台的详细步骤。个人体验过后觉得华为云IoTDA还是很不错,中途也碰到很多问题和概念不清情况,可以把各种物联网设备整合到云平台,便于更好统一管理和故障处理。
本文整理自华为云社区【内容共创】活动第12期。
查看活动详情:https://bbs.huaweicloud.com/blogs/325315
相关任务详情:任务26.初识华为云IoTDA之设备发放
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。