我目前在测试我们物联网设备,准备连接到阿里的平台。但测试过程中,我第一步创建产品和设备后,进行connect连接就返回20 02 00 04 (04查手册为“用户名或密码的数据格式无效”)。但核对了数据格式,应该是对的。请大家指教。下面我贴出我的报文格式: 阿里云服务器IP地址(华东2):.iot-as-mqtt.cn-shanghai.aliyuncs.com 表示自己账号的ProductKey注意替换 阿里云服务器端口号(华东2):1883
针对我们自己的ProductKey的服务器IP地址为:a1NxLEvHvcg.iot-as-mqtt.cn-shanghai.aliyuncs.com
hmacsha1加密在线计算网站:http://encode.chahuo.com
客户端ID: |securemode=3,signmethod=hmacsha1| 设备名称 注意替换 用户名 : &# 设备名称 #ProductKey 注意替换 密码 : 用DeviceSecret作为秘钥对clientIdDeviceNameproductKey#进行hmacsha1加密的结果 *设备名称 #ProductKey 注意替换
{///三元组 "ProductKey": "a1NxLEvHvcg", "DeviceName": "D001", "DeviceSecret": "4f3e4179e387585b3cbc60d82ddbef49" }
针对D001的加密前字符串 :clientIdD001DeviceNameD001productKeya1NxLEvHvcg 秘钥(DeviceSecret) :4f3e4179e387585b3cbc60d82ddbef49 算出针对D001的密码 :9db25769d9f10433419ce6375129868f0b0d11c0
针对D001的客户端ID:D001|securemode=3,signmethod=hmacsha1| 44 30 30 31 7C 73 65 63 75 72 65 6D 6F 64 65 3D 33 2C 73 69 67 6E 6D 65 74 68 6F 64 3D 68 6D 61 63 73 68 61 31 7C 共38(0x26)个字节
针对D001的用户名 : D001&a1NxLEvHvcg 44 30 30 31 26 61 31 4E 78 4C 45 76 48 76 63 67 共16(0x10)个字节
针对D001的密码 :9db25769d9f10433419ce6375129868f0b0d11c0 39 64 62 32 35 37 36 39 64 39 66 31 30 34 33 33 34 31 39 63 65 36 33 37 35 31 32 39 38 36 38 66 30 62 30 64 31 31 63 30 共40(0x28)个字节
1、connect 连接报文 10 固定报头 ?? 剩余长度(通过后面所有字节个数算出为110(0x6E)个) 00 04 4D 51 54 54 04 C2 00 64 可变报头 00 26 针对D001的客户端ID长度 44 30 30 31 7C 73 65 63 75 72 65 6D 6F 64 65 3D 33 2C 73 69 67 6E 6D 65 74 68 6F 64 3D 68 6D 61 63 73 68 61 31 7C 针对D001的客户端ID 00 10 针对D001的用户名长度 44 30 30 31 26 61 31 4E 78 4C 45 76 48 76 63 67 针对D001的用户名 00 28 针对D001的用密码长度 39 64 62 32 35 37 36 39 64 39 66 31 30 34 33 33 34 31 39 63 65 36 33 37 35 31 32 39 38 36 38 66 30 62 30 64 31 31 63 30 针对D001的密码
合并报文: 10 6E 00 04 4D 51 54 54 04 C2 00 64 00 26 44 30 30 31 7C 73 65 63 75 72 65 6D 6F 64 65 3D 33 2C 73 69 67 6E 6D 65 74 68 6F 64 3D 68 6D 61 63 73 68 61 31 7C 00 10 44 30 30 31 26 61 31 4E 78 4C 45 76 48 76 63 67 00 28 39 64 62 32 35 37 36 39 64 39 66 31 30 34 33 33 34 31 39 63 65 36 33 37 35 31 32 39 38 36 38 66 30 62 30 64 31 31 63 30
发送后,阿里云服务器返回20 02 00 04。
敬请回复,期待……
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。