概述
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地址。
最后
以上就是眼睛大凉面为你收集整理的基础(IOT)——阿里云的三元组是什么?怎么用?1. 三元组2. 用在哪?的全部内容,希望文章能够帮你解决基础(IOT)——阿里云的三元组是什么?怎么用?1. 三元组2. 用在哪?所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复