MQTT-TCP接入通信

<p><span style="font-size:16px"><strong>操作步骤</strong></span></p> <p>MQTT客户端直连方法:</p> <p>1.&nbsp; 推荐使用TLS加密接入。如果使用TLS加密,需要下载<a href="https://pacloud.obs-cn-shanghai.pinganyun.com/about%2Froot.crt?response-content-disposition=attachment%3Bfilename%3Droot.crt" target="_blank">根证书</a>。</p> <p>2.&nbsp;&nbsp;使用MQTT客户端连接服务器,连接方法,请参见开源MQTT客户端参考。</p> <p>3.&nbsp;&nbsp;MQTT接入参数详解:</p> <table border="1" cellpadding="0" cellspacing="0"> <tbody> <tr> <td style="background-color:#ededed; width:130px"> <p>参数名称</p> </td> <td style="background-color:#ededed; width:582px"> <p>详解</p> </td> </tr> <tr> <td rowspan="3" style="width:130px"> <p>连接域名</p> </td> <td rowspan="3" style="width:582px"> <ul> <li>TLS加密接入地址:ssl://mqtt-cn-shenzhen.iot.pinganyun.com:8883</li> <li>TCP直连地址:tcp://mqtt-cn-shenzhen.iot.pinganyun.com:1883</li> <li>WebSocket连接地址:wss://mqtt-cn-shenzhen.iot.pinganyun.com:80</li> </ul> </td> </tr> <tr> </tr> <tr> </tr> <tr> <td style="width:130px"> <p>Keep Alive Interval</p> </td> <td style="width:582px"> <p>心跳时间取值范围为30至300秒,建议设置值高一些,避免网络不稳定。</p> </td> </tr> <tr> <td style="width:130px"> <p>连接参数</p> </td> <td style="width:582px"> <p>clientId: ${productKey}@@${deviceName}@@${signMethod}@@${timestamp};</p> <p>username: ${productKey}&amp;${deviceName};</p> <p>password: doSign(content,deviceSecret);</p> <ul> <li>生成password: content的值为将参数(ProductKey、DeviceName、timestamp和clientId)与对应的值,按照字母顺序升序排序, 然后将参数值依次拼接,在拼接后的字符串前后分别追加deviceSecret。doSign:即使用signMethod进行签名,生成password</li> <li>signMethod签名方法支持:MD5, SHA-1, SHA-2, SHA-256。</li> <li>timestamp:Unix时间戳,当前时间毫秒值。</li> </ul> <p>假如productKey = pk001,deviceName = device001, timestamp = 123456789,signmethod=SHA-1,deviceSecret=secret001,<br /> 那么MQTT的参数如下:</p> <ul> <li>clientId=pk001@@device001@@SHA-1@@123456789</li> <li>username=pk001&amp;device001</li> <li>password=SHA-1(secret001clientIdpk001@@device001@@SHA-1@@123456789deviceNamedevice001productKeypk001timestamp123456789secret001).toHexString(); 加密后的Password为二进制转16制字符串,示例结果为:82f52379de6bf562a76cb610da101f00768a9e13</li> </ul> </td> </tr> </tbody> </table> <p><strong>说明</strong>:如果多个设备使用同一个设备信息(ProductKey、DeviceName和DeviceSecret)同时用于连接,可能会导致客户端不规律上下线。这是因为新设备连接认证时,原使用该证书已连接的设备会被迫下线,而设备被下线后,又会自动尝试重新连接导致的。</p> <p>&nbsp;</p> <p>&nbsp;</p>
以上内容是否解决了您的问题?
请补全提交信息!
咨询·建议

电话咨询 - 7x24 小时

400-151-8800

邮件咨询

cloud@pingan.com

在线客服

7x24 小时,急速解答

工单支持

解决云产品相关技术问题