连接测试
更新时间:2020-01-15
创建设备后,可以在控制台通过“连接测试”功能模拟MQTT客户端,验证物接入的连接情况。用户也可以通过MQTT.fx验证连接情况。
在执行连接测试前,必须先创建物接入设备。
- 选择“产品服务>物接入IoT Hub”,进入实例列表。
-
点击实例名称,进入物接入实例页面。
-
点击“连接测试”,进入测试页面,填写“身份密钥”,点击“connect”,此时可看到设备状态由“未连接”变成“运行中”。
有关其它参数的介绍,如下表所示:
参数名称 | 描述 | 必要性 |
---|---|---|
主机名称 | 实例地址,yourendpoint.mqtt.iot.gz.baidubce.com |
必填 |
端口 | wss端口 443 | 必填 |
用户ID | 客户端ID,用户自定义。在同一个实例下,每个实体设备需要有一个唯一的ID,不同实体设备使用同一个client id建立连接会导致其它连接下线。用户ID只支持英文大小写字母,数字0-9,中划线和下划线,不支持其它字符。 | 必填 |
用户名 | 成功创建thing后生成的用户名称,yourendpoint/设备名称 |
必填 |
密码 | 与thing绑定的principal的密码。成功创建身份principal后系统会自动生成的密码 | 必填 |
Keep Alive | 连接保持时长,单位为秒 | 必填 |
SSL | SSL安全验证 | 必填 |
Clean Session | 清理会话 | 选填 |
Last-Will Topic | 遗嘱消息主题 | 选填 |
Last-Will QoS | 遗嘱QoS,发布遗嘱消息时使用的服务等级 | 选填 |
Last-Will Retain | 遗嘱保留,如果勾选遗嘱保留,遗嘱消息发布时将会保留且发送给新的订阅消息 | 选填 |
Last-Will Messsage | 遗嘱消息,在网络连接关闭后,IoT Hub将会自动发布本条遗嘱消息 | 选填 |
Keep Alive MQTT协议是一个客户端和服务器端长连接的过程。Keep Alive timer以秒为单位,定义的是从客户端相邻两次接收消息的最大间隔时间,也可以说是一次长连接的保持时间。因此,客户端每隔一段时间就需要向服务器发送数据来保持连接(相当于心跳报文的功能),服务器接收到连接信息后,会反馈一个响应ACK。当服务器端在Keep Alive timer的1.5倍时间内都没有收到来自客户端的任何消息,就会默认为客户端断开连接。
Clean Session 如果该位被设置为false,则该连接被认为是持久连接,其具体表现为:当该客户断开后,任何订阅的主题和QoS被设置为1或2的信息都会保存,直到该客户端再次连接上server端,物接入服务支持将该消息保留24小时。若“clean session”被设置为true,当该客户断开后,所有的订阅主题都会被移除。
Last-Will当一个客户端断开连接的时候,它希望客户端可以发送它指定的消息。该消息和普通消息的结构相同。通过设置Last-Will Topic和Last-Will Message实现。
连接成功后,可以设置消息订阅和发布,通过自发自收的方式测试连接,如下图所示: