2、阿里云物联网平台基础:注册账号、创建产品与设备、理解三元组
好,咱们正式开始动手了。这一章,说白了就是带你把阿里云物联网平台的“地基”打牢。很多初学者一上来就急着写代码,结果连设备都连不上,卡在第一步。我见过不少项目,就是因为前期平台配置搞错了,后面排查半天才发现是三元组写错了。嗯,咱们别走弯路,一步步来。
2.1 注册阿里云账号
这个其实没啥好说的,但有个小细节我想提一下。我个人习惯用企业邮箱注册,因为后续如果团队协作,权限管理会方便很多。当然,个人学习用个人邮箱完全没问题。
注册地址就是阿里云官网,点“免费注册”。流程很简单,手机号验证、设置密码,几分钟搞定。注册成功后,你会进入控制台。这时候别急着点啥,先找到“物联网平台”这个产品。
2.2 创建产品
产品是什么?你可以把它理解成“设备型号”。比如你做一款智能温控器,那“智能温控器”就是一个产品。同一个产品下的设备,共享相同的功能定义和数据格式。
进入物联网平台后,点击“设备管理” -> “产品” -> “创建产品”。这里有几个关键选项,我重点说一下:
- 产品名称: 自己起个名字,比如“STM32_TempSensor”。
- 所属品类: 选“自定义品类”。除非你做的设备正好是标准品类(比如路灯、电表),否则自定义最灵活。
- 节点类型: 选“设备”。如果你是做网关,才选“网关设备”。咱们STM32直接连云,就是设备。
- 连网方式: 选“WiFi”或“以太网”。咱们用ESP8266或W5500,选WiFi就行。
- 数据格式: 选“ICA标准数据格式(Alink JSON)”。这个后面讲数据解析时会用到,现在先记住。
创建完成后,你会得到一个 ProductKey。这个东西很重要,它是产品的唯一标识。我建议你把它复制下来,存到一个文本文件里。后面写代码时,每个设备都会用到它。
2.3 创建设备
产品创建好了,接下来就是往这个产品下添加具体的设备。比如你手上有3块STM32开发板,那就创建3个设备。
点击“设备管理” -> “设备” -> “添加设备”。选择刚才创建的产品,然后:
- DeviceName: 每个设备的名字,在同一产品下必须唯一。我习惯用“STM32_001”、“STM32_002”这种命名方式,简单明了。
- 备注名称: 随便写,方便自己识别就行。
点击确认后,系统会生成三个关键信息:
| 参数 | 说明 | 示例 |
|---|---|---|
| ProductKey | 产品唯一标识 | a1B2C3d4E5f |
| DeviceName | 设备名称 | STM32_001 |
| DeviceSecret | 设备密钥 | e8f7a6b5c4d3e2f1a0b9c8d7e6f5a4b3 |
这三个东西合起来,就是咱们常说的 三元组。它是设备连接云平台的“身份证”。
2.4 理解三元组
三元组到底干啥用的?我打个比方你就明白了。
ProductKey 就像你的小区名字。DeviceName 就是你家门牌号。DeviceSecret 是你家的钥匙。你想进家门,得先告诉别人你住哪个小区(ProductKey),几栋几号(DeviceName),然后用钥匙开门(DeviceSecret)。
设备连接阿里云时,也是这个流程:
- 设备发起连接请求,带上 ProductKey 和 DeviceName。
- 平台根据这两个信息,找到对应的设备记录。
- 设备用 DeviceSecret 进行签名认证。平台验证签名是否正确。
- 验证通过,连接建立。设备就可以收发数据了。
为什么会这样设计?你想想看,如果只用 DeviceName 和 DeviceSecret,那不同产品下的设备名字可能重复,就乱套了。ProductKey 就是用来区分产品“命名空间”的。
2.5 我的经验之谈
我在做第一个物联网项目时,犯过一个低级错误。当时我复制了别人的代码,没改三元组,结果设备一直连不上。排查了半天,才发现用的是别人的 ProductKey。嗯,从那以后,我每次新建设备,都会把三元组单独存到一个头文件里,比如 device_info.h,这样既清晰又不容易搞混。
另外,我建议你在开发阶段,把设备状态设为“启用”。如果设为“禁用”,设备是连不上平台的。这个选项在设备详情页里,别忽略了。
2.6 本章小结
这一章的内容其实不多,但很重要。你只要记住三步:注册账号、创建产品、添加设备。然后理解三元组的作用。后面咱们移植SDK时,会反复用到这些信息。
下一章,咱们就开始搭建开发环境,准备移植SDK了。到时候你会看到,三元组是怎么写进代码里的。