TuyaOS 概念解释
TuyaOS是什么
TuyaOS 是一种基于 RTOS、Linux、Non-OS 等内核设计的应用于 IoT 领域面向全连接、全场景的分布式跨平台操作系统。基于 TuyaOS Kernel 及 TuyaOS 丰富的开发组件,使开发人员能够从不同的芯片平台、系统、连接协议及应用软件等碎片化开发体验中得到解放,只需专注于自身业务的创新及开发,并且一次开发、多端部署、全球可用、安全合规。
详细介绍可以查看:https://www.tuyaos.com/viewtopic.php?t=21
TuyaOS开发者要了解哪些概念?
开发者在使用TuyaOS进行开发,比如在IDE上创建开发框架的时候,会遇到一些概念,如果对这些概念缺乏了解,就很难得到自己所需的开发框架,进行后续的开发。比如:
开发模式
类型开发包
开发平台
产品开发包(待更新)
其中类型开发包、开发平台、产品开发包是TuyaOS EasyGo的内容。
开发模式
开发模式是开发者在进行TuyaOS开发的过程中较早接触的概念,有两种,分别为:TuyaOS OS模式和TuyaOS SDK模式,选择不同的模式可以看到不同的内容,一旦选择错误,可能就无法获取你想要的开发框架。
TuyaOS OS模式
又称为OS模式,此模式的开发框架可以认为是完整的TuyaOS,包含了涂鸦适配、验证好的开发平台(TuyaOS Kernel),涂鸦积累的通用能力组件、积累各种品类的应用组件、应用驱动,开发者仅需要关注应用开发,快速进行物联网产品的开发和商业化。
OS模式下的开发框架,都是通过TuyaOS内部严格流程验证的,稳定安全的,可以进行商业化产品开发的,基础的OS模式开发框架都是公版对所有开发者发布。开发者可以使用OS模式开发框架进行开发,然后从涂鸦购买对应的模组、授权码,使用涂鸦提供的生产、支持服务,开发物联网产品。
TuyaOS SDK模式
又称为SDK模式。此模式可以认为是以SDK的方式对外输出TuyaOS,包含了涂鸦积累的通用能力组件、积累各种品类的应用组件、应用驱动,以及开发者提供的工具链。开发者需要关注应用开发,还需要实现TuyaOS kernel的标准接口(TKL接口)。
比如某个开发者和一个芯片原厂合作,使用他们的芯片A进行物联网产品开发,但是这个厂家的芯片A涂鸦并没有支持,此时开发者可以像涂鸦提起申请(申请流程见:https://www.tuyaos.com/viewtopic.php?t=89),基于芯片A输出对应的SDK模式的类型开发包,审批通过之后,即可通过IDE,使用TuyaOS SDK模式,选择申请的类型开发包和开发平台,即可下载所需的开发框架。
注意,只有向涂鸦申请过TuyaOS SDK模式开发框架的开发者,才能在SDK模式获取、下载到自己需要的开发框架。使用SDK模式开发框架开发。
OS模式和SDK模式的差异
OS模式和SDK模式的差异主要有两个方面:
[]获取方式不同:OS模式开发框架是涂鸦维护的,周期性对外发布的。SDK模式开发框架,是开发者向涂鸦申请的,并自己进行适配验证的(需要验证适配的正确性和稳定性)。
[*]开发内容不同:蓝色为开发者需要开发的内容;橙色为TuyaOS提供的内容。开发者使用OS模式开发框架,只需要专注于应用层的开发;使用SDK模式的开发框架,不仅需要开发应用层,还需要进行TuyaOS Kernel接口(tkl接口)适配、验证。
类型开发包
选择开发模式之后,需要选择类型开发包。类型开发包是基于TuyaOS技术体系,按照某一类型物联网产品开发需求构建的不同规格的、适用于不同生态场景的SDK的集合。开发者按照的目标产品,选择合适的类型开发包。
目前支持的类型开发包主要包括以下几种:
联网单品开发:支持以太网、Wi-Fi、Wi-Fi&BLE双模连接云端,主要用于电工、照明、大小家电、传感、门锁、新能源等产品开发。详细介绍见:https://developer.tuya.com/cn/docs/iot- ... jujhienrcy。
蜂窝产品开发:支持支持NB-IoT、LTE-Cat.1/Cat.4/Cat.M连接云端,主要用于传感、定位、出行、新能源等产品开发。详细介绍见:https://developer.tuya.com/cn/docs/iot- ... jum13smccy。
子设备开发:支持蓝牙、Zigbee、SubG等协议,接入网关连接云端,主要用于电工、照明、大小家电、传感、门锁、新能源等产品开发。详细介绍见:https://developer.tuya.com/cn/docs/iot- ... juoo0590jw。
网关开发:支持以太网、Wi-Fi、Wi-Fi&BLE双模连接云端,支持蓝牙、Zigbee、SubG协议的子设备接入的网关产品开发。详细介绍见:https://developer.tuya.com/cn/docs/iot- ... juqtma64w4。
中控开发:支持以太网、Wi-Fi、Wi-Fi&BLE双模连接云端,支持蓝牙、Zigbee、SubG协议的子设备接入,支持可视化控制的中控产品开发。详细介绍见:https://developer.tuya.com/cn/docs/iot- ... juthhnvda8。
IPC开发:支持以太网、Wi-Fi、Wi-Fi&BLE双模连接云端,支持音视频处理的IPC产品开发。
NVR开发:支持以太网、Wi-Fi、Wi-Fi&BLE双模连接云端,支持IPC产品的接入、存储、管理、控制的NVR产品开发。
各种类型开发包存在功能的包含关系,比如说网关、中控、IPC、NVR的类型开发包,也可以用于联网单品开发。开发者可以根据自己的开发需求,以及以往的开发习惯,选择最优的类型开发包。
开发平台
选择类型开发包之后,需要选择开发平台。开发平台是指运行在特定芯片、硬件上的TuyaOS kernel。根据类型、厂商、连接协议和芯片型号来选择你需要的开发平台。注意,如果你的目标平台不在这个列表中的话,你将无法获取开发框架,此时你可以到TuyaOS开发者论坛发帖咨询,也可以向涂鸦申请TuyaOS SDK模式的开发框架,申请流程如:https://www.tuyaos.com/viewtopic.php?t=89。
开发平台主要包含以下内容。
工具链(toolchain):适用于目标芯片、硬件的编译工具、基础库,可以用来编译TuyaOS。
BSP/原厂SDK:芯片原厂提供的,用于在目标芯片、硬件上构造软件运行环境的BootLoader、系统软件、驱动软件、各种原厂提供的功能组件。
TuyaOS kernel adapter layer(tkl) :TuyaOS按照特定模板生成的,用于支持TuyaOS编译、链接、运行的脚本、TKL接口集合。为TuyaOS提供统一的运行环境,一般存放于开发框架./vendor/xxx/tuyaos/tuyaos_adapter/目录下(xxx为开发平台名称)。
在OS模式下,开发平台的所有内容都是涂鸦提供和维护的。
在SDK模式下,开发者需要实现TuyaOS kernel adapter layer里的各个接口。