本章介绍如何创建设备的联动函数以及配置设备到云端、设备到联动函数的消息路由。联动函数用于关联您创建的两个子设备,用来实现子设备联动的业务逻辑。

创建联动函数

  1. 下载虚拟设备联动函数。该联动函数可以实现根据光照度传感器数据来控制灯的开关的功能。

    当光照度传感器检测到光照度大于等于500流明的时候,关闭灯,当光照度小于等于200流明的时候,打开灯。

    虚拟设备联动函数

  2. 登录函数计算控制台
  3. 单击服务列表后的“+”符号,根据界面提示配置参数后,单击确定,为设备联动函数创建一个服务。

    其中,服务名称必须填写,此处设置为DeviceScript,其余参数可根据您的需求设置,也可以不设置。

  4. 创建服务成功后,在服务概览页面单击函数列表后的“+”符号,创建函数。
  5. 选择函数模板,此处选择空白函数模板。
  6. 触发器配置中,选择不创建触发器,单击下一步
  7. 设置设备联动函数的参数。


    参数 描述
    所在服务 选择已创建的DeviceScript服务。
    函数名称 设置为LightMonitor
    运行环境 设置函数的运行环境,此示例中选择nodejs8
    代码配置 选择代码包上传,上传已下载的虚拟设备联动函数脚本。

    其余参数的值请根据您的需求,参见函数计算设置,也可以不设置。

  8. 单击下一步,进入模板授权管理页面。此处无需设置,单击下一步
  9. 确认函数信息后,单击创建
  10. 创建函数完成后,在线编辑代码,将代码中的设备相关信息,即Light Product KeyLight Device Name,替换为管理边缘实例中创建的客厅灯产品下Light设备的认证信息。

    可从设备管理 > 设备中找到Light设备,单击右侧操作栏中的查看,进入设备详情页面获取设备认证信息。



  11. 修改参数后单击保存

分配联动函数到边缘实例

将联动函数分配到边缘实例后,通过边缘实例与光照传感器和客厅灯设备关联,实现两个子设备之间的联动逻辑。

  1. 物联网控制台,选择边缘计算 > 边缘实例
  2. 单击myhome实例右侧的查看
  3. 实例详情页面,选择函数计算,单击分配函数
  4. 分配函数页面中,将创建联动函数中创建的LightMonitor函数分配到边缘实例中。

    参数 描述
    地域 选择您创建的服务所在的地域。
    服务 选择DeviceScript服务。
    函数 选择LightMonitor函数。
    授权 选择AliyunIOTAccessingFCRole
  5. 单击分配
  6. 配置函数。

    参数 描述
    运行模式 运行模式有两种。此处选择按需运行模式。
    内存限制 函数运行所需的内存资源,单位为MB。此处设置为50 MB。
    超时限制 选择按需运行模式后需设置按需运行函数运行时间,时间到了FC进程将会退出。此处设置300秒。
  7. 单击确定,至此您已将设备联动函数分配到边缘实例中。

分配消息路由到边缘实例

为边缘实例分配消息路由,用于将子设备的数据上传到云端(IoT)和函数计算中。

  1. 实例详情页面,选择消息路由,单击添加路由
  2. 添加消息路由页面中,配置参数,此处配置的参数是将子设备数据发送至云端。

    按照界面提示,设置如下参数,参数设置完成后,单击确定完成第一个路由的添加。

    参数 描述
    消息来源 此处选择设备,选择全部产品
    消息主题过滤 此处选择全部
    消息目标 此处选择IoT Hub
    服务级别 此处选择1
  3. 添加消息路由页面中,配置参数,此处配置的参数是将光照传感器数据发送至函数中。

    按照界面提示,设置如下参数,参数设置完成后,单击确定完成第二个路由的添加。

    参数 描述
    消息来源 此处选择设备,选择光照传感器 > LightSensor
    消息主题过滤 此处选择全部
    消息目标 此处选择函数计算DeviceScript/LightMoniter
  4. 单击确定,至此您已为myhome实例添加了消息路由。