更新时间:2024-07-01 GMT+08:00
分享

模拟智慧路灯与平台通信

场景说明

本文以“智慧路灯”为示例,通过MQTT.fx设备模拟器模拟智慧路灯,给您介绍基于IoTDA平台实现一款智慧路灯联接到平台、上报光照强度数据、以及平台下发开灯命令给智慧路灯三个场景。

图1 模拟智慧路灯与平台通信流程图

前提条件

  • 已注册华为云官方账号。未注册可单击注册页面完成注册。
  • 已完成实名制认证。未完成可在华为云上单击实名认证完成认证,否则无法使用设备接入功能。
  • 已开通设备接入服务。未开通则访问设备接入服务,单击“控制台”后开通该服务。

业务流程

基于MQTT.fx体验平台功能是指使用MQTT.fx模拟器工具,进行数据上报、命令下发等业务的体验。您可点此下载MQTT.fx(默认是64位操作系统,如果是32位操作系统,单击此处下载MQTT.fx),安装MQTT.fx工具。整体的业务流程如下:

  1. 创建产品。在控制台上创建一个MQTT协议的智慧路灯产品。通过定义产品模型,构建一款路灯设备,支持上报光照强度、下发路灯开关状态命令。
  2. 注册设备。在控制台上注册一个MQTT协议的智慧路灯设备。
  3. 设备建链。使用MQTT.fx模拟智慧路灯,完成连接鉴权,激活在物联网平台上注册的设备。
  4. 数据上报。使用MQTT.fx模拟智慧路灯向物联网平台上报路灯光照强度数据。
  5. 命令下发。在管理控制台下发路灯开关命令,远程控制MQTT.fx模拟智慧路灯。

创建产品

  1. 登录管理控制台,单击左侧导航栏“产品”,单击页面左侧的“创建产品”

    图2 产品-创建产品

  2. 创建一个协议类型为MQTT协议、设备类型为StreetLamp的产品,参考页面提示填写参数后,单击“确定”。

    图3 创建产品-MQTT

开发产品模型

  1. 找到新增的产品,单击产品进入产品界面。
  2. 在产品详情“模型定义”页面,单击“自定义模型”,配置产品的服务。

    图4 自定义模型-MQTT

  3. 新增服务类型“BasicData”

    1. 在“添加服务”页面,根据页面提示填写“服务ID”“服务类型”“服务描述”,单击“确定”。
      图5 添加服务-BasicData
    2. 在“BasicData”服务列表右侧区域,单击“新增属性”,填写相关信息后,单击“确定”。
      图6 新增属性-luminance

  4. 新增服务类型“LightControl”

    1. 在“模型定义”下单击“添加服务”,根据页面提示填写后,单击“确定”。
      • “服务ID”:LightControl
      • “服务类型”:建议和服务ID保持一致
      • “服务描述”:路灯开关控制
    2. 在“LightControl”的下拉菜单下单击“添加命令”,输入命令名称“Switch”。
      图7 新增命令-Switch
    3. 在“新增命令”页面,单击“新增输入参数”,填写相关信息后,单击“确定”。
      图8 新增命令参数-value

注册设备

  1. 在设备接入控制台页面,选择左侧导航栏“设备 > 所有设备”,单击页面右上角的“注册设备”

    图9 所有设备-注册设备

  2. 根据页面提示信息填写参数,然后单击“确定”

    参数名称

    说明

    所属资源空间

    确保和所属产品归属在同一个资源空间。

    所属产品

    选择对应产品。

    设备标识码

    即nodeID,设备唯一物理标识。可自定义,由英文字母和数字组成。

    设备名称

    即device_name,可自定义。

    设备认证类型

    选择“密钥”

    密钥

    此处如不填写,物联网平台会自动生成。

    图10 单设备注册-MQTT

  3. 成功注册设备后,平台会自动生成设备ID和密钥,请妥善保管好设备ID(deviceId)和密钥(deviceSecret),用于设备接入。

    图11 设备-注册设备成功

通过MQTT.fx模拟智慧路灯连接平台

