检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
基于Jmeter工具进行MQTT性能测试 场景说明 随着物联网技术的发展,全球物联网设备连接规模与日俱增。大量设备接入和设备管理对网络带宽、通信协议以及平台服务架构都带来了很大挑战。IoT架构选型时,对平台进行性能测试显得尤为重要。本文介绍如何使用JMeter工具对平台的MQTT协议接入能力进行性能压测。
原因 0x00 连接成功。 连接成功。 0x01 请求拒绝,协议版本错误。 服务器不支持客户端请求MQTT协议版本。 0x02 请求拒绝,无效的客户端标识符。 clientId不符合格式要求或者心跳时间间隔不满足平台要求。 0x03 请求拒绝,服务器不可用。 平台服务不可用。 0x04
导入成功后,显示如下。 调测“获取IAM用户Token”接口 在访问物联网平台业务接口前,应用服务器需要调用“获取IAM用户Token”接口鉴权,华为云认证通过后向应用服务器返回鉴权令牌X-Subject-Token。 应用服务器需要构造一个HTTP请求,请求示例如下: POST https://iam
CONNECT连接鉴权 接口功能 设备发放平台设备侧支持MQTT协议的connect消息接口,接口规范参考MQTT标准规范,鉴权通过后建立设备与平台间的MQTT连接。 设备发放平台目前只支持MQTTS接入,设备通过connect消息接口和平台建立MQTT连接时,需要使用服务端CA证书
备状态定义如下: 状态类型 状态 短连接设备(如NB-IoT设备) 长连接设备(MQTT) 连接状态 在线 如果在25小时内设备有上报过数据,设备的状态为“在线”;如果在25小时内未上报过数据,设备的状态会变为“异常”。 设备与平台之间一直连接,无断开。 离线 设备接入平台后,设
自定义设备侧域名 概述 自定义域名允许设备指定要连接到 IoTDA 的自定义完全限定域名 (FQDN)。使用自定义域名,用户可以管理自己的服务器证书,例如用于签署证书的根证书颁发机构 (CA)、签名算法、以及证书的生命周期。 使用场景 自己管理服务器证书的根证书颁发机构 (CA)、签名算法、以及证书的生命周期等。
设备的产品模型中定义了平台可向设备设置的属性,平台/应用服务器可通过属性设置的方式修改指定设备的属性值。 平台查询设备属性 平台/应用服务器通过属性查询的方式,实时查询指定设备的属性数据。 平台命令下发 平台/应用服务器按产品模型中定义的命令格式下发控制命令给设备。 平台事件下发 平台/应用服务器按产品模型中定义的事件格式下发事件给设备。
在弹出的“新增测试设备”窗口,选择“真实设备”,输入测试设备的参数,单击“确定”。 图7 在线调试-新增测试设备 注:如果使用DTLS传输层安全协议接入时,请妥善保存密钥。 新添加的设备处于未激活状态,此时不能进行在线调试,可参考连接鉴权,待设备接入平台后,进行调试。 单击“调试”,进入调试界面。
删除设备 功能介绍 应用服务器可调用此接口在物联网平台上删除指定设备。若设备下连接了非直连设备,则必须把设备下的非直连设备都删除后,才能删除该设备。该接口仅支持删除单个设备,如需批量删除设备,请参见 创建批量任务。 调用方法 请参见如何调用API。 URI DELETE /v5/
置产品的服务。 图6 自定义模型-MQTT 新增服务类型“Location”。 在“新增服务”页面,填写“服务ID”、“服务类型”和“服务描述”,单击“确定”。 图7 添加服务-Location “服务ID”:Location “服务类型”:建议和服务ID保持一致 “服务描述”:设备上报的位置数据
物联网平台采用HTTPS协议向应用服务器进行消息推送时,物联网平台需要校验应用服务器的真实性,需要在物联网平台上加载CA证书,该证书由应用服务器侧提供(调测时可自行制作调测证书,商用时建议更换为商用证书,否则会带来安全风险)。 推送机制:物联网平台向应用服务器推送消息后,如果应用服务器接收消息成功,会向物联网平台返回200
String 参数说明:连接MYSQL数据库的库名。 取值范围:长度不超过64,只允许字母、数字、下划线(_)、连接符(-)的组合。 username 是 String 参数说明:连接MYSQL数据库的用户名 password 是 String 参数说明:连接MYSQL数据库的密码
用户可以通过该接口创建隧道(WebSocket协议),应用服务器和设备可以通过该隧道进行数据传输。 该API接口在基础版不支持。 该API调用后平台会向对应的MQTT/MQTTS设备下发隧道地址及密钥,同时给应用服务器也返回隧道地址及密钥,设备可以通过该地址及密钥创建WebSocket协议连接。 一个设备无法创建多个隧道。
图2 创建MQTT产品-标准类型 连接鉴权 参考连接鉴权接口文档,使用MQTT.fx工具接入物联网平台。 下载MQTT.fx(默认是64位操作系统,如果是32位操作系统,单击此处下载MQTT.fx),安装MQTT.fx工具。 安装最新版MQTT.fx工具,可单击此处下载。 MQTT.fx
冻结设备 功能介绍 应用服务器可调用此接口冻结设备,设备冻结后不能再连接上线,可以通过解冻设备接口解除设备冻结。注意,当前仅支持冻结与平台直连的设备。该接口仅支持冻结单个设备,如需批量冻结设备,请参见 创建批量任务。 调用方法 请参见如何调用API。 URI POST /v5/i
功能介绍 应用服务器在调用物联网平台的创建规则触发条件(Resource:device,Event:update)、创建规则动作、修改规则触发条件接口配置并激活规则后,当物联网平台中的设备更新时,物联网平台会向应用服务器推送通知消息。 URI POST /由应用服务器创建设备更新通知规则的转发目标决定
功能介绍 应用服务器在调用物联网平台的创建规则触发条件(Resource:device,Event:delete)、创建规则动作、修改规则触发条件接口配置并激活规则后,当物联网平台中的设备删除时,物联网平台会向应用服务器推送通知消息。 URI POST /由应用服务器创建设备删除通知规则的转发目标决定
String 参数说明:连接MYSQL数据库的库名。 取值范围:长度不超过64,只允许字母、数字、下划线(_)、连接符(-)的组合。 username 是 String 参数说明:连接MYSQL数据库的用户名 password 是 String 参数说明:连接MYSQL数据库的密码
打开IDEA开发者工具,单击“ Import Project”。 选择步骤1中下载的样例,然后根据界面提示,单击“next”。 完成代码导入。 建立连接 设备或网关在接入物联网平台时首先需要和平台建立连接,从而将设备或网关与平台进行关联。开发者通过传入设备信息,将设备或网关连接到物联网平台。
Telemetry Transport)是一个基于客户端-服务器的消息发布/订阅传输协议,主要应用于计算能力有限,且工作在低带宽、不可靠的网络的远程传感器和控制设备,适合长连接的场景,如智能路灯等。固件升级功能是网络设备所必须支持的基础服务。在设备固件出现安全漏洞、软件bug维护、自身功能