产品开发
一、涂鸦 IoT 平台
地址。
什么是涂鸦 IoT 开发平台?
涂鸦 IoT 开发平台支持海量物联网(IoT)设备、网关、服务、应用连接上云。在 产品开发 阶段,涂鸦 IoT 开发平台提供了多种连接方式,实现设备与 IoT 平台之间稳定可靠地双向通信,方便设备与服务、应用、以及其他设备之间发送和接收数据。
涂鸦 IoT 开发平台包括了 3 个部分:智能硬件开发平台、App 开发平台、云开发平台。
-
智能硬件开发平台:提供多达超过 475 种免开发方案,涵盖 8 大硬件类目(电工照明、大小家电、安防传感、健康运动、节能能源、数码娱乐、工业农业、办公出行),1510 种 MCU SDK,一站式提供硬件智能升级所需的所有工具。TuyaOS 是专为物联网设备打造的 IoT 操作系统。具备轻量级、互联互通、安全传输、组件丰富、快速开发等关键能力,广泛应用于电工照明、大小家电、视频监控、中控网关、安防传感、工业农业等物联网设备。TuyaOS 隶属于硬件开发下的子产品。
-
App 开发平台:提供公版、OEM 和定制化 App SDK,最快一天拥有自己的 App。面板工作台和面板 SDK,快速打造个性化的 UI,提供超过 4000 种 App 公版面板。
-
云开发平台:帮助开发者围绕涂鸦设备完成丰富的附加服务,开发出个性化的 IoT 平台、PaaS 和 SaaS 级解决方案,提供超过 1000 种接口开放能力(API)。
二、创建产品
产品定义了面板和设备所拥有的功能点,所以在开发一个智能设备面板之前,我们首先需要创建一个产品,定义产品有哪些功能点,然后面板中再根据这些功能点一一实现。
在涂鸦 IoT 开发平台上创建产品的操作步骤如下:
- 注册登录 涂鸦 IoT 开发平台。
2. 左侧导航栏中,单击 产品 > 产品开发 > 创建产品,以 大家电 为例,选择 标准类目,选择 大家电 > 空调。
三、产品功能
产品功能 是涂鸦 IoT 开发平台对智能硬件设备功能的抽象表示,用于描述实际硬件产品功能及其参数。确定了 产品功能 后,涂鸦 IoT 平台基于智能硬件设备的产品功能生成云端控制对接模型,便于硬件开发者理解产品功能及其数据交互方式。
什么是产品和产品功能?
在涂鸦,产品是一系列具有同样配置和属性的智能设备的集合,方便您批量管理设备。当您在 涂鸦 IoT 平台 创建了一个产品后,平台赋予该产品一个 PID(Product ID),用来表示产品的注册标识。完成产品的创建后您可以进行产品开发,而定义产品功能是产品开发的第一步。
您在平台为产品设置的功能,则描述了该产品能够干什么,以及云端如何 “指挥” 设备。物联网设备存在于物理空间中,产品功能 则是设备在云端的数字化表示,用来规范化表达设备发送给云端的遥测数据。
应用场景
以一个灯带为例,用户通过控制端设置了灯带的某个瞬间状态,云端或者边缘网关需要将用户的设置一一对应地去执行。此时,就需要明确产品的功能,通过改变功能的值来控制设备。
一般地,解决方案构建者或者智能硬件生产者需要为设备设计好 产品功能,然后以固件地形式将功能实现到设备应用程序中。
而物联网移动应用和云应用则使用对应的开发语言编写设备检测和控制代码,让终端用户能够使用设备所有的 产品功能。
功能分类
- 标准功能:标准功能是某一产品支持的常用功能,又称为标准 dpcode。由于各个产品属性的差异,每个产品的标准功能也会有所不同。
- 自定义功能:如果您设计的设备功能不在标准功能中时,您可以自定义功能。
- 高级功能:例如云定时、网页跳转等不适用常见的功能表达格式的功能,称为高级功能。
表达格式
属性 | 说明 | 示例(以灯带彩光模式为例) |
---|---|---|
DP ID | 全称为 Data Point ID,缩写为 DPID。DP 是产品功能在设备应用程序中的简称,则 DP ID 是产品功能的简单编码,一般为整数型,例如 1、2、101。设备与云端的功能数据通过 DP ID 进行传输。 | 24 |
功能名称 | 产品功能的名称,可以用中文、英文、日语、法语等语言表示,仅用做平台展示。 | 彩光模式 |
标识符 | 功能的字符串表示,又称为产品 dpcode,用于有多语言能力的应用程序中,例如移动应用。支持字母、数字和下划线,以字母开头。 | color_mode |
数据传输类型 | 定义了数据交互的方向。分为以下几种:1.可下发可上报:指令数据可以发送给设备,设备数据可以传输给云端。2.只上报:数据只支持从设备传输给云端。3.只下发:数据只支持从云端发送给设备 | 可下发可上报 |
数据类型 | 定义了产品功能的取值的数据类型。分为以下几种:1.布尔型(bool):非真即假的二值型变量。例如开关功能的开或者关。2.数值型(value):可线性调节类型的数据。例如温度调节,温度范围 20-40℃。3.枚举型(enum):自定义的有限集合值。例如低档、中档、高档的取暖器。4.故障型(fault):用于上报和统计故障的功能点,支持多故障,数据只上报。例如温度传感器故障、电机故障和高温故障等。5.字符串型(string):以字符串形式传输的产品功能。6.透传型(raw):以二进制形式透传的产品功能。 | 字符型(String) |
功能属性 | 进一步明确 数值型 产品功能的数值取值范围、数值间距和单位。 | - |
备注 | 针对一些较复杂或者涉及到多人协作的产品功能,您可以在备注中说明相关注意,提示其他团队成员。 | 某某功能由产品专员重新定义。 |
相关概念
有了产品功能,应用程序才可以与智能设备产生交互。基于涂鸦物联网技术的软硬件结合开发的方式,传统设备可以被改造成智能硬件,进而让其拥有智能化、自动化、多设备联动的能力。此章节介绍几个与产品功能有相关性的概念。
上报下发
上报和下发是指固件指令的方向,一般都是异步模式。例如,在 MCU 低代码开发中,涂鸦云模组下发控制命令给 MCU,数据解析完成后,MCU 会根据命令执行对应的产品功能,若设备状态发生改变,MCU 还需使用状态上报命令。假设云模组控制命令下发的命令字为 X,MCU 状态上报的命令字为 Y,则如下图所示:
智能场景
为了满足用户对智能场景的配置需求,涂鸦为开发者提供了用于自定义设置智能场景中产品功能的接口。当一个智能设备的状态的变化,或者某个环境条件的变化影响着其他智能设备的开关或者状态调整时,这就是 智能场景。
四、标准功能
产品功能是具体智能设备功能的抽象,用于描述产品功能及参数。其中,标准功能 是涂鸦提供的该品类标准通用的功能定义,您无需该品类开发经验,选择后即可使用。
功能说明
- 由于产品属性的差异,每个产品的标准功能也有所不同。例如,智能灯提供 冷暖值 标准功能,但智能开关无法提供该功能。具体标准功能,请以创建产品过程中 功能定义 页面实际显示为准。
- 根据不同的 产品开发方式,标准功能支持的操作会有不同。具体以 IoT 平台显示的为准。
五、自定义功能
产品功能是具体智能设备功能的抽象,用于描述产品功能及参数。如果您需要的产品功能不在标准功能中时,您可以自定义功能。
功能说明
-
添加自定义功能时,您需要考虑功能点、功能点 ID、功能点名称、标识名、数据类型、数据传输类型等属性。更多详情,请参考 产品功能。
-
为产品稳定性考虑,建议您的每个产品的标准功能点和自定义功能点累计不超过 40 个。若超过,请注意产品稳定性测试。
-
每种功能都可以通过不同数据类型定义,涂鸦支持布尔型、数值型、枚举型、故障型、字符串型、透传型这 6 种数据类型。
- 布尔型、数值型和枚举型是基础类型,大部分功能可通过这 3 种数据类型定义。
- 故障型专门用于故障定义,便于在后台统计故障。
- 字符串型和透传型用于较复杂功能,只有当其他类型无法满足需求时,才推荐使用。
-
极速免开发产品不支持添加自定义功能。
-
自定义功能支持在嵌入式开发过程中,针对 DP(Data Point)进行特殊配置,您可以按需选择。具体规则如下:
-
被动上报:如果不是主动上报,必须下发指令才能上报,防止上报过于频繁。
-
重复上报:表示该 DP 支持重复上报相同值。
-
DP 路由:用来控制蜂窝网络和蓝牙双协议 模组 的 DP 选择的接入协议。支持以下三种模式:
- 不设置:优先选择蜂窝网络,当蜂窝网络断开后,选择蓝牙协议。
- 蓝牙优先:优先选择蓝牙,当蓝牙未连接时,选择蜂窝网络。
- 强制蓝牙:强制选择蓝牙,当蓝牙未连接时,面板需要有错误提示。
-
无需上云:针对配置类型 DP,嵌入式 SDK 在配网时读取配置项,SDK 可以仅上报给 App 而无需上报到云端。
-
常见问题
更多详情请参考 自定义功能常见问题
六、高级功能
产品功能是具体智能设备功能的抽象,用于描述产品功能及参数。其中,高级功能是指在该品类下,为您提供的高级特色功能。仅需您根据产品功能需求开启或者关闭,即可添加高级功能。
功能说明
- 面板定时功能:如果设备控制面板支持定时功能,开启后,面板会展示定时功能按钮,用户可以进入面板设置定时任务。开启效果如下:
- 跳转网页:设置网页 URL 跳转功能,可跳转商城、官网等网页。
- 其他:不同的产品提供了不同的高级功能,可以在IoT平台开发设置中详细了解。