
# 使用ROMA Connect的LINK接入设备
#### 概述
ROMA Connect支持使用MQTT标准协议连接设备，快速、简单地实现设备在云端管理。
本章节通过完成一个模拟设备接入ROMA Connect的配置样例，帮助您快速熟悉使用ROMA Connect LINK集成设备的过程。
使用ROMA Connect集成设备的步骤如下所示：
- [步骤一：定义产品]
- [步骤二：注册设备]
- [步骤三：配置数据转发]
- [步骤四：调试设备]
 
 #### 准备工作
在开始操作前，您需要提前完成以下准备工作。
- ROMA Connect实例已绑定弹性IP，且本地PC所在网络与弹性IP的网络互通。
- 已在本地PC下载[MQTTX客户端](https://mqttx.app/downloads)并安装。
- 在当前ROMA Connect实例上完成一个消息集成Topic的创建，具体请参考[创建消息Topic](https://support.huaweicloud.com/qs-roma/roma_02_0003.html#roma_02_0003__section36017538917)。
 #### 步骤一：定义产品
产品即设备模型，通过定义产品来确定设备的功能属性集合。每个设备都有一个归属的产品。
1. 创建集成应用。
   1. 登录[ROMA Connect控制台](https://console.huaweicloud.com/roma3)，在左侧导航栏选择"资源管理"，在实例页面单击实例，进入实例控制台。
   
   2. 在左侧的导航栏选择"集成应用"，单击页面右上角的"创建集成应用"。
   
   3. 在创建集成应用弹窗中填写集成应用的"名称"，然后单击"确认"。
    
2. 创建产品。
   1. 在左侧的导航栏选择"设备集成 LINK \> 产品管理"，单击页面右上角的"创建产品"。
   
   2. 在创建产品弹窗中配置产品相关信息，完成后单击"确认"。
      表1产品配置 
      | 参数   | 配置说明                                           |
      |:---|:---|
      | 产品类型 | 本配置样例中的设备为直连设备，此处选择"普通产品"。                     |
      | 协议类型 | 本配置样例中选择MQTT协议类型。                              |
      | 集成应用 | 选择[1]中创建的集成应用。 |
      | 产品模板 | 本配置样例中未使用产品模板，此处不设置。                           |
      | 产品名称 | 填写产品的名称，本配置样例中自定义即可。                           |
      | 厂商名称 | 填写实际使用设备的厂商名字，本配置样例中自定义即可。                     |
      | 厂商ID | 填写实际使用设备的厂商ID，本配置样例中自定义即可。                     |
      | 产品型号 | 填写实际使用设备的产品型号，本配置样例中自定义即可。                     |
      | 设备类型 | 选择接入设备的类型，本配置样例中选择默认的"Default Type"。           |
      | 模型版本 | 填写设备的模型版本，本配置样例中自定义即可。                         |
      | 描述   | 填写产品的描述信息。                                     |
         
      
    
3. 为产品添加物模型服务。
   1. 在"产品管理"页面的"产品"页签下，单击[2]中创建的产品名称，进入产品详情页面。
   
   2. 在"物模型"页签下，单击"创建物模型服务"。
   
   3. 在"创建物模型服务"弹窗中配置物模型服务相关信息，完成后单击"确认"。
      此处假设设备为一个温度传感器产品，为产品创建一个温度服务"Temperature"。
      表2服务能力信息配置 
      | 参数      | 配置说明                           |
      |:---|:---|
      | 物模型服务名称 | 填写物模型服务的名称，此处填写为"Temperature"。 |
      | 是否启用    | 是否启用该物模型服务，保持默认"启用"。           |
      | 描述      | 填写物模型服务的描述信息。                  |
         
      
    
4. 为物模型服务添加属性。
   1. 在"物模型"页签下的左侧选择[3]中添加的物模型服务。
   
   2. 在右侧物模型服务详情页的"属性"页签下，单击"创建属性"。
   
   3. 在新增属性弹窗中配置属性相关信息，完成后单击"确认"。
      此处假设设备仅上报一个温度属性"temperature"，数据类型为"String"。
      表3属性信息配置 
      | 参数     | 配置说明                        |
      |:---|:---|
      | 属性名称   | 填写属性的名称，此处填写为"temperature"。 |
      | 数据类型   | 设备上报属性参数的数据类型，此处选择"String"。 |
      | 是否必填   | 设备是否必须上报该属性，保持默认必填。         |
      | 描述     | 填写属性的描述信息。                  |
      | 数据长度上限 | 属性值的最大长度，此处填写为"32"。         |
      | 枚举值    | 属性的枚举值，此处不设置。               |
         
      
    
5. 为物模型服务添加命令。
   1. 在右侧物模型服务详情页的"命令"页签下，单击"创建命令"。
   
   2. 在创建命令弹窗中配置命令相关信息，完成后单击"确认"。
      此处假设设备有一个设置状态的命令"SET_STATUS"，命令字段为"status"，数据类型为"String"，枚举值为"on"和"off"。
      表4命令信息配置 
      | 参数   | 配置说明                       |
      |:---|:---|
      | 命令名称 | 填写命令的名称，此处填写为"SET_STATUS"。 |
      | 描述   | 填写命令的描述信息。                 |
         
      
   
   3. 在命令列表中找到刚创建的命令，单击命令名称左侧的"![](https://support.huaweicloud.com/qs-roma/zh-cn_image_0286818334.png "点击放大")"展开命令字段列表。
   
   4. 单击"创建下发命令字段"。
   
   5. 在新增下发命令字段弹窗中配置命令字段相关信息，完成后单击"确认"。
      表5命令字段信息配置 
      | 参数     | 配置说明                              |
      |:---|:---|
      | 字段名称   | 填写命令字段的名称，此处填写为"status"。          |
      | 数据类型   | 选择命令字段的数据类型，此处选择"String"。         |
      | 是否必填   | 下发的命令中是否必须携带该字段，保持默认必填。           |
      | 描述     | 填写字段的描述信息。                        |
      | 数据长度上限 | 命令字段值的最大长度，此处填写为"32"。             |
      | 枚举值    | 命令字段的枚举值，此处填写为"on,off"，表示打开或关闭设备。 |
         
      
    
 
 #### 步骤二：注册设备
通过在ROMA Connect注册设备，为设备在ROMA Connect内分配唯一的ID和密钥，使设备可以接入到ROMA Connect。
1. 在左侧的导航栏选择"设备集成 LINK \> 设备管理"，单击页面右上角的"创建设备"。
2. 在创建设备弹窗中填写设备相关配置信息，完成后单击"确认"。
   表6设备配置 
   | 参数   | 配置说明                                                    |
   |:---|:---|
   | 集成应用 | 选择[1]中创建的集成应用。          |
   | 所属产品 | 选择[步骤一：定义产品]中所创建的产品。 |
   | 设备标识 | 填写设备的唯一标识，本配置样例中自定义即可。                                  |
   | 设备名称 | 填写设备的名称，本配置样例中自定义即可。                                    |
   | 设备密码 | 填写设备的接入密码，此处不设置，系统自动生成即可。                               |
   | 确认密码 | 填写确认密码，此处不设置，系统自动生成即可。                                  |
   | 是否启用 | 选择是否启用设备，只有启用设备后，设备才可以接入ROMA Connect，保持默认启用。            |
   | 设备标签 | 为设备设置标签信息，用于快速查找设备，此处不设置。                               |
   | 设备描述 | 填写设备的描述信息。                                              |
      
   
3. 在"设备管理"界面，单击已创建的设备名称，进入设备详情页，可在"Topic列表"页签查看设备的Topic信息。
 
 #### 步骤三：配置数据转发
ROMA Connect不会直接存储设备上报的数据，您需要配置数据转发规则，把设备数据转发到其他服务进行存储。此处以数据转发到ROMA Connect的消息集成MQS为例进行说明。
1. 在左侧的导航栏选择"设备集成 LINK \> 规则引擎"，单击页面右上角的"创建规则"。
2. 在创建规则弹窗中填写规则相关配置信息，完成后单击"确认"。
   图1创建规则   
   ![](https://support.huaweicloud.com/qs-roma/zh-cn_image_0000001197991199.png "点击放大")
   表7规则配置 
   | 参数   | 配置说明                                           |
   |:---|:---|
   | 规则名称 | 填写规则的名称，本配置样例中自定义即可。                           |
   | 集成应用 | 选择[1]中创建的集成应用。 |
   | 规则描述 | 填写规则的描述信息。                                     |
   | 状态   | 是否启用该规则，保持默认开启。                                |
      
   
3. 在规则列表中单击[2]中创建的规则名称，进入规则详情页面。
4. 在"数据源端"下单击"创建数据源端"，设置数据源端相关配置，然后单击"保存"。
   图2数据源端配置   
   ![](https://support.huaweicloud.com/qs-roma/zh-cn_image_0237370812.png "点击放大")
   表8数据源端配置 
   | 参数       | 配置说明                                                                    |
   |:---|:---|
   | 产品名称     | 选择[步骤一：定义产品]所创建的产品。                  |
   | 设备名称     | 选择[步骤二：注册设备]所创建的设备。                 |
   | Topic名称  | 选择设备发送消息的Topic，格式为：{产品标识}/out/{设备标识}。                                   |
   | Topic级别  | Topic的级别，根据"设备名称"的选择自动适配，"设备名称"不做选择，默认为"产品级别"；"设备名称"选择具体设备则默认匹配为"设备级别"。 |
   | base64编码 | 是否对转发的设备数据进行base64编码。为方便后续查看转发数据的内容，此处不开启。                              |
   | 包含设备信息   | 转发的设备数据是否包含设备信息，为方便后续识别转发数据所属的设备，此处开启。                                  |
      
   
5. 在"数据目的端"下单击"创建数据目的端"，设置数据目的端相关配置，然后单击"保存"，完成数据转发规则的配置。
   图3数据目的端配置   
   ![](https://support.huaweicloud.com/qs-roma/zh-cn_image_0000001145294246.png "点击放大")
   表9数据目的端配置 
   | 参数      | 配置说明                                                                                                      |
   |:---|:---|
   | 数据目的端   | 本配置样例中把数据转发到ROMA Connect的消息集成MQS，此处选择"ROMA MQS"。                                                          |
   | 连接地址    | 选择当前ROMA Connect实例的消息集成 MQS内网连接地址，您可以在ROMA Connect实例控制台的"实例信息"页面中查看得到。                                    |
   | Topic名称 | 选择[准备工作]中所创建的ROMA Connect消息集成Topic。                                  |
   | 用户名     | **仅当ROMA Connect实例的"MQS SASL_SSL"已开启时需要配置。** 填写"Topic名称"中Topic所属集成应用的Key。   |
   | 密码      | **仅当ROMA Connect实例的"MQS SASL_SSL"已开启时需要配置。** 填写"Topic名称"中Topic所属集成应用的Secret。 |
      
   
 
 #### 步骤四：调试设备
设备可以通过集成MQTTX客户端或SDK接入ROMA Connect。为简单起见，此处在本地PC使用MQTTX客户端模拟设备接入ROMA Connect，并向ROMA Connect发送消息。
1. 获取设备的接入信息。
   在"设备管理"页面的设备列表中，查看并记录[步骤二：注册设备]中已创建设备的"MQTT连接地址"、"客户端ID"、"用户名"和"密码"信息。
   图4设备接入信息   
   ![](https://support.huaweicloud.com/qs-roma/zh-cn_image_0000001143013914.png "点击放大") 
2. 打开本地安装的MQTTX客户端，单击客户端上的新增连接图标。
   图5MQTTX客户端   
   ![](https://support.huaweicloud.com/qs-roma/zh-cn_image_0000001880686417.png) 
3. 在连接属性编辑页面中填写连接属性相关配置信息，完成后单击"Connect"。
   图6连接属性配置   
   ![](https://support.huaweicloud.com/qs-roma/zh-cn_image_0000001833887330.png "点击放大")
   表10连接属性配置 
   | 参数        | 配置说明                                                                 |
   |:---|:---|
   | Name      | 填写连接配置的名称，自定义。                                                       |
   | Client ID | 填写[1]中获取的"客户端ID"。                      |
   | Host      | 选择"mqtt://"，填写[1]中获取的"MQTT连接地址"中的IP地址。 |
   | Port      | 填写[1]中获取的"MQTT连接地址"中的端口号。              |
   | Username  | 填写[1]中获取的"用户名"。                        |
   | Password  | 填写[1]中获取的"密码"。                         |
      
   
4. 单击"Connect"，接入ROMA Connect。 若接入成功，则MQTTX客户端左上角的连接状态显示为绿色。同时，在ROMA Connect实例控制台的"设备集成 LINK \> 设备管理"页面中，可以看到设备的"状态"为"在线"。
   图7设备在线   
   ![](https://support.huaweicloud.com/qs-roma/zh-cn_image_0000001079897978.png "点击放大") 
5. 设备上报数据到ROMA Connect。
   1. 在MQTTX客户端中单击步骤[3]已创建的连接，填写设备Topic和要发送的消息内容，完成后单击![](https://support.huaweicloud.com/qs-roma/zh-cn_image_0000001834047138.png "点击放大")，向ROMA Connect发送消息。
      - 在"Topic"输入框中填写设备发送消息的Topic，格式为：{产品标识}/out/{设备标识}。您可以在ROMA Connect实例控制台的"设备集成 LINK \> 设备管理"页面，单击设备名称进入详情页，在"Topic列表"中查看设备的Topic。
      
      - 在下方的消息输入框中填写Json格式的消息内容。
      
      
      图8设备发送消息   
      ![](https://support.huaweicloud.com/qs-roma/zh-cn_image_0000001880526625.png) 
   
   2. 在ROMA Connect实例控制台选择"消息集成MQS \> 消息查询"，进入消息查询页面。
   
   3. 单击"高级搜索"展开高级搜索框。
   
   4. 输入搜索条件，然后单击"搜索"，查询客户端发送的消息记录。
      - "Topic名称"选择[步骤三：配置数据转发]中创建的消息Topic。
      
      - "查询方式"选择"按生产时间查询"，并选择设备向ROMA Connect发送消息的时间段。
       
   
   5. 单击消息记录后的"消息内容"，查看设备上报消息中的"data"字段的值，确认是否与MQTTX客户端发送的内容一致。
      图9查看消息内容   
      ![](https://support.huaweicloud.com/qs-roma/zh-cn_image_0241758089.png "点击放大") 
    
6. 设备接收ROMA Connect下发的命令。
   1. 在MQTTX客户端单击步骤[3]已创建的连接，单击"New Subscription"，填写设备命令下发请求发送的Topic，格式为：/v1/devices/{设备标识}/command，然后单击"Confirm"，订阅设备命令下发的消息。
      您可以在ROMA Connect实例控制台的"设备集成 LINK \> 设备管理"页面，单击设备名称进入详情页，在"Topic列表"中查看设备的Topic。
      图10订阅设备消息   
      ![](https://support.huaweicloud.com/qs-roma/zh-cn_image_0000001880686421.png "点击放大") 
   
   2. 在ROMA Connect实例控制台选择"设备集成 LINK \> 设备管理"，单击设备右侧的"更多 \> 命令下发"。
   
   3. 在命令下发弹窗中设置要下发的命令，完成后单击"确认"，下发命令。
      图11命令下发   
      ![](https://support.huaweicloud.com/qs-roma/zh-cn_image_0000001339114101.png "点击放大")
      表11命令下发配置 
      | 参数     | 配置说明                                                                                                 |
      |:---|:---|
      | 物模型服务  | 选择[3]中添加的物模型服务，此处选择"Temperature"。                                     |
      | 是否同步   | 保持默认为否。                                                                                              |
      | 选择命令   | 选择[5]中添加的命令，此处选择"SET_STATUS"。                                       |
      | status | 根据[5]中添加的命令字段的不同，此处显示具体的命令字段。本配置样例中显示为"status"字段，字段值设置为"on"，表示打开设备。 |
         
      
   
   4. 在MQTTX客户端的"Received"页签可以看到ROMA Connect向设备下发的命令消息，确认消息中的"cmd"和"paras"字段的值是否与ROMA Connect控制台下发的命令一致。
      图12设备接收消息   
      ![](https://support.huaweicloud.com/qs-roma/zh-cn_image_0000001833887334.png) 
    
 
