使用涂鸦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.点击箭头指向的“创建产品”按钮,开始创建产品。
2.标准类目选择“照明”,选择“光源”。
1.2 选择开发方案
1.根据箭头指示选择“自定义方案”。
零代码实现,只需在线对产品进行配置,便可生成固件。详细介绍,点击这里进行查看。
这里我们是对涂鸦模组进行二次开发,所以选择“自定义方案”。
2.按照自己将要开发的产品和模组填写产品名称,选择对应的通信协议,配置完成后点击“创建产品”。
这里准备使用CBU模组开发一个一路可以调节灯光亮度的产品。CBU模组是一款Wi-Fi&Bluetooth LE双模模组,选择的通信协议是“WiFi-蓝牙”。
如果你不太清楚你手里的涂鸦模组是什么协议的,可以点击这里找到对应模组的规格书进行查看。
1.3 添加功能点
1.根据产品想要实现的功能,选择对应的功能点,选择完成后点击“确认”。
如果有些你需要的功能点在标准功能点里面没有,可以在标准功能点选择完成后,自定义你需要的功能点。(标准功能点可以在公版面板上很好的显示和操作。如果选择了自定义功能点,可能无法在面板上显示和操作)。
说明:为产品稳定性考虑,建议您的每个产品的标准功能点和自定义功能点累计不超过40个。若超过,请注意产品稳定性测试。
1.4 选择面板
选择面板,在这里可以按照自己的喜好选择面板。(上面选择的功能点过少,使用“光源-007P”面板可能会出现面板打不开的情况。建议选用其他面板。)
1.5 硬件开发设置
1.点击“硬件开发”,选择“TuyaOS”,选择“CBU Wi-Fi&Bluetooth 模组”(如果你使用的是其他模组,选择对应的模组即可)。
2.箭头①指向的“新增自定义固件”是指上传你已经开发好的产品固件(如何开发将会在后面的内容进行讲解)。
3.点击箭头②指向的“ty_iot_wf_bt_sdk_rtos_BK7231N”下载该模组的SDK。
2.功能点介绍
DP(Data Point):常被称为功能点,是智能产品开发中的最重要的环节,用于描述产品功能及其参数。
在涂鸦IoT平台上DP(Data Point)是一个十分重要的概念。只有了解了功能点的各项设置才能更好的进行开发。
- DP ID:功能点的编码,设备与云端的功能数据通过功能点 ID 进行传输。前100个DP ID涂鸦保留使用,自定义DP点从101开始。
- DP数据类型:每种功能都可以通过不同数据类型定义,涂鸦支持布尔型、数值型、枚举型、故障型、字符串型、透传型这 6 种数据类型。
- 布尔型、数值型和枚举型是基础类型,大部分功能可通过这 3 种数据类型定义。
- 故障型专门用于故障定义,便于在后台统计故障。
- 字符串型和透传型用于较复杂功能,只有当其他类型无法满足需求时,才推荐使用。
2.1 布尔型
适用于非真即假的二值型变量功能。
例如,开关功能,取值为开或关。
2.2 数值型
适用于可线性调节类型的数据。
例如,温度调节,温度范围 20-40℃。
数值范围
:从设备所上报数值的最大值和最小值。
间距
:从最小值开始,每两个相邻数值的距离。
例:假设数据范围是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 个枚举值。
例如,工作档位,低档/中档/高档。
2.4 故障型
适用于上报和统计故障的功能点,支持多故障,数据只上报不下发。
例如,温度传感器故障、电机故障和高温故障等。
2.5 字符串型
以字符串形式传输的功能点。
字符串型最大长度不超过 255 字节。
2.6 透传型
以二进制形式进行透传的功能点。
透传型数据的最大长度不超过 255 字节。
2.7 数据传输类型
在涂鸦IoT平台上,除了数据类型为故障类型的DP只能是只上报
的数据传输类型,其他五种数据类型均可按照实际需求进行选择。
数据传输类型 | 含义 |
可下发可上报 | 指令数据可以发送给设备,设备数据可以传输给云端。 |
只上报 | 数据只支持从设备传输给云端。 |
只下发 | 数据只支持从云端发送给设备。 |
3. 设备面板
在产品创建完成,功能定义设置完成后,还需对面板进行设置。对于控制面板,你可以直接选择公版面板,也可以面板SDK自己开发新的面板,部分产品还支持可视化配置面板,只需在面板工作台上拖拖拽拽就可以完成面板的开发,所见即所得。
4. 硬件开发
在硬件开发部分主要是选择开发方式,选择模组,下载开发资料,上传固件等操作。
5. 产品配置
在产品配置中主要做的功能是:管理固件升级,多语言管理,设备消息推送,配网信息,快捷开关设置、场景联动设置和产品语言能力配置。