mqtt调试助手_物联网入门,如何使用MQTT协议,连接Tlink物联网平台

大家好,超子又和大家见面了,超子我能力有限,技术不高,有什么错误的地方,欢迎板砖。今天我们一起构建MQTT协议中的CONNECT报文连接Tlink物联网平台。在前面的文章《Tlink物联网平台使用心得(1)建立产品和设备》中,超子介绍了Tlink平台如何建立设备组和设备,以及传感器的相关设置,这些内容需要大家提前掌握。然后我们来构建报文。

首先是CONNECT报文的固定报头是,0x10 ??,??表示剩余长度,我们需要确定了可变报头和负载后才能计算出剩余长度,所以暂时待定。

CONNECT报文中的可变报头用来设置信息和各种功能,Tlink物联网平台和阿里云物联网平台的一样,所以直接把阿里云的可变报头拿过来就行,简化的16进制书写,去掉0x,结果如下:

00 04 4D 51 54 54 04 C2 00 64

CONNECT报文中的负载包含客户端ID,用户名和密码3个重要的消息,先总结下各种信息对应的什么内容。

88598672a0e5d8be15ebed9b1f145c05.png

用户名和密码说明

客户端ID:对应设备的序列号

用户名:如上图所示,是固定的MQTT

密码:如上图所示,是固定的MQTTPW

用户名和密码已经确定下来了,我们一起来找一下客户端ID的信息在什么地方。

c25641faec22f3587cadb5b5751c09af.png

设备序列号

我们在左侧的导航栏中,进入设备管理界面,可以看到我们上一篇文章中新建的两个设备,红圈所示就是设备的序列号,也就是我们需要的客户端ID。我们先以开关设备为例,设备的序列号长度是16,我们把设备序列号字符串换成16进制,而且前面还得加上两个字节,表示长度16,最终的16进制,简化书写,去掉0x后的结果如下:

00 10 32 33 4C 36 39 38 4F 4A 44 53 30 51 31 4D 47 34

再看负载中的用户名,是固定的MQTT,长度4个字节,那么换成16进制,然后前面再加上两个字节,表示长度4,最终的16进制,简化书写,去掉0x后的结果如下:

00 04 4D 51 54 54

再看负载中的密码,是固定的MQTTPW,长度6个字节,那么换成16进制,然后前面再加上两个字节,表示长度6,最终的16进制,简化书写,去掉0x后的结果如下:

00 06 4D 51 54 54 50 57

到此整个负载就搞定了,接下来我们把客户端ID+用户名+密码连接起来,简化16进制,去掉0x结果如下:

00 10 32 33 4C 36 39 38 4F 4A 44 53 30 51 31 4D 47 34 00 04 4D 51 54 54 00 06 4D 51 54 54 50 57

我们一起数一下,整个负载部分共计32个字节 。剩余长度=可变报头+负载=10+32=42,42/128=0,一个字节就能搞定,换成16进制就是0x2A,最后我们把固定报头、可变报头和负载连接起来,简化16进制,去掉0x的最终结果如下:

10 2A 00 04 4D 51 54 54 04 C2 00 64 00 10 32 33 4C 36 39 38 4F 4A 44 53 30 51 31 4D 47 34 00 04 4D 51 54 54 00 06 4D 51 54 54 50 57

到此CONNECT报文构建完毕,我们用网络助手实测一下,Tlink物联网平台提供的域名和端口号如下所示:

mq.tlink.io:1883

我们实际测试一下CONNECT报文,看看能不能正常的连接上Tlink物联网平台。

727794fb49eeb35049143436565122b5.png

网络助手实际测试报文

使用网络调试助手软件发送报文后,Tlink物联网平台回复我们的CONNACK报文中,我们看最后1个字节是0x00,,说明我们的CONNECT报文正确。如此一来我们今天的任务就圆满完成了。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
阿里云物联网平台是一种基于云计算的物联网解决方案,提供了多种相关技术和服务。其中,MQTT(Message Queuing Telemetry Transport)是一种轻量级的消息传输协议,通常用于物联网设备之间的通信。 在阿里云物联网平台中,MQTT可以通过3个通道进行数据传输。这三个通道可以分别用于传输设备状态、设备属性和设备事件。通过这样的数据传输,物联网平台可以帮助用户实现对设备的监控、控制、数据采集和分析等功能。 具体来说,MQTT协议是一种基于发布/订阅机制的协议物联网设备可以通过订阅某个主题,以接收相关的数据消息。同时,设备也可以发布自己的数据消息到指定的主题,供其他设备或应用程序订阅和使用。 在物联网开关领域,MQTT协议可以发挥重要作用。物联网开关是一种可以连接智能设备的装置,例如灯光开关、电源开关等。通过采用MQTT协议物联网开关可以与其他物联网设备进行通信,接收和发送相关的控制消息。这样的交互可以实现对设备的智能控制和远程管理,提高了设备的便捷性和智能化水平。 总之,阿里云物联网平台MQTT协议,提供了一种高效的物联网设备通信方式,通过mqtt 3路数据,mqtt协议物联网开关的结合,可以实现对设备的智能控制和数据传输,为物联网应用提供了强大的技术支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值