更新时间:2024-10-21 GMT+08:00
分享

接入模拟设备

创建产品

  1. 选择左侧导航栏“边缘节点 > 设备建模”进入页面,单击右上角“创建产品”。

  2. 创建产品

    • 所属资源空间:与节点所属资源空间一致
    • 产品名称:自定义
    • 协议类型:MQTT
    • 数据格式:JSON
    • 厂商名称:自定义
    • 设备类型:MQTT_Device

  3. 在单击“产品名称”下的产品hw_iotedge_mqtt进入产品详情页面。
  4. 在“模型定义”页签下,单击“自定义模型”。

  5. 填写服务ID、服务类型,单击“确认”。

    • 服务ID:power
    • 服务类型:power

  6. 新增属性

    • 属性名称:status
    • 属性描述:自定义
    • 数据类型:string
    • 访问权限:可读可写
    • 长度:10
    • 枚举值:normal,error

  7. 新增命令

    • 命令名称:power_control
    • 下发参数
    • 参数名称:restart
    • 数据类型:string
    • 描述:自定义

添加边缘设备

  1. 单击“边缘节点 > 节点管理 > 节点名称”进入节点详情页,然后单击“边缘设备 > 添加边缘设备”。

    图1 添加边缘设备

  2. 输入设备信息。

    • 所属产品:即前面创建的产品
    • 设备标识码:自定义
    • 设备名称:自定义
    • password:自定义

接入设备

使用MQTT.fx模拟设备接入。

  1. 下载MQTT.fx及证书,证书下载地址

    安装完成后打开,MQTT.fx软件界面如下:

    Connect左边的蓝色齿轮为设置。

    Publish是消息发送,Subscribe为消息接收,Log可查看日志。

  2. 单击设置-General,输入以下信息

    • Broker Address:输入节点的公网地址。
    • Broker Port:MQTT(S)协议使用的端口,默认为7883。
    • 尝试连接时间和保持连接时间等自定义。

  3. 单击设置-User Credentials

    Client ID和密码需要工具进行转换。利用网页转换工具进行转换。

    填写添加边缘设备后生成的设备ID和设备密钥,生成连接信息(ClientId、Username、Password)。

  4. 单击设置-SSL/TLS

    勾选Enable SSL/TLS,单击CA certificate,选择下载的证书文件。

    单击Apply应用设置后返回。

    单击Connect连接,连接成功后右边红点会变成绿色,IoTDA也会显示设备在线。

  5. 选择publish输入topic地址。

    Topic:$oc/devices/hwiotedgedevice2/sys/properties/report

    其中,hwiotedgedevice2为设备ID,请替换为实际值,可在IoTDA->设备->所有设备列表中查看。消息体输入:

    {  
     "services": [{
            "service_id": "power",
             "properties": { 
                  "status":"error"  },
             "event_time": "20210508T173342Z"
           }   ]
    }

  6. 输入订阅的topic,可在IoTDA->产品->topic管理中查看。

    Topic:$oc/devices/hw_iotedge_device2/sys/commands/#

    其中,hw_iotedge_device2为设备ID,请替换为实际值,设备ID请进入设备详情查看。

    返回到publish,单击publish按钮后进入Subscribe,可以看到订阅命令收到一条command。

  7. 进入边缘设备查看数据上报情况

    进入IoTDA单击设备,进入概览发现并无数据上报,说明设备发送的数据在节点本地被集成SDK的monitor-app应用拦截,当数据内容为error时,在本地向hub调用重启命令。应用实现了数据处理和命令下发的功能。

相关文档