使用涂鸦Wi-Fi模组和涂鸦Wi-Fi&Bluetooth LE双模模组进行产品开发主要有三种不同的方式进行开发:

  • 零代码开发:涂鸦提供可视化功能配置界面,无需任何编程经验,只需在线配置好产品的功能,即可完成固件开发,快速完成产品智能化。
  • MCU SDK开发:在MCU上进行功能开发,利用涂鸦提供的MCU SDK通过串口和涂鸦模组进行通信从而实现产品智能化。涂鸦提供 MCU SDK,MCU SDK 对上下行通信、OTA、数据解析等功能进行函数接口封装,您可以将 SDK 移植到 MCU 内进行接口适配,并调用相关接口完成应用代码开发,即可实现产品智能化。
  • 模组 SDK 开发:涂鸦提供模组 SDK ,开发者利用涂鸦提供的 SDK 对模组进行二次开发。SDK 封装了 HAL 硬件层、系统层、网络层、OTA 等接口函数,您只需调用相关接口函数进行应用代码开发,无需关心复杂的功能逻辑,即可快速完成产品智能化。

本章节主要介绍通过利用模组 SDK 对涂鸦模组进行二次开发时在涂鸦IoT平台上的操作步骤,以及对涂鸦 IoT 平台上的6种数据类型三种不同的数据传输类型进行介绍。

1.产品创建

在开发前,需要先在涂鸦IoT平台上创建对应的产品,选择相关功能、面板和使用的模组,拿到功能点ID(DP ID)和产品ID (PID)后才能对涂鸦SDK进行二次开发。首先登录涂鸦IoT平台,没有账号的话需要先在涂鸦IoT平台上创建账号。

接下来将以使用CBU模组自定义开发一款一路白光灯为示例,演示在涂鸦IoT平台上操作步骤:

1.1 确认品类

1.点击箭头指向的“创建产品”按钮,开始创建产品。

涂鸦iot中的三元组_功能点

2.标准类目选择“照明”,选择“光源”

涂鸦iot中的三元组_涂鸦iot中的三元组_02

1.2 选择开发方案

1.根据箭头指示选择“自定义方案”。

零代码实现,只需在线对产品进行配置,便可生成固件。详细介绍,点击这里进行查看。

这里我们是对涂鸦模组进行二次开发,所以选择“自定义方案”。

涂鸦iot中的三元组_操作指南_03

2.按照自己将要开发的产品和模组填写产品名称,选择对应的通信协议,配置完成后点击“创建产品”。

这里准备使用CBU模组开发一个一路可以调节灯光亮度的产品。CBU模组是一款Wi-Fi&Bluetooth LE双模模组,选择的通信协议是“WiFi-蓝牙”。

如果你不太清楚你手里的涂鸦模组是什么协议的,可以点击这里找到对应模组的规格书进行查看。

涂鸦iot中的三元组_功能点_04

1.3 添加功能点

1.根据产品想要实现的功能,选择对应的功能点,选择完成后点击“确认”

如果有些你需要的功能点在标准功能点里面没有,可以在标准功能点选择完成后,自定义你需要的功能点。(标准功能点可以在公版面板上很好的显示和操作。如果选择了自定义功能点,可能无法在面板上显示和操作)。

说明:为产品稳定性考虑,建议您的每个产品的标准功能点和自定义功能点累计不超过40个。若超过,请注意产品稳定性测试。

涂鸦iot中的三元组_功能点_05

1.4 选择面板

选择面板,在这里可以按照自己的喜好选择面板。(上面选择的功能点过少,使用“光源-007P”面板可能会出现面板打不开的情况。建议选用其他面板。)

涂鸦iot中的三元组_涂鸦IoT平台_06

1.5 硬件开发设置

1.点击“硬件开发”,选择“TuyaOS”,选择“CBU Wi-Fi&Bluetooth 模组”(如果你使用的是其他模组,选择对应的模组即可)。

涂鸦iot中的三元组_功能点_07

2.箭头①指向的“新增自定义固件”是指上传你已经开发好的产品固件(如何开发将会在后面的内容进行讲解)。

