
# 内部架构
模块SDK用于开发运行在边缘节点中的应用，包括数据处理应用（简称应用，例如数据清洗）和协议驱动（简称驱动，例如EdgeAccess）。
图1边缘设备接入和应用开发能力架构图   
![](https://support.huaweicloud.com/devg-iotedge/figure/zh-cn_image_0000001151871846.png "点击放大")
部署在边缘节点中的第三方应用和第三方驱动使用模块SDK进行开发。
图2模块SDK调用流程图   
![](https://support.huaweicloud.com/devg-iotedge/figure/zh-cn_image_0000001151871404.png "点击放大")
基本调用流程如图[2]所示。
基于ModuleSDK-C开发应用实现数据的云边同步，主要分为开发和使用两个部分。
| 开发操作     | 开发说明                             |
|:---|:---|
| SDK应用的开发 | 按照SDK提供的Demo进行自定义应用开发。           |
| SDK应用的使用 | 将应用打包上传至华为云，部署到节点。连接子设备查看应用工作情况。 |
   
ModuleSDK-C提供了以下头文件，用户可根据需求引用相应的头文件：
| 头文件              | 说明                                |
|:---|:---|
| edge.h           | 实现基本的回调函数和接口函数                    |
| edge_daemon.h    | 实现所有证书、鉴权相关接口                     |
| edge_driver.h    | 驱动模块，用于开发驱动接入设备，驱动需实现网关回调函数       |
| edge_error.h     | 错误码定义                             |
| edge_struct.h    | 所有可能使用到的头文件定义                     |
| edge_dc_driver.h | 数采驱动模块，用于开发数采驱动接入点位数据，驱动需实现相关回调函数 |
   
