本示例的服务将根据天气预报中的湿度信息,决定加湿器是否开启。如果湿度≤30则开启,否则不开启。

前提条件

创建产品与设备

  1. 物联网平台控制台左侧导航栏,单击IoT Studio > 项目管理
  2. 单击项目卡片,进入项目详情主页,单击左侧导航栏的产品
  3. 单击创建产品,配置参数,并单击保存,如图所示。
    说明 如果您已在物联网平台控制台创建了相关产品和设备,单击关联物联网平台产品,将产品与该项目关联即可。
    新增加湿器
  4. 在产品列表,单击智能加湿器,进入产品详情页,并选择功能定义,自定义一个布尔值开关属性,单击确认
    功能定义
  5. 在项目详情页,单击左侧导航栏的设备
  6. 单击新增设备,添加智能加湿器设备,如图所示。
    新增设备

创建业务服务

  1. 在项目的主页选择业务服务页签,单击新建并选择新建,创建一个业务服务。
    项目中新建业务服务
  2. 在业务逻辑开发页,单击左侧的节点按钮,拖拽一个HTTP请求节点到画布上,为节点做如下配置。
    HTTP请求
    参数 说明
    节点名称 输入节点名称。
    Action 调用API时,参数Action的值。本示例中,设置为QueryWeather
    新增参数 设置调用API时的入参。本示例中,设置了一个必填入参cityId,类型为String。
  3. 拖拽一个云市场API节点到画布上,将HTTP请求节点与该节点相连,并配置该节点。

    本示例中,在云市场购买的天气查询API是免费版气象服务(cityId)-墨迹天气

    API配置
    参数 说明
    节点名称 输入节点名称。
    请求方式 在云市场该API购买页,查看请求方式。本示例中,购买的API的请求方式为POST。
    调用地址 在云市场该API购买页,查看该API的调用地址。
    APPCODE 云市场控制台已购买的服务页列表中,查看已购买API的AppCode。
    编码 选择编码方式。
    参数填写 根据云市场该API购买页的请求参数说明,填入请求参数。本示例中,需填入两个参数:
    • cityId:城市ID,可填入:
      • 静态参数,即填入一个固定值,如"cityId":"20"。参数取值,可参见墨迹天气购买页提供的“cityid对照表”。
      • 动态参数,可填入"cityId":"{{query.cityId}}",该结构是把API的入参作为子对象。
    • token:请在阿里云API网关控制台,选择调用API > 已购买API,选择地域为华北2(北京),在购买的API详情中查看。具体的token查看步骤说明,请参见墨迹天气购买页提供的“token查询方式”。
  4. 配置一个临时HTTP返回节点,用于调试、查看天气API的返回数据结构。
    因后续路径节点配置中,需调用湿度值,但天气API的返回数据结构未知,所以可以先配置一个HTTP返回节点,并进行部署、调试。在调式结果日志中,查看返回数据结构。
    1. 配置一个HTTP返回节点,输出选择为上一节点(payload)
      HTTP返回
    2. 单击部署按钮。
    3. 部署成功后,单击调试,输入一个cityId值,如20,进行调试。

      可在API调用结果或HTTP返回节点的节点日志下,查看返回结果数据。

      API调用结果
      返回数据结构显示,humiditydata下的condition下。因此,路径配置中,需使用data.condition.humidity调用天气API的返回结果中的湿度值。
    4. 调试成功后,删除该HTTP返回节点。
  5. 配置一个路径选择节点,与云市场API节点相连。
    路径选择
    参数 说明
    节点名称 输入节点名称。
    数据源
    • 选择数据源为云市场API节点。
    • 输入变量为:上一步调式后,查看到的湿度值所在位置data.condition.humidity
    新增路径 本示例中,只需配置两个路径,因此需删除第三条路径。

    路径配置:

    • 路径1:<=30。
    • 路径2:>30。
  6. 从左侧设备页签下,拖拽一个智能加湿器设备节点到画布上,与路径1相连。配置如下:
    智能加湿器1
    参数 说明
    节点名称 输入节点名称。
    选择要控制的设备 选择该产品下的一个设备。
    选择操作类型 选择为设备动作执行
    下发数据 勾选属性,设置电源开关值为true,即开启加湿器。
  7. 再配置一个智能加湿器,与路径2相连。

    该节点配置,设备与上一步选择一致,需将电源开关设置为false,即关闭加湿器。

    智能加湿器2
  8. 分别为两个设备节点配置HTTP返回节点。输出均设置为上一节点(payload)
    HTTP返回结果
  9. 单击页面右上角保存按钮保存,保存设置。

调试与发布

  1. 在业务服务编辑页面,单击右上方的部署按钮部署,部署服务。
  2. 单击调试,输入一个cityId值,单击开始调试
    调试

    全局日志显示当前湿度为11,所以服务执行了路径1,开启加湿器。

    全局日志
  3. 单击调试右侧的发布按钮,发布该服务。
    业务需要发布到云端,才能被调用。

执行结果

该服务创建的API,可以用于Web可视化开发。

可右键单击服务名称,选择服务调用帮助,查看服务调用详情。