赞
踩
之前接入onenet的教程都是老版的了,如果使用mqtt那些教程就不行了,踩坑一下午,这里记录一下。
首先进入官网创建产品和设备,我选的mqtt和数据流。
创建好使用后,mqtt.fx打开
这里有坑,name随便填就行,地址不是183那个了,换了是这个了。端口是1883,client id是你设备的名字,不是设备id!!!!!,user credentials是产品id。
接下来是密码,是使用的token生成的。
import base64 import hmac import time from urllib.parse import quote def token(id,access_key): version = '2018-10-31' res = 'products/%s' % id # 通过产品ID访问产品API # 用户自定义token过期时间 et = str(int(time.time()) + 3600) # 签名方法,支持md5、sha1、sha256 method = 'sha1' # 对access_key进行decode key = base64.b64decode(access_key) # 计算sign org = et + '\n' + method + '\n' + res + '\n' + version sign_b = hmac.new(key=key, msg=org.encode(), digestmod=method) sign = base64.b64encode(sign_b.digest()).decode() # value 部分进行url编码,method/res/version值较为简单无需编码 sign = quote(sign, safe='') res = quote(res, safe='') # token参数拼接 token = 'version=%s&res=%s&et=%s&method=%s&sign=%s' % (version, res, et, method, sign) return token if __name__ == '__main__': id = '123' access_key = '666' print(token(id,access_key))
这里要修改id和access_key ,id是你产品id,access_key 是你产品开发中的那个key,别弄混了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。