本文介绍如何对接物联网平台和阿里云大数据平台,以实现设备数据分析、统计、计算和可视化实时展示。

前提条件

  • 开通、购买相关阿里云产品实例和计算资源。使用阿里云大数据平台处理物联网平台设备相关数据,涉及多个阿里云产品,包括云数据库RDS MySQL版物联网平台等。
  • 了解涉及产品的配置使用方法和注意事项。

背景信息

  • 任务场景:在DataV可视化大屏上,实时展示物联网平台某产品下的设备相关数据。
  • 实现过程:
    1. 物联网平台采集设备数据。
    2. 通过规则引擎,物联网平台将一个产品下的设备数据转发至流数据处理平台DataHub中。
    3. DataHub根据相关配置,将设备数据发送至实时计算平台进行计算处理后,再写入RDS MySQL版数据库中。(若无需计算处理的数据,可通过DataConnector将数据直接从DataHub 平台同步到云数据库RDS MySQL版数据库中。)
    4. DataV根据配置,以MySQL数据库表作为数据源,实时展示相关设备数据 。

操作步骤

  1. 创建一个云数据库RDS版MySQL数据库,用于存储设备数据。
    了解云数据库RDS版,请参见 云数据库RDS MySQL版
    1. 登录云数据库RDS版控制台
    2. 云数据库管理页,单击创建实例,创建一个MySQL类型的数据库实例。
      说明 RDS for MySQL数据库实例的地域须与物联网平台设备地域和DataHub项目地域保持一致。
    3. 在您的数据库实例列表中,单击该实例对应的管理操作按钮。
    4. 在左侧导航栏中,单击账号管理,创建数据库用户账号。
    5. 在左侧导航栏中,单击数据库管理,创建数据库。
    6. 在左侧导航栏中,单击数据安全性,添加数据库白名单。请参见设置IP白名单文档中的设置方法。
    7. 在左侧导航栏中,单击基本信息,查看该数据库的信息。

      后续步骤中,该数据库信息需配置到DataHub、DataV或阿里实时计算开发平台中,用于同步数据。

    8. 基本信息页上方导航栏中,单击登录数据库,输入信息登录数据库。
    9. 创建数据库表。如,表mytable包含两个字段:
      表 1. mytable
      字段名 类型 说明
      d_data varchar(32) 时间。
      device_num int 活跃设备数量。
  2. 在物联网平台控制台,创建产品和设备,并配置规则引擎。
    1. 登录物联网平台控制台
    2. 在左侧导航栏中,单击设备管理 > 产品,然后创建产品。如需帮助,请参见创建产品
    3. 产品创建成功后,进入该产品的产品详情页,根据您的业务需要,为产品创建自定义Topic类定义产品功能(即定义物模型)等。
    4. 在左侧导航栏中,单击设备管理 > 设备,然后注册设备
    5. 在左侧导航栏中,单击规则引擎 > 云产品流转,创建一条规则。
    6. 在规则列表中,单击规则对应的查看按钮。
    7. 数据流转规则页,单击处理数据栏的编写SQL按钮,为该条规则编写数据处理SQL,并调试SQL语句。
      编写SQL
    8. 单击转发数据栏对应的添加操作按钮,并配置规则动作将设备数据转发至DataHub的Topic中。如需帮助,请参见设置数据流转规则
    9. 规则配置完成后,在云产品流转页的规则列表中,单击该规则对应的启动按钮,启动规则。
    规则启动后,使用模拟设备发送消息,检验设备发送的消息是否成功流转至DataHub中。可以在设备的 日志服务页查看设备日志;在DataHub控制台对应的Topic中,查看Shards中数据量的变化,并通过数据抽样功能,可以看到具体的消息内容。
  3. 开发设备端,连接设备与物联网平台。
    本例以配置Eclipse环境JAVA SDK为例。
    1. 下载设备端SDK
    2. 将解压后的Java SDK文件导入Eclipse应用的Existing Maven Projects中之后,在SimpleClient4IOT.java文件中,配置设备证书和消息通信的Topic。
    3. 设置设备与物联网平台的通信通道,此处以MQTT连接为例。

      您可以根据您的业务修改以下示例中消息content。

      设置完成后,单击运行。如果测试消息发送成功,返回如下信息:

    设备端SDK开发完成,并将SDK烧录至物理设备中。设备上电联网后,建立与物联网平台之间的连接,便可与物联网平台进行数据交换。数据通过规则引擎转发至DataHub中,再经过实时计算处理后,写入数据库中。

  4. 测试。配置完成之后,使用不同的设备登录,并发送消息,大屏展示的活跃设备数会实时改变。