SDK 架构

更新时间:2022-11-24 09:20:05

OpenCPU SDK 架构主要分为 OpenAPI 和 Core Filelist 两部分,本文以 UIS8910 芯片平台为例进行说明,详细内容如下

OpenAPI

Tuya OpenCPU SDK 的开发主要围绕 OpenAPI 的定义展开,结合 UIS8910 OpenCPU 方案及 TUYA Cat.1 模组功能,重新裁剪定义 OpenAPI 列表,形成 TUYA OpenCPU SDK 包,提供给外部开发者使用,如下图:
SDK 架构
Tuya OpenCPU SDK 中,OpenAPI 主要包含 UIS8910 OSI API、Tuya IoT API 及Tuya Cat.1 API 三类,每类 API 归属不同模块,各自功能侧重点不同,考虑哪些 API 需要对外开放时,应从功能归属和应用需求出发,尽量避免同一功能在不同类中都有接口开放,给用户编程带来负担。各类 API 侧重点定义如下:

  • UIS8910 OSI API
    系统基础功能,给应用编程提供通用基础能力,如任务、内存、定时器、队列、事件、系统时间、文件系统、硬件控制等;

  • Tuya IoT API
    Tuya IoT 功能,给应用编程提供 IoT 基础能力,如 IoT 设备管理认证、网络配置、Tuya 云连接、HTTP、MQTT 协议通信、Log 等;

  • Tuya Cat.1 API
    Cat.1 模组相关功能,给应用编程提供 Tuya Cat.1 模组能力,如 SIM 卡注册、网络信息、信号强度查询、Cat.1 模组硬件开放接口配置管理、用户固件升级等;

Core Filelist

在制作 OpenCPU SDK 包的过程中,需要使用 core_filelist.xml 文件,该文件中申明了哪些文件需要导出到 OpenCPU SDK 包中,提供给外部开发者使用,如下图所示:
SDK 架构
文件内容主要包括编译构建工具、OpenAPI 头文件、烧录文件生成脚本及工具等;
通过以下命令制作 OpenCPU SDK 包:

tools/deliverpack.py load components/apploader/pack/core_filelist.xml list.json 
 --keyword TARGET_OUT=out/Customer_cat1bis_volte_debug \
 --inclusive 8910 prebuilts
tools/deliverpack.py pack --output OpenCPU_sdk.tar.gz list.json