更新时间:2022-04-24 GMT+08:00
分享

MQTT 注册组自定义策略发放示例

获取设备发放终端节点

区域名称

区域

终端节点(Endpoint)

端口

协议

华北-北京四

cn-north-4

iot-bs.cn-north-4.myhuaweicloud.com

8883

MQTTS

整体流程

制作CA证书

  1. 在浏览器中访问这里,下载并进行安装OpenSSL工具,安装完成后配置环境变量。
  2. 在 D:\certificates 文件夹下,以管理员身份运行cmd命令行窗口。
  3. 生成密钥对(server.key):

    生成“密钥对”时输入的密码在生成“证书请求文件”、“CA证书”以及“验证证书”时需要用到,请妥善保存。

    openssl genrsa -des3 -out server.key 2048

  4. 使用密钥对生成证书请求文件:

    生成证书请求文件时,要求填写证书唯一标识名称(Distinguished Name,DN)信息,参数说明如下表1 所示。

    表1

    提示

    参数名称

    取值样例

    Country Name (2 letter code) []:

    国家/地区

    CN

    State or Province Name (full name) []:

    省/市

    GuangDong

    Locality Name (eg, city) []:

    城市

    ShenZhen

    Organization Name (eg, company) []:

    组织机构(或公司名)

    Huawei Technologies Co., Ltd.

    Organizational Unit Name (eg, section) []:

    机构部门

    Cloud Dept.

    Common Name (eg, fully qualified host name) []:

    CA名称(CN)

    Huawei IoTDP CA

    Email Address []:

    邮箱地址

    /

    A challenge password []:

    证书密码,如您不设置密码,可以直接回车

    /

    openssl req -new -key server.key -out server.csr

  5. 生成CA证书(server.crt):

    openssl x509 -req -days 50000 -in server.csr -signkey server.key -out server.crt

上传并验证CA证书

  1. 登录设备发放控制台,进入“证书”界面,单击右上角“上传CA证书”,填写“证书名称”并上传上述“制作CA证书”步骤后生成的“CA证书(server.crt文件)”,单击“确定”。

  2. 验证步骤1中上传的CA证书,只有成功验证证书后该证书方可使用。

    1. 为私有密钥验证证书生成密钥对。
      openssl genrsa -out client.key 2048
    2. 获取随机验证码。

    3. 利用此验证码生成证书请求文件CSR。
      openssl req -new -key client.key -out client.csr

      CSR文件的Common Name (e.g. server FQDN or YOUR name) 需要填写此验证码。

    4. 使用由CA私有密钥签名的CSR创建私有的验证证书(client.crt)。
      openssl x509 -req -in client.csr -CA server.crt -CAkey server.key -CAcreateserial -out client.crt -days 500 -sha256

      生成验证证书用到的“server.crt”和“server.key”这两个文件,为“制作CA证书”中所生成的两个文件。

    5. 上传验证证书进行验证。

添加自定义策略

添加自定义策略。

创建注册组

连接鉴权

MQTT.fx 是目前主流的 MQTT 桌面客户端,它支持 Windows, Mac, Linux,可以快速验证是否可以与设备发放服务进行连接并发布或订阅消息。

本文主要介绍 MQTT.fx 如何与华为设备发放交互,其中设备发放服务MQTT的南向接入地址请参考获取终端节点

  1. 打开 MQTT.fx 下载页面,下载并安装 MQTT.fx 客户端(以 MQTT.fx 1.7.0 for Windows版本为例)。
  2. 打开 MQTT.fx 客户端程序,单击“设置”。

  3. 填写 Connection Profile 相关信息和 General 信息。其中General 信息可以用工具默认的参数配置。

  4. 填写 User Credentials 信息。

    其中Username 参考MQTT CONNECT连接鉴权参数说明(无需填写Password)。

  5. 选择开启 SSL/TLS,勾选Self signed certificates,配置相关证书内容。

    • CA File为设备发放对应的CA证书。
    • Client Certificate File为设备的设备证书。
    • Client Key File为设备的私钥。
  6. 完成以上步骤后,单击“Apply”和“OK”保存,并在配置文件框中选择刚才创建的文件名,单击“Connect”,当右上角圆形图标为绿色时,说明连接设备发放服务成功,可进行订阅(Subscribe)和消息推送(Publish)操作。

引导消息订阅

按照设备接收引导信息topic填写对应的topic,单击“Subscribe”进行订阅。订阅成功如下所示:

引导请求发布

按照设备请求引导信息topic填写对应的topic,单击“Publish”进行消息推送。

接收到引导消息

消息推送成功如下所示,在Subscribe的topic下会返回对应设备的设备接入服务的地址。

后续操作

至此,您已完成了设备发放的流程。设备发放已成功将您的设备【接入IoTDA所需的必要信息】预置到了IoTDA实例中。

如您想要体验物联网平台的更多强大功能,您可通过如下步骤完成对IoTDA的后续操作:

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

您可参考指导:设备接入 IoTDA> 开发指南> 设备侧开发> 使用MQTT Demo接入> 使用MQTT.fx调测中的【上报数据】和【进阶体验】部分。

得益于设备发放的预置功能,在参考IoTDA指导过程中,您无需再创建产品和设备。

分享:

    相关文档

    相关产品

关闭导读