基础(IOT)——阿里云的三元组是什么?怎么用?

IoT里面是根据『产品』对所有智能设备分类的。比如说智能台灯A是一个产品,智能插座B是另一个产品。每个产品根据productKey来区分。一个产品里面有很多台设备,每个设备都有一个deviceName和deviceSecret与之对应。通常把这三者联合起来称作三元组信息。

1. 三元组

阿里物联网平台的连接注册也需要用到“三元组”:

  • ProductKey
  • DeviceName
  • DeviceSecret

这个三元组并不是直接拿来用的,而是需要按照官方设定的协议规则得到UserName、PassWord、ClientID、IP这几个参数,规则就是:

参数阿里云物联网平台参数
UserName{DeviceName}&{ProductKey}
PassWord通过下面的算法获取
ClientID{随便定}|securemode=3,signmethod=hmacsha1,timestamp=789|
IP{ProductKey}.iot-as-mqtt.cn-shanghai.aliyuncs.com

PassWord生成:

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

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

2. 用在哪?

2.1 MQTT协议用到的

MQTT3.1.1协议中CONNECT 报文的有效载荷(payload) 包含一个或多个以长度为前缀的字段,可变报头中的标志决定是否包含这些字段。 如果包含的话, 必须按这个顺序出现:客户端标识符, 遗嘱主题, 遗嘱消息, 用户名

例如通过mqtt协议连接阿里云,连接函数可以定义成如下,这里入口参数就用到了上面的三个参数,客户端标识符、 用户名、 密码

uint8_t mqtt_connect(char *ClientID,char *Username,char *Password)

函数的中入口参数具体如何使用按照协议规定来就好。

2.2 wifi模块等连网设备用到的

会用到ip地址,例如esp8266在使用AT指令连接服务器时,AT+CIPSTART,就会用到服务器的IP地址。

 

 

  • 9
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值