15.3.1 智能家居系统终端设备接入与管理开发
使用物联网平台接入设备前,用户需在物联网平台的控制台创建智能家居产品和设备,获取设备证书(ProductKey、DeviceName和DeviceSecret),进行智能产品物模型定义。
1.创建智能家居产品和设备
产品相当于一类设备的集合,同一产品下的设备具有相同的功能。用户可以根据产品批量管理设备,如定义物模型、自定义Topic等。用户设计每个实际设备需对应一个物联网平台设备。将物联网平台颁发的设备证书烧录到设备上,作为设备连接物联网平台的身份验证。
(1)登录物联网平台控制台。
(2)在控制台左上方选择物联网平台所在地区,然后在左侧导航栏选择“实例概览”选项,单击“公共实例”按钮,如图15.7所示。目前,华东2(上海)、华北2(北京)、华南1(深圳)地区开通了企业版实例服务。
(3)在左侧导航栏选择“设备管理”→“产品”选项,单击“创建产品”按钮,如图15.8所示。
(4)新建产品并配置参数。本项目的“产品名称”为“智能家居”,“所属品类”为“自定义品类”,“节点类型”为“直连设备”,“连网方式”选择“蜂窝(2G/3G/4G/5G)”(其原因是ESP8266为阿里非认证Wi-Fi模块),其他参数选择默认即可。产品参数配置如图15.9所示,完成后单击“确认”按钮。

图15.7 单击“公共实例”按钮

图15.8 单击“创建产品”按钮

图15.9 产品参数配置
(5)在“创建产品”页面单击“前往添加”按钮,如图5.10所示。

图15.10 单击“前往添加”按钮
(6)在“设备列表”页面单击“添加设备”按钮。在弹出的对话框中,“产品”选择“智能家居”选项,在“DeviceName”下方输入“SmartHome”,“备注名称”可不设置,单击“确认”按钮。添加设备设置如图15.11所示。

图15.11 添加设备设置
(7)添加设备成功后,在弹出的“添加完成”对话框中单击“一键复制设备证书”按钮,获取设备证书。单击“前往查看”按钮,在弹出的“设备详情”对话框中单击“DeviceSecret”右侧的“查看”按钮,获取设备证书。“添加完成”对话框如图15.12所示。

图15.12 “添加完成”对话框
设备证书包含ProductKey、DeviceName和DeviceSecret,是设备与物联网平台进行通信的重要身份认证,其含义如表15.2所示。后续设备接入需设置此信息,用户在复制后应妥善保管。
表15.2 设备证书含义

2.智能产品物模型定义
阿里云物联网平台支持为产品定义物模型,将实际产品抽象成由属性、服务、事件所组成的数据模型,便于云端管理和数据交互。产品创建完成后,可以为它定义物模型,产品下的设备将自动继承物模型内容。
(1)在左侧导航栏选择“设备管理”→“产品”选项,在产品列表中找到已创建的“智能家居”,单击操作栏的“查看”按钮。
(2)在产品详情页单击“功能定义”选项卡,然后单击“编辑草稿”按钮,如图15.13所示。
(3)在“功能定义”页面的“默认模块”中单击“添加自定义功能”按钮,进行物模型配置,然后单击“确认”按钮。

图15.13 单击“编辑草稿”按钮(https://www.daowen.com)
按照图15.14所示设置智能家居产品的主灯开关属性、加湿开关属性和空调开关属性,这些开关的属性均可从阿里云物联网平台提供的模型中直接选择。

图15.14 设置开关属性
按照图15.15所示设置智能家居产品的湿度传感器属性、温度传感器属性和光照度传感器属性,这些传感器的属性均可从阿里云物联网平台提供的模型中直接选择。

图15.15 设置传感器属性
(4)功能定义好之后,可单击“物模型TSL”按钮,在“完整物模型”选项卡下可看到该产品的完整物模型JSON文件,如图15.16所示。用户可以根据TSL组装上传设备的数据;可以导出完整物模型,用于云端应用开发;也可以只导出精简物模型,配合设备端SDK实现设备开发。

图15.16 该产品的完整物模型JSON文件
(5)定义好产品功能,如图15.17所示。单击“发布上线”按钮,即可完成产品的发布。

图15.17 定义好产品功能
用户如果后续还需要添加或修改已经定义完成的产品功能,可再次进入“功能定义”页面,单击“编辑草稿”按钮进行修改,然后重新发布上线。
3.智能家居场景联动配置
场景联动是规则引擎中一种开发自动化业务逻辑的可视化编程方式,可以通过可视化的方式定义设备之间的联动规则,并部署规则至物联网平台云端或边缘端。
在物联网平台控制台左侧导航栏选择“规则引擎”→“场景联动”选项,在页面中创建场景联动规则。每个场景联动规则由触发器(Trigger)、执行条件(Condition)、执行动作(Action)3个部分组成。这种规则模型被称为TCA模型。
在云端设置主灯开关、加湿开关、空调开关随着光照度传感器、湿度传感器和温度传感器采集的数据实时监测,控制对应的继电开关设备工作。智能家居场景联动设置如表15.3所示。
表15.3 智能家居场景联动设置

(1)在左侧导航栏选择“规则引擎”→“场景联动”选项,在页面下方单击“创建规则”按钮,在“规则名称”下输入对应名称,如“主灯开”,如图15.18所示。

图15.18 输入“规则名称”
(2)单击“确认”按钮,创建场景联动规则,规则中分别有触发器、执行条件、执行动作设置。例如,在“主灯开”规则中,触发器设置如图15.19所示,选择“设备触发”“智能家居”“SmartHome”“属性触发”等。

图15.19 触发器设置
执行条件设置如图15.20所示,主灯开关为关闭状态才执行。

图15.20 执行条件设置
执行动作设置如图15.21所示,选择“设备输出”“智能家居”“SmartHome”“主灯开关”“开启-1”。

图15.21 执行动作设置
(3)重复上述步骤,对其他的加湿开关、空调开关依次通过场景联动进行设置,这样就可以通过云端联动的方式进行控制。如果条件发生改变或设备升级,只需要在云端更改配置即可。