使用MQTT.fx工具激活在物联网平台上注册的设备。

  1. 下载MQTT.fx(默认是64位操作系统,如果是32位操作系统,单击此处下载MQTT.fx),安装MQTT.fx工具。
  2. 进入设备详情页面,找到“MQTT连接参数”,单击查看,查看其中的clientId、username、password和hostname。

    图12 设备-设备详情
    图13 设备-设备详情-MQTT连接参数

  3. 打开MQTT.fx软件,单击设置图标。

    图14 MQTT.fx设置

  4. 参考下表配置鉴权参数,然后单击“Apply”,再单击“Cancel”退出配置界面。

    图15 配置鉴权参数
    表1 参数说明

    参数名称

    说明

    Broker Address

    即hostname,请参考2中获取。此接入地址为域名信息。不能通过域名接入的设备,通过在cmd命令框中执行“ping 域名”获取IP地址,用IP地址接入平台。由于IP地址不固定,您需要将IP地址做成可配置项。

    Broker Port

    1883,本次快速入门实践采用1883。

    Cliend ID

    设备cliendID,请参考2中获取。

    User Name

    即设备ID,请参考2中获取。

    Password

    加密后的设备密钥,请参考2中获取。

  5. 单击“Connect”,看到MQTT.fx界面右上角圆圈转为绿色,即说明设备模拟器鉴权连接成功。设备连接成功后,在物联网平台可以看到设备处于在线状态。

    图16 设备模拟器连接成功
    图17 设备在线

光照强度数据上报

使用MQTT.fx工具向物联网平台上报光照强度数据。设备若通过MQTT通道上报数据,需要发给指定的topic,上报消息的topic格式为:$oc/devices/{device_id}/sys/properties/report,其中对于一机一密设备,使用deviceId接入时需填写为设备注册成功后返回的deviceId值。

  1. 填写接口地址,此处以$oc/devices/{device_id}/sys/properties/report为例。

    图18 填写接口地址

  2. 在工具中间的空白处填写上报的数据后,单击“Publish”

    表2 设备服务数据列表

    字段名

    必选/可选

    类型

    参数描述

    services

    必选

    List<ServiceProperty>

    设备服务数据列表(具体结构参考下表ServiceProperty定义表)

    表3 ServiceProperty定义表

    字段名

    必选/可选

    类型

    参数描述

    service_id

    必选

    String

    设备服务的ID。

    properties

    必选

    Object

    设备服务的属性列表,具体字段在设备关联的产品模型中定义。

    eventTime

    可选

    String

    设备采集数据UTC时间(格式:yyyyMMddTHHmmssZ),如:20161219T114920Z。

    设备上报数据不带该参数或参数格式错误时,则数据上报时间以平台时间为准。

    请求示例如下:

    {
        "services": [{
                "service_id": "BasicData",
                "properties": {
                    "luminance": 30
            }
          }
       ]
    }

  3. 可以在设备详情页中查看设备是否成功上报数据。如下图,显示光照强度luminance已更新为30。

    图19 查看上报数据-MQTT

远程下发开灯命令

在管理控制台下发开灯命令,远程控制智慧路灯。

  1. 选择设备 > 所有设备,找到新建的设备,单击“详情”进入设备详情页面。
  2. 单击“云端下发”页签,单击“命令下发”,选择命令为LightControl: Switch,value为ON,下发开灯命令。

    图20 命令下发-同步命令下发
    图21 命令下发-LightControl

    MQTT协议设备仅支持同步命令下发,NB-IoT设备仅支持异步命令下发。

  3. MQTT.fx模拟器中选择Subscribe,输入命令下发Topic,订阅后则可以查看到下发的命令参数。命令下发Topic格式为:$oc/devices/{device_id}/sys/commands/#。如下图所示,MQTT.fx模拟器成功收到command_name为Switch的命令,value为ON。

    图22 查看下发的命令参数

    如果Console界面提示命令请求超时,是因为下发的同步命令需要设备侧及时回报响应消息,而MQTT.fx并无自动上报命令响应消息的功能。命令响应内容请参考平台命令下发

分享:

    相关文档

    相关产品