检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
MQTT场景--使用华为SDK接入设备发放示例 MQTT 密钥设备使用静态策略发放 MQTT 注册组静态策略发放示例
下载云证书注册组设备证书 连接鉴权 MQTT.fx 是目前主流的MQTT桌面客户端,它支持 Windows, Mac, Linux,可以快速验证是否可以与设备发放服务进行连接并发布或订阅消息。 本文主要介绍 MQTT.fx 如何与华为设备发放交互,其中设备发放服务MQTT的南向接入地址请参考获取终端节点。
在证书管理服务创建根CA证书 根据云证书管理服务的指导说明,在云证书管理服务控制台创建根CA证书。 添加证书策略 采用华为云证书认证的设备,三种策略都支持引导,以“证书策略”为例,在“设备发放”创建对应“华为云证书”的证书策略。 图1 添加证书策略 图2 添加云证书策略详情 创建设备 在设备发放控制台,注册MQTT设备,其中安全模式选择X
pem(c) CA File 设备证书(客户端证书) deviceCert.crt Client Certificate File 设备证书(客户端证书)私钥 deviceCert.key Client Key File CA证书(设备CA证书/客户端CA证书) rootCA.crt -
设备CA证书管理 上传设备CA证书 获取设备CA证书列表 删除设备CA证书 查询单个设备CA证书 更新单个设备CA证书 生成CA证书验证码/验证设备CA证书 父主题: API
从控制台获取项目ID 在调用接口时,部分URI以及请求体中需要填入项目ID,项目ID获取步骤如下: 在华为云首页右上角,点击“控制台”。 在右上角的用户名中选择“我的凭证”。 在“我的凭证”界面,API凭证页签中,查看项目ID。 调用API获取项目ID 项目ID还可以通过调用查询指定条件下的项目信息API获取。
图4 创建密钥模式静态策略设备 此处注册设备的设备名称需与添加静态策略步骤的策略实例关键字相匹配,方能触发该静态策略。 设备引导 下载并修改华为SDK示例代码进行设备引导(这里以java sdk代码为示例)。 用IDEA/Eclipse打开SDK代码工程,修改DEMO示例Boots
从这里开始 表1 设备发放操作步骤列表 使用阶段 步骤 设备开发 1. 开通设备接入服务,参考开发指南,完成设备开发。 LiteOS设备(LwM2M),设备需要具有设备发放功能。 原生MQTT协议设备,需要完成设备引导接口开发,使设备具有设备发放功能。 注:若设备需要使用物联网卡
设备 注册设备 注册组
终端节点 区域名称 区域 终端节点(Endpoint) 端口 协议 华北-北京四 cn-north-4 iot-bs.cn-north-4.myhuaweicloud.com 5683 LWM2M 华北-北京四 cn-north-4 iot-bs.cn-north-4.myhuaweicloud
自定义策略 与静态策略和证书策略相比,自定义策略为您提供更灵活的策略机制。自定义策略实例指示函数关联的设备接入实例,一个函数可关联多个设备接入实例。 设备匹配自定义策略实例的机制为: 设备的发放策略指定为“函数策略”时,需同时指定其关联的函数,设备与自定义策略实例关联同一个函数时,即被认为该设备匹配上该条策略实例;
添加自定义策略实例 进入“策略”界面,单击展开“自定义策略”,单击“添加函数”。 图1 添加自定义策略 按照下方参数说明填写关键参数信息后,单击“确定”。 参数名称 说明 示例 函数 即在函数服务中实现的自定义策略。如果下拉框没有你想要的函数,可以单击创建新函数来实现你的自定义策略需求。
策略 策略用于控制设备按照指定策略或规则发放至不同的物联网平台。当前支持自定义策略、证书策略、静态策略。 自定义策略 证书策略 静态策略
产品管理 查询产品列表 查询产品 父主题: API
Allowed 请求中指定的方法不被允许。 406 Not Acceptable 服务器生成的响应无法被客户端所接受。 407 Proxy Authentication Required 用户必须首先使用代理服务器进行验证,这样请求才会被处理。 408 Request Timeout 请求超出了服务器的等待时间。
设备管理 注册设备 查询设备列表 查询设备 修改设备 删除设备 操作设备 重置设备指纹 发放设备 父主题: API
接入点管理 查询接入点列表 查询接入点详情 查询接入点下的应用 父主题: API
API 接入点管理 设备CA证书管理 设备管理 产品管理 注册组管理 发放策略管理
附录 状态码 错误码 获取项目ID
注册组管理 查询注册组列表 创建注册组 删除注册组 查询注册组详情 删除注册组 修改注册组 查询注册组下的设备 父主题: API