物联网应用专家

当前位置: 首页 >应用方案 >技术应用 >

PC7062封装MQTT协议链接报文步骤教程

分享到:

PC7062封装MQTT协议链接报文步骤

连接报文

CONNECT10+字符总长度(遵循剩余字符算法)+00+04+4D 51 54 54+04MQTT3.1.1+C2 +保活时间(120s:00 78+客户端长度(2字节)+客户端ID+用户名长度(2字节)+用户名+密码长度(2字节)+PASSWORD

例如

{

"clientId":"a1mc0PReOQ9.NTP_TEST|securemode=2,signmethod=hmacsha256,timestamp=1647925073533|",

"username":"NTP_TEST&a1mc0PReOQ9",

"mqttHostUrl":"a1mc0PReOQ9.iot-as-mqtt.cn-shanghai.aliyuncs.com",

"passwd":"cc207a68488466dc5ffb1278cf4f30e77fa7b9fdea072d722addeade429cc2da",

"port":1883

}

报文如下(保护时间120s)

10 B4 01 00 04 4D 51 54 54 04 C2 00 78 00 50 61 31 6D 63 30 50 52 65 4F 51 39 2E 4E 54 50 5F 54 45 53 54 7C 73 65 63 75 72 65 6D 6F 64 65 3D 32 2C 73 69 67 6E 6D 65 74 68 6F 64 3D 68 6D 61 63 73 68 61 32 35 36 2C 74 69 6D 65 73 74 61 6D 70 3D 31 36 34 37 39 32 35 30 37 33 35 33 33 7C 00 14 4E 54 50 5F 54 45 53 54 26 61 31 6D 63 30 50 52 65 4F 51 39 00 40 63 63 32 30 37 61 36 38 34 38 38 34 36 36 64 63 35 66 66 62 31 32 37 38 63 66 34 66 33 30 65 37 37 66 61 37 62 39 66 64 65 61 30 37 32 64 37 32 32 61 64 64 65 61 64 65 34 32 39 63 63 32 64 61

MCGS脚本(用户策略)配置如下:

链接报文1

第一步:初始化发送缓存变量;

第二步:为发送缓存变量写入协议标识字段(00044D51545404C2+保活时间16进制两字节(0078);

第三步:传入CLIENT ID字符到计算缓存变量,用于计算和字符转换(调用前文提到的长度计算脚本和ASCIIHEX脚本);

链接报文2

第四步:将结算结果存入发送缓存变量;

链接报文3

使用相同方法分别计算存储Usernamepassword

第五步:将之前的缓存的字符串传入长度计算算出字符总长;

链接报文4

第六步:封装报文头及可变长度;

链接报文5

第七步:发送报文等待服务器响应;

链接报文6

接入成功服务器会返回20020000,最后一位表示返回码,只有0x00才是正确接入,其余返回码都表示服务器拒绝连接(具体含义请查询OASIS-MQTT3.1.1协议规范)。

推荐文章:【教程】利用ECAN-401实现CAN报文自定义协议转发

          PC7062封装MQTT协议发布报文教程

查看技术文章和免费咨询技术问题可以访问我司官网及各官方平台:

微信号:cdebyte

今日头条:亿佰特

新浪微博:成都亿佰特

成都亿佰特--物联网应用专家,随时在身边,时刻准备为您服务!



https://www.wjx.cn/jq/84863372.aspx