类型开发包

更新时间:2023-10-27 07:02:39下载pdf

IPC 类型开发包是基于 TuyaOS 系统裁剪得到的、适用于 IPC 产品开发的开发包,支持云端接入、设备控制、OTA、流媒体服务、事件告警等功能的 IPC 开发框架。您可基于该类型开发包,快速完成 IPC 产品化落地。

架构图

类型开发包

开发包文件列表

IPC 类型开发包主要提供上图中 Service 与 Library 能力库与头文件,从 IDE 下载后的文件目录为如下:

├── hardware                            硬件资料
├── pc                                  PC 端开发与调试工具
├── software                            软件资料
│   ├── packages                        软件包压缩文件
│   ├── SDKInformation.json             类型开发包参数信息,修改无效
│   └── TuyaOS                          代码与库文件
│       ├── apps                        产品目录
│       │   └── tuyaos_demo_ipc         Demo 演示产品,文件夹名即产品名
│       ├── build                       编译配置,修改无效
│       ├── build_app.sh                产品编译脚本
│       ├── CHANGELOG.md                修订变更记录
│       ├── docs                        文档目录,右键 quick start 可直接查看
│       ├── include                     头文件
│       ├── libs                        SDK 库文件
│       ├── LICENSE                     证书
│       ├── Makefile 
│       ├── prepare_app.sh              下载编译环境脚本
│       ├── README.md                   说明文档
│       ├── scripts                     编译脚本
│       └── vendor                      芯片平台相关文件与接口
└── tuya.json

主要接口文件

software/TuyaOS/include/ 文件下包含了所有开发所需的头文件,其中与 IPC 品类相关的为 components 目录下的如下组件:

组件 头文件
svc_api_ipc
  • tuya_ipc_api.h:封装通用头文件,供外部模块统一使用
  • tuya_ipc_dp.h:DP 处理相关能力 API
  • tuya_ipc_event.h:事件启停处理相关 API
  • tuya_ipc_hardware_info.h:硬件能力信息上报 API
  • tuya_ipc_log.h:调试日志控制相关 API
  • tuya_ipc_notify.h:事件上报相关 API
  • tuya_ipc_sdk_info.h:SDK 常用信息获取 API
  • tuya_ipc_sdk_init.h:SDK 初始化相关 API
  • tuya_ipc_upgrade.h:升级业务相关 API
svc_ring_buffer tuya_ring_buffer.h:音视频数据缓存管理
svc_local_storage
  • tuya_ipc_stream_storage.h:本地存储头文件
  • tuya_ipc_album.h:本地相册头文件
svc_streaming_p2p tuya_ipc_p2p.h:P2P 业务头文件
svc_cloud_storage tuya_ipc_cloud_storage.h:视频云存储服务头文件

开发流程

在涂鸦 IoT 开发
平台创建产品
快速体验
芯片适配
TKL 适配 media/Wi-Fi 等
uboot 适配
kernel 适配
rootfs 适配
固件分区适配
业务功能开发
应用组件添加
全固件打包

FAQ

IPC 类型开发包和 IPC SDK 是什么关系?

在发布 TuyaOS 之前,涂鸦提供嵌入式应用层 IPC SDK 帮助您实现云端接入、设备控制、实时音视频传输、存储与回放、事件告警等功能。IPC 类型开发包可以理解为 IPC SDK 的版本升级,它们本质上是相同的,提供基本相同的核心能力。

区别如下:

  • IPC SDK 仅提供了 lib 库和 .h 头文件,不存在任何代码框架设计。
  • 类型开发包还提供了跨产品通用的代码架构、标准化的内核/系统接口抽象,帮助您更好地实现跨系统、跨芯片方案的产品开发。

涂鸦也会不断开放更多应用业务的代码,和涂鸦内部完成的芯片平台适配,基于类型开发包可以更便捷地使用这些成果。

能否不基于类型开发包的代码框架开发产品?

可以。如果您期望仅基于 lib 库和 .h 头文件开发,可以单独使用上文中的 include 文件夹和 lib 文件夹。注意,需要实现必要的 tkl_xx 接口。

支持与帮助

如果在开发过程遇到问题,您可以登录 TuyaOS 开发者论坛 综合多媒体板块进行沟通。