Appearance
设备TCP连接认证
设备管理平台支持基于TCP协议,您可以使用TCP建立连接。
连接认证规范
使用TCP方式进行连接,连接参数如下。
- 1、参数:接入域名+端口号。根据具体的平台部署情况,选择合适的地址接入:xxx.openvalley.net:port
- 2、参数:TCP的CONNECT报文。
连接参数如下:
json
{
"clientId":clientId+"|clienttype=0,signmethod=hmacmd5,timestamp=132323232|",
"password":sign_hmac(deviceSecret,content),
"username":deviceName+"&"+productKey
}
参数说明如下:
- clientId:连接的客户端ID。格式中 | 内为扩展参数。
- clientId:必传。表示客户端ID,可自定义,长度不可超过64个字符。强烈建议使用设备的SN码或MAC地址,方便识别区分不同的客户端。
- clienttype:可选。标识客户端类型,clienttype=0:直连设备(默认,可不传);clienttype=1:appuser,app端用户认证(app也可作为一个通用设备接入mqtt组件中); clienttype=2:web模拟器模拟设备连接认证(需要校验时间)。如果不传则默认为:clienttype=0。
- signmethod:可选。表示签名算法类型。支持hmacmd5,hmacsha1和hmacsha256,不传默认为:hmacmd5。
- timestamp:可选。表示当前时间毫秒值的时间戳,会校验时效性。
- username:连接的用户名。使用 & 分隔扩展。
- deviceName:必传。表示具体的deviceName。
- productKey:必传。表示具体的productKey。
- password:连接的密码。sign签名需把提交给服务器的参数按字典排序后,根据signmethod加签。签名计算示例下文有说明。 content的值为提交给服务器的参数(productKey、deviceName、clientId、timestamp),按照参数名称首字母字典排序, 然后将参数值依次拼接。
示例: 假设 clientId = 12345,deviceName = device1, productKey = pk, timestamp = 789,signmethod=hmacmd5,deviceSecret=secret123,那么提交给TCP服务的参数如下:
json
{
"clientId":"12345|signmethod=hmacmd5,timestamp=789|",
"password":"566BCDA5123424CE529006AFD27BBF7B",
"username":"device1&pk"
}
连接示例工具
![](/image/device/tlink/tcp-client.png)