开发产品

更新时间:2022-06-21 02:01:47下载pdf

在涂鸦 IoT 开发平台上开发产品开发主要包含对产品功能模型的定义、面板的选择和定制、嵌入式固件开发以及产测测试。

第一步 功能定义

产品功能由三部分组合完成,包括标准功能、自定义功能及云功能。

产品功能是涂鸦 IoT 开发平台对智能硬件设备功能的抽象表示,用于描述实际硬件产品功能及其参数。确定了产品功能后,涂鸦 IoT 开发平台会基于智能硬件设备的产品功能生成云端控制对接模型,便于硬件开发者理解产品功能及其数据交互方式。

功能点数据类型

功能点数据类型包含布尔型、数值型、枚举型、故障型、字符型、RAW 型,详细信息请参考 数据类型

功能点详情说明

DP ID 1~6:开关

数据类型 取值范围
布尔型
  • 0:关
  • 1:开

DP ID 7~12:倒计时

倒计时,即设置一段时间,计时到点后,设备对当前开/关状态取反。若当前开关的状态为开启则设置的是倒计时关闭,若当前开关的状态为关闭则设置的是倒计时开启。倒计时执行过程中若手动开关,则会取消倒计时行为。

数据类型 取值范围
数值型 0~86400,单位:秒

注意:Zigbee 协议取值范围为 0~43200。

DP ID 13:总开关

数据类型 取值范围
布尔型
  • 0:关
  • 1:开

注意:APP面板支持下发多路开关DP,实现设备的全开/全关功能,不依赖总开关DP。

DP ID 14:上电状态设置

设备断电重新上电后的开关状态设置,对每路开关同时生效。

数据类型 取值范围
枚举型
  • off:断电,即设备断电重新上电后,默认处于断电状态
  • on:通电,即设备断电重新上电后,默认处于通电状态开
  • memory:断电记忆,即设备断电重新上电后,通/断电状态与断电前保持一致

DP ID 15:指示灯状态设置

设备开关通道指示灯状态设置,对每路开关指示灯同时生效。

数据类型 取值范围
枚举型
  • none:指示灯关闭,即默认指示灯关闭
  • relay:指示开/关状态,即开关开则指示灯亮,开关关则指示灯灭,开关和指示灯状态同步
  • pos:指示设备位置,即开关开则指示灯灭,开关关则指示灯亮,开关和指示灯状态相反,用于在黑暗环境下提示开关所在位置

DP ID 16:背光开关

背光开关,控制背光灯开启或关闭。

数据类型 取值范围
布尔型
  • 0:关
  • 1:开

注意:背光灯和开关通道指示灯相互独立。

DP ID 17:循环定时(字符型)

用户可以设置一段总的循环时间和星期重复时间,在此总的循环时间段内用户可以自定义设置开启时长和关闭时长。循环时间开启时开关的状态默认为开启,之后将以此时间循环开启和关闭,循环时间结束时开关的状态默认为关闭。
循环定时主要用来解放劳动力,用于循环浇灌、投食、灯光场景控制等。

序号 字段 长度(byte) 属性
1 开关+通道号 1
  • bit0: 本节点开关
  • bit1~bit7:本节点影响的通道
举例: 0x03----0000 0011 ----通道/节点 1 处于 打开/有效 状态
2 星期 1 某天生效,相应位置 1。具体的字节位请参照下文日期说明
3 起始时间 2 单位:min,取值范围:0~1439
4 结束时间 2 单位:min,取值范围:0~1439
5 开启时长 2 单位:min,取值范围:1~1440
6 关闭时长 2 单位:min,取值范围:1~1440

日期说明
如果全为 0,表示单次模式,只生效一次;否则为循环模式,判断相应位是否置 1,位置 1 表示当天生效。如 0x42 表示任务在星期六和星期一生效(注意必须保证相应的任务开关是处于开启状态)。

保留 星期六 星期五 星期四 星期三 星期二 星期一 星期日
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0

DP ID 18:随机定时(字符型)

用户设置一段任务生效时间和星期重复时间,在此时间段内,设备按照一定的随机规律进行一次随机开关。随机时间开启时开关的状态默认为开启,随机时间结束时开关的状态默认为关闭。
随机定时主要应用在用户长时间外出时,模拟家里有人的场景,起到防盗的效果。

序号 字段 长度(byte) 属性
1 开关+通道号 1
  • bit0: 本节点开关
  • bit1~bit7:本节点影响的通道
举例: 0x03----0000 0011 ----通道/节点 1 处于 打开/有效 状态
2 星期 1 某天生效,相应位置 1。具体的字节位请参照下文日期说明
3 起始时间 2 单位:min,取值范围:0~1439
4 结束时间 2 单位:min,取值范围:0~1439

日期说明

如果全为 0,表示单次模式,只生效一次;否则为循环模式,判断相应位是否置 1,位置 1 表示当天生效。如 0x42 表示任务在星期六和星期一生效(注意必须保证相应的任务开关是处于开启状态)。

保留 星期六 星期五 星期四 星期三 星期二 星期一 星期日
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0

