
# 透传网关模式接入
本模式适用于两种场景的设备：
- 支持TCP/IP协议栈的设备，设备可以直接与物联网平台进行通信，但希望[直连边缘节点]实现近端管理的设备。
- 不支持TCP/IP协议栈的设备，无法直接同物联网平台通信，需要[通过网关连接边缘节点]实现近端管理的设备。
![](https://support.huaweicloud.com/usermanual-iotedge/public_sys-resources/notice_3.0-zh-cn.png)
IoTEdge支持透传IoTDA报文的能力详情，如表[表1](https://support.huaweicloud.com/usermanual-iotedge/iotedge_03_0017.html#ZH-CN_TOPIC_0189758870__table1746613316547)。
 #### 设备直连边缘节点
设备通过原生MQTT协议或集成[IoT Device SDK](https://support.huaweicloud.com/sdkreference-iothub/iot_02_0178.html)、[IoT Device SDK Tiny](https://support.huaweicloud.com/sdkreference-iothub/iot_02_9980.html)直连边缘节点，边缘节点将设备上报的数据透传给物联网平台，并将平台下发的命令透传给设备。
请参考以下流程完成设备接入：
1. 在[设备接入服务](https://console.huaweicloud.com/iotdm)完成设备的产品模型（也称Profile）、编解码插件的开发，并进行自助测试。
   
   对于设备通过边缘节点上报至物联网平台的数据，云端物联网平台要能够解析设备上报的数据。
   具体请参考"设备接入服务"的[开发指南](https://support.huaweicloud.com/devg-iothub/iot_01_0058.html) 中[产品开发](https://support.huaweicloud.com/devg-iothub/iot_02_0005.html)的指导。
   - **Profile**是用来描述设备能力的文件，通过JSON的格式定义了设备的基本属性、上报数据和下发命令的消息格式。定义Profile，即在物联网平台构建一款设备的抽象模型，在设备上报数据时，平台能够根据定义的Profile理解该款设备支持的属性信息。
   
   - **编解码插件**开发要根据设备上报数据的格式来判断，如果设备上报的"数据格式"为"二进制码流"，则该产品模型下需要进行编解码插件开发。
    
   
   
2. 进行设备接入物联网平台的设备侧开发。
   
   1. 根据设备自身情况选择合适的接入方式，可以选择原生MQTT协议接入、或者集成[IoT Device SDK](https://support.huaweicloud.com/sdkreference-iothub/iot_02_0178.html)、[IoT Device SDK Tiny](https://support.huaweicloud.com/sdkreference-iothub/iot_02_9980.html)接入。具体请参考"设备接入服务"的++[开发指南](https://support.huaweicloud.com/devg-iothub/iot_02_1004.html)++ 中[设备侧开发](https://support.huaweicloud.com/devg-iothub/iot_02_0169.html)的指导。
      1. 采用原生MQTT协议接入，请参考"设备接入服务"的++[开发指南](https://support.huaweicloud.com/devg-iothub/iot_02_1004.html)++ 中[使用MQTT Demo接入](https://support.huaweicloud.com/devg-iothub/iot_02_2126.html)的指导。
      
      2. 通过集成SDK接入，请参考"设备接入服务"的[IoT Device SDK使用指南](https://support.huaweicloud.com/sdkreference-iothub/iot_02_0089.html)的指导。
       
   
   2. 将设备接入的IP地址修改为需要连接的边缘节点本地的IP地址。
      ![](https://support.huaweicloud.com/usermanual-iotedge/public_sys-resources/note_3.0-zh-cn.png)
      通过MQTT协议的设备接入边缘节点的端口地址是7883，并且需要下载[证书文件](https://ioe-installer.obs.cn-north-4.myhuaweicloud.com/plt-device-ca.pem)进行认证。
      
   
   
   
   
3. 在"IoT边缘控制台"添加设备。
   
   1. 访问[IoT边缘](https://www.huaweicloud.com/product/iotedge.html)，单击"管理控制台"进入IoT边缘控制台。
      
   
   2. 选择左侧导航栏的"边缘节点 \> 节点管理"，选择您的边缘节点名称，进入节点详情页。
   
   3. （可选）选择"应用模块 \> 模块管理"页签，部署边缘应用。 为了保证设备能够正常在线，请您先部署步骤[2]中的应用，直连场景下不需要部署其他应用，具体操作请参考[部署应用](https://support.huaweicloud.com/usermanual-iotedge/iotedge_03_00073.html)。
      
   
   4. 选择左侧导航栏"边缘设备"页签，单击左上角的"添加边缘设备"按钮，按照[表1]填写参数后，单击"确认"。
      图1添加边缘设备   
      ![](https://support.huaweicloud.com/usermanual-iotedge/figure/zh-cn_image_0000001227723518.png "点击放大")
       表1添加边缘设备 
      | 参数名称     | 说明                                                                                                                                                                  |
      |:---|:---|
      | 所属产品     | 选择要添加的产品名称。 只有在设备接入服务里创建了产品，此处才可以选择具体的产品。如没有，请先[创建产品](https://support.huaweicloud.com/usermanual-iothub/iot_01_0054.html)。 |
      | 设备标识码    | 设备唯一物理标识，如IMEI、MAC地址等，用于设备在接入物联网平台时携带该标识信息完成接入鉴权。 MQTT设备：通过注册成功后生成的"设备ID"（与设备标识码一一对应）和"设备密钥"接入平台。                         |
      | 设备名称     | 自定义。                                                                                                                                                                |
      | 模块ID     | 不填。**[添加边缘设备的什么时候填写模块ID？](https://support.huaweicloud.com/iotedge_faq/iotedge_04_0039.html)**                                                                       |
      | password | 自定义设备密钥。                                                                                                                                                            |
         
      
   
   5. 添加设备成功，请保存好设备ID和密钥，用于设备接入平台认证。
      图2设备ID和密钥   
      ![](https://support.huaweicloud.com/usermanual-iotedge/figure/zh-cn_image_0000001227567974.png)
      ![](https://support.huaweicloud.com/usermanual-iotedge/public_sys-resources/note_3.0-zh-cn.png)
      参考[使用MQTT.fx调测](https://support.huaweicloud.com/devg-iothub/iot_01_2127.html)文档，使用MQTT.fx工具接入IoT边缘平台。
      
   
   6. 完成添加设备后，可以在设备列表中查看设备状态，并管理边缘设备。 也可以单击"设备ID"跳转至"设备接入服务控制台"进行设备管理。
      表2操作说明 
      | 操作名称  | 说明                                                                                                                                                           |
      |:---|:---|
      | 配置    | 查看边缘设备的原有配置，或者修改边缘设备的配置。                                                                                                                                     |
      | 删除    | 删除边缘设备。 说明： 若您已在"设备接入服务控制台"删除边缘设备，请前往"IoT边缘控制台"继续删除该设备，否则"IoT边缘服务"将继续对此设备计费。 |
      | 管理子设备 | 查看边缘设备详情，以及注册子设备，具体操作可参考[网关与子设备管理](https://support.huaweicloud.com/api-iothub/iot_06_v5_3019.html)。                                                          |
         
      
   
   
   
   
4. 将设备连接到边缘节点上。
5. 验证设备上报的数据能在"IoT边缘控制台"中查看。 
   1. 设备上电，并向物联网平台上报数据。
   
   2. 访问[IoT边缘](https://www.huaweicloud.com/product/iotedge.html)，单击"管理控制台"进入IoT边缘控制台。
      
   
   3. 选择左侧导航栏的"边缘节点 \> 节点管理"，选择您的边缘节点名称，进入节点详情页。
   
   4. 选择"边缘设备"页签，单击"管理子设备"查看对应设备的状态。如果状态为"在线"，则表示设备已经成功接入物联网平台。
      图3管理子设备   
      ![](https://support.huaweicloud.com/usermanual-iotedge/figure/zh-cn_image_0000001272129469.png "点击放大") 
   
   5. 返回"边缘设备"页签，单击对应的"设备ID"进入设备详情页，在详情页中查看"最近上报数据"，如果能正常解析和显示对应的数据，则表示设备上报数据成功。
      ![](https://support.huaweicloud.com/usermanual-iotedge/public_sys-resources/note_3.0-zh-cn.png)
      如果需要查看所有上报的历史数据，则可以在设备详情的"历史数据"中进行查看。
      
   
   
   
   
 
 #### 设备通过网关连接边缘节点
设备通过一些简单的近场通信协议如ZigBee、ZWave、Bluetooth或者是其他的一些非IP有线方式传输协议如串口、并口等接入网关，网关通过集成IoT Device SDK连接边缘节点，边缘节点透传网关上报的数据，以及将平台的命令下发给网关。
请参考以下流程完成设备接入：
1. 在[设备接入服务](https://console.huaweicloud.com/iotdm)完成网关、设备的产品模型（也称Profile）、编解码插件的开发，并进行自助测试。
   
   对于通过边缘节点上报至物联网平台的网关和设备的数据，云端物联网平台要能够解析。
   - **Profile**是用来描述设备能力的文件，通过JSON的格式定义了设备的基本属性、上报数据和下发命令的消息格式。定义Profile，即在物联网平台构建一款设备的抽象模型，在设备上报数据时，平台能够根据定义的Profile理解该款设备支持的属性信息。
   
   - **编解码插件**开发要根据设备上报数据的格式来判断，如果设备上报的"数据格式"为"二进制码流"，则该产品模型下需要进行编解码插件开发。
    
   具体操作请参照"设备接入服务"的[开发指南](https://support.huaweicloud.com/devg-iothub/iot_01_0058.html) 中[产品开发](https://support.huaweicloud.com/devg-iothub/iot_02_0005.html)的指导。
   
   
2. 进行网关接入物联网平台的设备侧开发。 
   1. 在网关集成IoT Device SDK接入平台。目前IoT Device SDK支持C、Java两个版本。实际开发中，请根据开发时使用的语言、平台，选用合适的SDK集成。具体请参照"设备接入服务"中[IoT Device SDK使用指南](https://support.huaweicloud.com/sdkreference-iothub/iot_02_0089.html)的指导。
   
   2. 将网关接入的IP地址修改为需要连接的边缘节点本地的IP地址。
      ![](https://support.huaweicloud.com/usermanual-iotedge/public_sys-resources/note_3.0-zh-cn.png)
      通过MQTT协议的网关接入边缘节点的端口地址是7883。
      
   
   
   
   
3. 在"IoT边缘控制台"添加网关。物联网平台中，网关也是作为一个设备注册。具体请参照[3]。
4. 将网关连接到边缘节点上。
5. 将子设备连接到网关。
6. 验证设备上报的数据能在"IoT边缘控制台"中查看。 
   1. 设备上电，并向物联网平台上报数据。
   
   2. 访问[IoT边缘](https://www.huaweicloud.com/product/iotedge.html)，单击"管理控制台"进入IoT边缘控制台。
      
   
   3. 选择左侧导航栏的"边缘节点 \> 节点管理"，选择您的边缘节点名称，进入节点详情页。
   
   4. 选择"边缘设备"页签，单击对应的"设备ID"跳转至"设备接入服务控制台"进入设备详情页。
   
   5. 选择"子设备"页签，在设备列表中查看对应设备的状态。如果状态为"在线"，则表示设备已经成功接入物联网平台。
      图4查看设备状态   
      ![](https://support.huaweicloud.com/usermanual-iotedge/figure/zh-cn_image_0277931257.png "点击放大")
      ![](https://support.huaweicloud.com/usermanual-iotedge/public_sys-resources/note_3.0-zh-cn.png)
      子设备的状态表示子设备接入网关的状态，由网关上报到物联网平台进行状态的刷新；如果网关不能正常上报子设备的状态信息到物联网平台，则展示的子设备状态不会刷新。例如：某子设备通过网关接入到物联网平台，子设备状态为在线状态，如果此时网关与物联网平台断开连接，则网关不能上报子设备的状态到物联网平台，该子设备的状态会一直显示在线。
      
   
   6. 单击"查看"具体的子设备，可以查看子设备的[设备详情](https://support.huaweicloud.com/usermanual-iothub/iot_01_0065.html)、[历史上报数据](https://support.huaweicloud.com/usermanual-iothub/iot_01_0045.html)、[查看操作记录](https://support.huaweicloud.com/usermanual-iothub/iot_01_0030_2.html)。
   
   
   
   
 
