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

前提条件

需在阿里云云市场购买天气查询API。

操作步骤

  1. 登录物联网平台控制台
  2. 在左侧导航栏,单击开发服务 > IoT Studio
  3. IoT Studio页的项目列表中,单击已有项目对应的进入按钮进入项目,或单击新建项目,创建一个项目。
  4. 在项目的产品管理页,新增一个智能加湿器产品。
    如果您已在物联网平台控制台创建了相关产品和设备,选择关联物联网平台产品,将产品与该项目关联。


  5. 在加湿器产品详情功能定义页签下,自定义一个布尔值开关属性。


  6. 设备管理页,新增设备。
  7. 单击服务开发 > 新建服务,新建一个服务。
  8. 服务开发页,单击左侧的节点按钮,服务开发的功能节点将展示在列表中。
  9. 拖拽一个HTTP请求节点到画布上,为节点做如下配置。
    参数 说明
    节点名称 输入节点名称。
    Action 调用API时,参数Action的值。本示例中,设置为QueryWeather
    新增参数 设置调用API时的入参。本示例中,设置了一个必填入参cityId,类型为String。


  10. 拖拽一个云市场API节点到画布上,将HTTP请求节点与该节点相连,然后配置该节点。

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

    参数 说明
    节点名称 输入节点名称。
    请求方式 在云市场该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查询方式”。


  11. 配置一个临时HTTP返回节点,用于调试、查看天气API的返回数据结构。
    因为后续路径节点配置中,需调用湿度值,但天气API的返回数据结构未知,所以可以先配置一个HTTP返回节点,并进行部署、调试。在调式结果日志中,查看返回数据结构。
    1. 配置一个HTTP返回节点,输出选择为上一节点(payload)


    2. 单击部署
    3. 部署成功后,单击调试,输入一个cityId值,如20,进行调试。

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



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

    路径配置:

    • 路径1:<=30。
    • 路径2:>30。


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


  14. 再配置一个智能加湿器,与路径2相连。

    该节点配置,需将电源开关设置为false,即关闭加湿器。



  15. 分别为两个设备节点配置HTTP返回节点。输出均设置为上一节点(payload)


  16. 单击页面右上角保存,保存配置。
  17. 单击部署,部署服务。
  18. 部署完成后,单击调试,输入一个cityId值,在单击开始调试


    全局日志显示当前湿度为40,所以服务执行了路径2,关闭加湿器。



  19. 发布服务。

    需待该服务所在项目中的所有服务都部署、调试完成后,才能单击服务页面右上角发布按钮,发布该服务。

执行结果

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

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