DP ID 19:点动开关(字符型)

点动开关,即延时关,用户设置一个时长,开关执行每次开启后运行设置的时长后自动关闭的自动化场景,避免频繁设置倒计时。
点动开关主要用于走廊、楼道等公共场合。如设置为点动模式(一分钟⾃动关闭)的墙壁开关连接了了⼀盏走廊灯,用户每次经过走廊的时候只需要开灯,一分钟后这个墙壁开关会自动把它关闭,不再需要专门设置倒计时或者手动关灯。

序号 字段 长度(byte) 属性
1 开关+通道号 1
  • bit0: 开/关
  • bit1~bit7:通道号
2 点动时间 2 单位:s,取值范围:1~65535

DP ID 20~28:电量统计

功能点 数据类型 取值范围
增加电量 数值型 0~50000,单位:kWh
当前电流 数值型 0~30000,单位:mA
当前电压 数值型 0~5000,单位:V
当前功率 数值型 0~50000,单位:W
产测结果位 数值型 0~5
电压校准系数 数值型 0~1000000
电流校准系数 数值型 0~1000000
功率校准系数 数值型 0~1000000
电量校准系数 数值型 0~1000000

注意:电量统计功能需开通统计后方可使用。

DP ID 29~34:上电状态设置(分控)

设备断电重新上电后的开关状态设置,对每路开关分别设置。

