您当前的位置:首页 >> 家居优品

【干货】超详细!TPC7062封装MQTT协定

2023-02-28 12:16:20

数; 若远大于2097152小于268435455,所需用以四位加载样本,_BIT_1提领(x MOD 128)+128,_BIT_2提领(x/128 MOD 128)+128,_BIT_3提领(x/128/128 MOD 128)+128,_BIT_4提领x/128/128/128取整倍数; 远大于268435455超成MQTT3.1.1条款明定的小得多个字符;

剧本参考“MA形状线程”剧本。

一小个字符形状解二进位

1.两个寄存器的计数方双管:

一小形状=(Byte1-128)+Byte2*128

2.三个寄存器的计数方双管:

一小形状=(Byte1-128)+[(Byte2-128)+Byte3*128]*128

3.以此类推,四个寄存器的计数方双管为:

一小形状=(Byte1-128)+{(Byte2-128)+[(Byte3-128)+Byte4*128]*128}*128

通往终端

CONNECT:10+个字符总形状(遵循一小个字符正则表达双管)+00+04+4D 51 54 54+04(MQTT3.1.1)+C2 +保活一段时间(120s:00 78)+但会话形状(2寄存器)+但会话ID+Gmail名形状(2寄存器)+Gmail名+密二进位形状(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剧本(Gmail策略)配置如下:

第一步:堆栈递送线程codice_;

第二步:为递送线程codice_重写条款上标字段(00044D51545404C2)+保活一段时间16负数两寄存器(0078);

第三步:传布CLIENT ID个字符到计数线程codice_,用以计数和个字符转回换成(子程序在此以后和文写到的形状计数剧本和ASCII转回HEX剧本);

第四步:将结输结果提领递送线程codice_;

用以并不相同方法有分别计数加载Username与password;

第五步:将之在此以后的线程的个表达双管传布形状计数输成个字符全长约;

第六步:烧录终端头及MA形状;

第七步:递送终端才但会链接自发;

路中成功链接但会调回20020000,最后一位表示调回二进位,只有0x00才是正确路中,其余调回二进位都表示链接拒绝通往(具体含义恳请检索OASIS-MQTT3.1.1条款标准规范)。

脸红终端

PINGREQ:C0 00

链接调回:D0 00

脸红终端基于MCGS的循环策略长周期递送,

订阅者终端

SUBSCRIBE:82 +个字符总形状(遵循一小个字符正则表达双管)+00 00+订阅者邮箱形状(2寄存器)+订阅者邮箱+咨询服务一般来说(00、01、02).....+订阅者邮箱+咨询服务一般来说(00、01、02)(可同时订阅者多个题材)。

链接自发:9003000000(小得多Qos0),9003000001(小得多QoS1)。

MCGS剧本配置如下:

第一步:堆栈递送线程codice_;

第二步:为递送线程codice_重写终端上标符(0000);

第三步:传布SUB-TOPIC个字符到计数线程codice_,用以计数和个字符转回换成(子程序在此以后和文写到的形状计数剧本和ASCII转回HEX剧本);

第四步:复原计数结果;

第五步:烧录咨询服务一般来说均支持0、1;

第六步:将之在此以后的线程的个表达双管传布形状计数输成个字符全长约;

第七步:烧录终端头及MA形状;

第八步:才但会链接自发;

若订阅者恳求终端递送出错(非链接许可题材和咨询服务一般来说)链接但会断开通往,因此超时后递送脸红升级的网站静止状态;

刊发终端

PUBLISH:30 +个字符总形状(遵循一小个字符正则表达双管)+刊发邮箱形状(2寄存器)+刊发邮箱+Gmail样本

PUBLISH:32 +个字符总形状(遵循一小个字符正则表达双管)+刊发邮箱形状(2寄存器)+刊发邮箱+00 00(终端上标)+Gmail样本(QoS1)

链接但会调回:4002xxxx(终端上标与刊发相比较,咨询服务一般来说0无ACK调回)

第一步:堆栈递送线程codice_;

第二步:传布PUB-TOPIC个字符到计数线程codice_,用以计数和个字符转回换成(子程序在此以后和文写到的形状计数剧本和ASCII转回HEX剧本);

第四步:复原计数结果;

第五步:传布递送样本个字符到计数线程codice_,用以计数和个字符转回换成(子程序在此以后和文写到的形状计数剧本和ASCII转回HEX剧本);

第六步:根据一般来说烧录终端上标符,一般来说0不所需重写终端上标;

第七步:将之在此以后的线程的个表达双管传布形状计数输成个字符全长约;

第八步:根据一般来说烧录终端头及MA形状;

第九步(Qos1):才但会链接自发,自发超时若有一次;

若订阅者恳求终端递送出错(非链接许可题材和咨询服务一般来说)链接但会断开通往,因此超时后递送脸红升级的网站静止状态;

三.实例演示

通过通往阿里云MQTT链接,并用以阿里云NTP咨询服务借助当在此以后一段时间,恳求格双管参考NTP咨询服务 - 阿里云科技SDK - 阿里云。

太极藿香正气口服液
珠海看白癜风哪里好
广东男科检查
潍坊男科挂号
天津男科医院哪家专业
友情链接