2、阿里云物联网平台基础:注册账号、创建产品与设备、理解三元组

好,咱们正式开始动手了。这一章,说白了就是带你把阿里云物联网平台的“地基”打牢。很多初学者一上来就急着写代码,结果连设备都连不上,卡在第一步。我见过不少项目,就是因为前期平台配置搞错了,后面排查半天才发现是三元组写错了。嗯,咱们别走弯路,一步步来。

2.1 注册阿里云账号

这个其实没啥好说的,但有个小细节我想提一下。我个人习惯用企业邮箱注册,因为后续如果团队协作,权限管理会方便很多。当然,个人学习用个人邮箱完全没问题。

注册地址就是阿里云官网,点“免费注册”。流程很简单,手机号验证、设置密码,几分钟搞定。注册成功后,你会进入控制台。这时候别急着点啥,先找到“物联网平台”这个产品。

小提示: 在控制台顶部的搜索框里直接搜“物联网平台”,比翻菜单快得多。我每次新项目都这么干。

2.2 创建产品

产品是什么?你可以把它理解成“设备型号”。比如你做一款智能温控器,那“智能温控器”就是一个产品。同一个产品下的设备,共享相同的功能定义和数据格式。

进入物联网平台后,点击“设备管理” -> “产品” -> “创建产品”。这里有几个关键选项,我重点说一下:

  • 产品名称: 自己起个名字,比如“STM32_TempSensor”。
  • 所属品类: 选“自定义品类”。除非你做的设备正好是标准品类(比如路灯、电表),否则自定义最灵活。
  • 节点类型: 选“设备”。如果你是做网关,才选“网关设备”。咱们STM32直接连云,就是设备。
  • 连网方式: 选“WiFi”或“以太网”。咱们用ESP8266或W5500,选WiFi就行。
  • 数据格式: 选“ICA标准数据格式(Alink JSON)”。这个后面讲数据解析时会用到,现在先记住。

创建完成后,你会得到一个 ProductKey。这个东西很重要,它是产品的唯一标识。我建议你把它复制下来,存到一个文本文件里。后面写代码时,每个设备都会用到它。

注意: ProductKey 是公开的,但 DeviceSecret 是私密的。千万别把 DeviceSecret 传到 GitHub 上!我曾经见过有人把密钥硬编码在代码里,然后上传到公开仓库,结果设备被恶意控制。嗯,那场面挺尴尬的。

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)。

设备连接阿里云时,也是这个流程:

  1. 设备发起连接请求,带上 ProductKey 和 DeviceName。
  2. 平台根据这两个信息,找到对应的设备记录。
  3. 设备用 DeviceSecret 进行签名认证。平台验证签名是否正确。
  4. 验证通过,连接建立。设备就可以收发数据了。

为什么会这样设计?你想想看,如果只用 DeviceName 和 DeviceSecret,那不同产品下的设备名字可能重复,就乱套了。ProductKey 就是用来区分产品“命名空间”的。

核心要点: 三元组是设备身份的基石。移植SDK时,第一步就是把三元组配置正确。否则后面所有工作都是白费。

2.5 我的经验之谈

我在做第一个物联网项目时,犯过一个低级错误。当时我复制了别人的代码,没改三元组,结果设备一直连不上。排查了半天,才发现用的是别人的 ProductKey。嗯,从那以后,我每次新建设备,都会把三元组单独存到一个头文件里,比如 device_info.h,这样既清晰又不容易搞混。

另外,我建议你在开发阶段,把设备状态设为“启用”。如果设为“禁用”,设备是连不上平台的。这个选项在设备详情页里,别忽略了。

调试技巧: 如果设备连不上,先去阿里云控制台看设备状态。如果显示“未激活”,说明三元组可能错了,或者设备根本没发起连接。如果显示“在线”,那就是连上了。

2.6 本章小结

这一章的内容其实不多,但很重要。你只要记住三步:注册账号、创建产品、添加设备。然后理解三元组的作用。后面咱们移植SDK时,会反复用到这些信息。

下一章,咱们就开始搭建开发环境,准备移植SDK了。到时候你会看到,三元组是怎么写进代码里的。