数据类型 取值范围
枚举型 off:断电,即设备断电重新上电后,默认处于断电状态
  • on:通电,即设备断电重新上电后,默认处于通电状态开
  • memory:断电记忆,即设备断电重新上电后,通/断电状态与断电前保持一致
  • 注意:当产品同时存在上电状态总控DP和分控DP时,总控DP优先。即修改总控DP时,立即对每路分控DP进行同步设置/同步;修改某一路分控DP时,其他路分控DP和总控DP不做改动。

    DP ID 209:循环定时(RAW型)

    用户可以设置一段总的循环时间和星期重复时间,在此总的循环时间段内用户可以自定义设置开启时长和关闭时长。循环时间开启时开关的状态默认为开启,之后将以此时间循环开启和关闭,循环时间结束时开关的状态默认为关闭。
    循环定时主要用来解放劳动力,用于循环浇灌、投食、灯光场景控制等。

    序号 字段 长度(byte) 属性
    1 版本号 1
    2 字节长度 1
    3 开关+通道号 1
    • bit0: 本节点开关
    • bit1~bit7:本节点影响的通道
    举例: 0x03----0000 0011 ----通道/节点 1 处于 打开/有效 状态
    4 星期 1 某天生效,相应位置 1。具体的字节位请参照下文日期说明
    5 起始时间 2 单位:min,取值范围:0~1439
    6 结束时间 2 单位:min,取值范围:0~1439
    7 开启时长 2 单位:min,取值范围:1~1440
    8 关闭时长 2 单位:min,取值范围:1~1440

    日期说明

    如果全为 0,表示单次模式,只生效一次;否则为循环模式,判断相应位是否置 1,位置 1 表示当天生效。如 0x42 表示任务在星期六和星期一生效(注意必须保证相应的任务开关是处于开启状态)。

    保留 星期六 星期五 星期四 星期三 星期二 星期一 星期日
    bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0

    DP ID 210:随机定时(RAW型)

    用户设置一段任务生效时间和星期重复时间,在此时间段内,设备按照一定的随机规律进行一次随机开关。随机时间开启时开关的状态默认为开启,随机时间结束时开关的状态默认为关闭。
    随机定时主要应用在用户长时间外出时,模拟家里有人的场景,起到防盗的效果。

    序号 字段 长度(byte) 属性
    1 版本号 1 /
    2 字节长度 1 /
    3 开关+通道号 1
    • bit0: 本节点开关
    • bit1~bit7:本节点影响的通道
    举例: 0x03----0000 0011,表示通道/节点 1 处于“打开/有效”的状态
    4 星期 1 某天生效,相应位置 1。具体的字节位请参照下文日期说明
    5 起始时间 2 单位:min,取值范围:0~1439
    6 结束时间 2 单位:min,取值范围:0~1439

    日期说明

    如果全为 0,表示单次模式,只生效一次;否则为循环模式,判断相应位是否置 1,位置 1 表示当天生效。如 0x42 表示任务在星期六和星期一生效(注意必须保证相应的任务开关是处于开启状态)。

    保留 星期六 星期五 星期四 星期三 星期二 星期一 星期日
    bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0

    自定义功能

    如果你的产品功能不在标准功能中,你可以添加自定义功能,详情请参考 产品智能化 - 自定义功能

    高级功能

    目前支持的云功能包括云定时和网页跳转功能,详情请参考 产品智能化 - 高级功能

    • 云定时功能:包括设定开关时间及周循环,无需硬件嵌入式开发。
    • 网页跳转功能:主要可用于设置产品购买的微商城、产品使用说明等各种页面。

    第二步 配置面板

    在定义完产品功能后,可以为其配置一款 App 面板。面板是展示在用户手机 App 上的控制智能产品界面,详细的面板配置以及面板开发教程请参考 配置 App 界面面板开发

    第三步 硬件设计

    硬件开发主要包括硬件的设计和嵌入式开发,电工产品我们提供了部分产品的免开发方式,无需编码只需要调整好配置文件参数即可生成固件,免开发方案满足不了您的业务需求时此外您还可以通过 MCU SDK 或者 TuyaOS 的方式进行自定义开发。

    硬件设计参考

    通用设计

    序号 设计类型
    1 电源设计
    2 电工产品合规设计

    SoC方案

    序号 通讯方式 开关路数 供电类型 推荐模组
    1 Wi-Fi & Bluetooth LE 1-4 路开关 零火线 CB3S、CBU、CBU-IPEX
    2 Zigbee 1-4 路开关 零火线 ZS3L、ZSU、ZSU-IPEX
  • ZT3L、ZTU、ZTU-IPEX
  • 3 Zigbee 1-4 路开关 单火线 ZS3L、ZSU、ZSU-IPEX
  • ZT3L、ZTU、ZTU-IPEX
  • 4 Bluetooth Mesh 1-4 路开关 零火线 BT3L、BTU、BTU-IPEX
    5 Bluetooth Mesh 1-4 路开关 单火线 BT3L、BTU、BTU-IPEX

    说明:请联系商务申请开源硬件资料。

    第四步 嵌入式开发

    嵌入式开发根据开发方式可以分为SoC免开发、MCU SDK 和 TuyaOS 三种开发方式,需要您完成设备的接入以及业务代码的开发。

    免开发方案

    在免开发方案中,您可以在硬件开发步骤中通过直接调整配置文件参数来生成固件,详细配置信息请参见平台页面提示。

    MCU SDK

    MCU 对接方案是对接涂鸦平台最常用的方案之一,主要用于带有 MCU 主控的产品实现智能化。涂鸦提供硬件模组、App 软件和云服务,开发者只需要关注产品本身功能的研发,配合使用涂鸦 MCU SDK 、公版 App 及公版面板,一站式完成产品智能化,开发高效便捷。

    MCU SDK 方案上手流程可参考 MCU 低代码开发

    其中,开关产品涉及到的通信协议包含 Zigbee,Wi-Fi+蓝牙,蓝牙 Mesh,可参考以下文档进行开发:

    TuyaOS

    TuyaOS 是一种基于 RTOS、Linux、Non-OS 等设计的应用于物联网(IoT)领域面向全连接、全场景的分布式跨平台操作系统。

    通过 TuyaOS 内核(Kernel)标准的制订及设计,让您能够从不同的芯片平台、系统及连接协议等糟糕的碎片化开发体验中得到解放,专注于自身业务的发展,并且一次开发、多端可用、安全稳定加快产品上市。

    TuyaOS 整体架构采用分层、可插拔组件的方式设计,可根据芯片资源状况自由裁剪,生成符合资源需求的开发框架。通过涂鸦独有的 DP 协议及自研高效的 RPC 通信机制,使得所有采用 TuyaOS 开发的不同通信协议的产品之间,能够互联互通。

    其中,开关产品涉及到的开发方案包含:

    第五步 产品配置

    产品配置项包含固件升级、产品语音能力、多语言管理、设备消息推送、配网信息、场景联动设置、快捷开关配置、产品知识维护、产品说明书。这些功能配置项都可以通过全球部署的云服务为终端消费者提供更好的个性化的产品体验,并且能够实时更新生效,无需重新更换硬件出货。

    其中多语言管理、配网信息、产品语音能力和场景联动设置是您需要特别注意的,要根据您的产品销售区域、配网方式和功能特点进行精细化地管理。

    开发产品

    您可以参考下方链接,依次详细了解每一项的配置操作:

    第六步 烧录授权

    固件开发完成后,需要将固件和授权码烧录到设备内,才可以连接云服务。涂鸦提供多种烧录授权方式供您使用,您可在不同的开发阶段选择合适的烧录授权方式。

    第七步 产品测试

    在涂鸦 IoT 平台上发布产品前,必须提交测试报告,或者您可以通过自行下载并执行用例、涂鸦云测 App 或者 涂鸦测试服务来完成产品测试。

    自行下载测试用例

    对于部分品类,您可以在 测试服务 页面自行下载用例并提交测试报告。

    云测 App

    为了开发者能快速找出设备问题所在,云测 App 以功能模块为维度,提供多种执行测试模式,可以对设备硬件状态和交互链路进行一体化测试。

    详细测试操作请参考 云测 App

    涂鸦测试服务

    涂鸦测试服务请参考 测试服务

    第八步 产品发布

    当提交产品测试报告后,您可以直接在平台产品开发流程中发布产品。

    后续步骤

    产品认证

    产品要取得销售许可,需要进行一系列的认证。涂鸦结合多年智能产品落地经验,提供一系列硬件产品认证支持服务,您可以根据自己的产品类型和认证需求选择合适的方案。详细认证方式请参考 产品认证