3、阿里云物联网平台创建产品与设备

好,咱们正式开始动手了。这一章,我带你走一遍阿里云物联网平台的注册、创建产品、定义功能、添加设备的完整流程。说白了,就是给咱们的ESP32在云端先“安个家”。

3.1 注册阿里云账号

这一步其实没什么技术含量,但却是所有操作的前提。我个人习惯用邮箱注册,因为好记。你打开阿里云官网,点右上角的“免费注册”,按提示填信息就行。

小提示:注册完成后,记得完成实名认证。不认证的话,很多物联网功能是没法用的。我刚开始做项目时就吃过这个亏,折腾了半天才发现是认证没通过。

注册成功后,登录控制台。在搜索框里输入“物联网平台”,就能找到入口。嗯,这里要注意,别点成“IoT Studio”或者“边缘计算”,咱们要的是“物联网平台”这个产品。

3.2 创建产品

进入物联网平台后,你会看到左侧菜单栏。点击“设备管理” -> “产品”,然后点“创建产品”。

这里有几个关键参数,我一个个说:

  • 产品名称:随便起,比如“ESP32_Temp_Humidity”。我建议用英文+下划线,后面代码里引用方便。
  • 所属品类:选“自定义品类”。别选那些现成的“智能灯”“智能插座”,因为咱们要自己定义功能。
  • 节点类型:选“直连设备”。ESP32直接连WiFi,不需要网关。
  • 连网方式:选“WiFi”。
  • 数据格式:选“ICA标准数据格式(Alink JSON)”。这是阿里云推荐的,解析方便。
注意:产品创建后,“数据格式”和“节点类型”就不能改了。我曾经有个项目,一开始选了“透传/自定义”,后面想改JSON格式,只能删掉产品重新建,白白浪费了半天时间。

填好后点“确认”。产品就创建成功了。你会看到一个“ProductKey”,这个很重要,后面ESP32连接云端时要用到。

3.3 定义功能属性

产品建好了,但它是空的。咱们得告诉阿里云:这个设备能干什么?能上报什么数据?能接收什么指令?

点击产品名称进入详情页,找到“功能定义”标签。点“自定义功能”,开始添加属性。

我以一个温湿度传感器为例,定义两个属性:

功能名称 标识符 数据类型 取值范围 读写类型
温度 Temperature float(单精度浮点) -40 ~ 125 只读
湿度 Humidity float(单精度浮点) 0 ~ 100 只读

操作步骤:

  1. 点“添加自定义功能”。
  2. 功能类型选“属性”。
  3. 填好名称、标识符、数据类型、取值范围。
  4. 读写类型选“只读”(因为传感器只能上报,不能下发)。
  5. 点“确定”。

你想想看,如果后面你想远程控制LED灯,那就需要定义一个“开关”属性,读写类型选“读写”。这样云端才能下发指令给ESP32。

核心要点:标识符(Identifier)是代码里用的,建议全英文,不要带空格。我习惯用驼峰命名法,比如“Temperature”、“LedSwitch”。

3.4 添加设备

产品定义好了,属性也加上了。现在要创建具体的设备实例。一个产品下可以挂多个设备,比如你有10个ESP32,每个都是一个设备。

操作路径:点击“设备管理” -> “设备” -> “添加设备”。

  • 所属产品:选择刚才创建的产品。
  • DeviceName:给设备起个名字,比如“ESP32_001”。如果不填,系统会自动生成一个。

点“确认”后,你会得到三个关键信息:

ProductKey:    a1B2c3D4e5F
DeviceName:    ESP32_001
DeviceSecret:  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

这三个东西,就是ESP32连接阿里云的“身份证”。DeviceSecret一定要保密,泄露了别人就能控制你的设备。

避坑指南:我曾经在GitHub上公开了一个Demo代码,忘了把DeviceSecret去掉。结果第二天发现设备被人控制了,灯半夜自己亮。从那以后,我所有密钥都放在单独的头文件里,并且加入.gitignore。

到这里,阿里云这边的准备工作就完成了。你可以在设备列表里看到这个设备,状态是“未激活”。等咱们后面用ESP32连上来,状态就会变成“在线”。

3.5 本章小结

这一章咱们干了三件事:注册账号、创建产品、添加设备。说白了,就是在云端给硬件搭了个“档案室”。下一章,我会带你用ESP32连上这个平台,让数据真正跑起来。

嗯,如果你在操作中遇到“产品创建失败”或者“功能定义保存不了”,多半是网络问题或者浏览器缓存。换个浏览器,或者清理一下缓存,基本就能解决。