阿里云物联网平台--学习记录(一)

一般的MQTT服务器的连接注册方式
  • 用户名:
  • 密码:
  • MQTT的服务器IP地址:
  • 客户端ID:
阿里物联网平台的连接注册方式

 阿里物联网平台使用了“三元组”:

  • ProductKey
  • DeviceName
  • DeviceSecret

 通过使用阿里云物联网平台的SDK,使用这个三元组就可以完成连接平台的工作;实际上是SDK屏蔽了连接MQTT的基本操作。按照MQTT服务器的基本操作,用户名和密码以及客户端IP是必须的,但是在使用SDK的过程中并没有接触到。
 通过交流知道了阿里云物联网平台的连接操作:

参数 阿里云物联网平台参数
UserName {DeviceName}&{ProductKey}
PassWord 如下示例
ClientID {随便定}|securemode=3,signmethod=hmacsha1,timestamp=789|
IP {ProductKey}.iot-as-mqtt.cn-shanghai.aliyuncs.com

知道了以上的知识,就可以用连接普通MQTT服务器的方式连接阿里云物联网平台服务器了。

PassWord生成
一般来说,hmac_sha1进行编码时会有两个参数:Key和value。

  • Key对应三元组中的:DeviceSecret
  • value就要复杂一点(XXXX,替换成实际的值):clientIdXXXXdeviceNameXXXXproductKeyXXXXXXtimestamp789

C语言:

password = hmacsha1("secret","clientId168.207.115deviceNameMQTT1productKeyTKKMt4nMF8Utimestamp789").toHexString();

Python语言:

import hmac
from hashlib import sha1

def hmac_sha1(key, context):
    hmac_code = hmac.new(key.encode(), context.encode(), sha1)
    return hmac_code.hexdigest()

你可能感兴趣的:(物联网)