• 欢迎大家分享资料!前往留言板评论即可!

onenet 新版MQTTS 连接代码分享

合宙 模组资料网 2年前 (2021-05-15) 424次浏览 0个评论 扫描二维码
                        luat 编写代码连接onenet 新版MQTTS代码

代码功能:1.动态生成token 密钥 

                  2.根据IMEI号码 自动创建 平台设备

                  3. 利用生成的token 连接MQTTS 上传数据

工程代码分享github https://github.com/CQADu/luat-onenet-MQTTS.git

token

–[[
连接onenet后台 的token 创建函数
参数 et 密钥过期时间点 字符串
     res 实例名称 有API访问的密钥 和设备mqtt 登陆用的密钥
access_key 产品key
返回连接用的 密钥
说明:加密方式 为sha1
]]
local function OnenetTokenCreate(et , res ,access_key)
密钥时间只能一个小时有效
res = “products/”.. tostring(productsId)
et = os.time() + 3600
et = 1578231806
method = sha1
version = 2018-10-31
org1 = et .. \n .. method .. \n ..  res .. \n .. version
log.info(org1=..org1)
key  = crypto.base64_decode(access_key,string.len(access_key)) 解码
sign_b = crypto.hmac_sha1(org1,string.len(org1),key,string.len(key)) 采用hmac 里面的sha1 加密算法
log.info(Hmac_sha1 Hex data = .. sign_b)
sign_b = hex_to_binary(sign_b)
log.info(Hmac_sha1 Hex data2 = .. sign_b)
sign = crypto.base64_encode( sign_b, string.len(sign_b) ) 对hmac 出来的数据进行 base64 编码
hmacUrl = urlEncode(sign)
log.info(经过url 编码的hamc 加密码= .. hmacUrl)
resUrl = urlEncode(res) res 字符串也 url 编码
return string.format(version=%s&res=%s&et=%s&method=%s&sign=%s ,version, resUrl, et, method, hmacUrl)
end


转载请注明原文链接:onenet 新版MQTTS 连接代码分享
喜欢 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址