3.点击箭头②指向的“ty_iot_wf_bt_sdk_rtos_BK7231N”下载该模组的SDK。

涂鸦iot中的三元组_涂鸦IoT平台_08

2.功能点介绍

DP(Data Point):常被称为功能点,是智能产品开发中的最重要的环节,用于描述产品功能及其参数。

在涂鸦IoT平台上DP(Data Point)是一个十分重要的概念。只有了解了功能点的各项设置才能更好的进行开发。

  • DP ID:功能点的编码,设备与云端的功能数据通过功能点 ID 进行传输。前100个DP ID涂鸦保留使用,自定义DP点从101开始。
  • DP数据类型:每种功能都可以通过不同数据类型定义,涂鸦支持布尔型、数值型、枚举型、故障型、字符串型、透传型这 6 种数据类型。
  • 布尔型、数值型和枚举型是基础类型,大部分功能可通过这 3 种数据类型定义。
  • 故障型专门用于故障定义,便于在后台统计故障。
  • 字符串型和透传型用于较复杂功能,只有当其他类型无法满足需求时,才推荐使用。

2.1 布尔型

适用于非真即假的二值型变量功能。

例如,开关功能,取值为

涂鸦iot中的三元组_功能点_09

2.2 数值型

适用于可线性调节类型的数据。

例如,温度调节,温度范围 20-40℃。

涂鸦iot中的三元组_操作指南_10

数值范围:从设备所上报数值的最大值和最小值。

间距:从最小值开始,每两个相邻数值的距离。

例:假设数据范围是0-100,间距为1时:数据值为0,1,2,3…;间距为2:数据值应0,2,4,6…;间距为3时:数据值为0,3,6,9…

倍数:当需要输入小数时通过倍数来转换。

例:当设备上报9999时,倍数设置为0,那么面板显示数值为9999;倍数设置为1,那么面板显示数值为999.9;倍数设置为2,那么面板显示数值为99.99;倍数设置为3,那么面板显示数值为9.999...

2.3 枚举型

适用于存在有限的自定义值集合。

编辑功能点时,枚举值支持字母、数字和下划线。按回车键后,枚举值自动生成。枚举值编码从 0 开始,在硬件联调中以枚举值编码进行传输。每个枚举值长度不超过 15 字符,最多支持定义 10 个枚举值。

例如,工作档位,低档/中档/高档。

涂鸦iot中的三元组_涂鸦iot中的三元组_11

2.4 故障型

适用于上报和统计故障的功能点,支持多故障,数据只上报不下发。

例如,温度传感器故障、电机故障和高温故障等。

涂鸦iot中的三元组_涂鸦iot中的三元组_12

2.5 字符串型

以字符串形式传输的功能点。

字符串型最大长度不超过 255 字节。

涂鸦iot中的三元组_涂鸦IoT平台_13

2.6 透传型

以二进制形式进行透传的功能点。

透传型数据的最大长度不超过 255 字节。

涂鸦iot中的三元组_功能点_14

2.7 数据传输类型

在涂鸦IoT平台上,除了数据类型为故障类型的DP只能是只上报的数据传输类型,其他五种数据类型均可按照实际需求进行选择。

数据传输类型

含义

可下发可上报

指令数据可以发送给设备,设备数据可以传输给云端。

只上报

数据只支持从设备传输给云端。

只下发

数据只支持从云端发送给设备。

3. 设备面板

在产品创建完成,功能定义设置完成后,还需对面板进行设置。对于控制面板,你可以直接选择公版面板,也可以面板SDK自己开发新的面板,部分产品还支持可视化配置面板,只需在面板工作台上拖拖拽拽就可以完成面板的开发,所见即所得。


4. 硬件开发

在硬件开发部分主要是选择开发方式,选择模组,下载开发资料,上传固件等操作。


5. 产品配置

在产品配置中主要做的功能是:管理固件升级,多语言管理,设备消息推送,配网信息,快捷开关设置、场景联动设置和产品语言能力配置。