开发产品

更新时间:2023-04-20 08:18:45下载pdf

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

第一步:功能定义

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

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

功能点数据类型

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

DP ID 1~6:开关

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

DP ID 7~12:倒计时

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

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

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

DP ID 14:上电状态设置

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

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

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

用户可以设置一段总的循环时间和星期重复时间。在此总的循环时间段内,用户可以自定义设置开启时长和关闭时长。循环时间开启时开关的状态默认为开启,之后将以此时间循环开启和关闭。循环时间结束时,开关的状态默认为关闭。

循环定时主要用来解放劳动力,用于循环浇灌、投食、灯光场景控制等。

序号 字段 长度(byte) 属性
1 开关+通道号 1
  • bit0:本节点开关。
  • bit1~bit7:本节点影响的通道。
举例,0x030000 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:本节点影响的通道。
举例,0x030000 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 47:开关类型

设置设备外接开关的类型,对每路开关同时生效。

数据类型 取值范围
枚举型
  • flip:翘板开关,翻转即状态切换。
  • sync:翘板开关,开关 ON/OFF 位置与负载状态同步。
  • button:自恢复开关,按下释放后开关自动回弹,状态切换一次。

DP ID 48:开关互锁(RAW 型)

用户可以设置 2 路或多个开关互锁后,保证只能同时开启其中 1 个通道,则另外的通道会自动关闭。保证在一些电机正反转的应用中,可以正常使用。不可同时开启,可同时关闭。

序号 字段 长度(byte) 属性
1 互锁组 1 2
  • bit0-bit15 分别对应 1-16 路通道,bit1 表示互锁,bit0 表示不互锁。
  • 如例如,0000 0000 0000 0110 表示第 2 路和第 3 路互锁,而第 1 路和第 4 路正常开关。
2 互锁组 2 2 同上。
3 互锁组 3 2 同上。
4 互锁组 4 2 同上。

1 个开关只能在 1 个互锁组里,不能添加到多个互锁组。设置可以覆盖,以最后的操作为准。

DP ID 49~50:RF433 本地遥控(RAW 型)

用户可以增加外部解码电路,使用模组解码,实现本地遥控配对和 App 配对。并可在 App 上对遥控器按键功能进行设置,可管理添加的遥控器按键。

  • 本地配对:正常工作下,总控按键连续短按 3 次,进入遥控配对。
  • 本地解绑:正常工作下,总控按键连续短按 8 次,清除所有配对过的遥控器。
  • App 配对/解绑:设置 > RF 遥控器设置。

遥控按键动作包括 4 种:无动作、关闭、开启、翻转。配对后默认为翻转,可在 App 上修改。

序号 字段 长度(byte) 属性
遥控器添加 2-4
  • 1#:1 byte。命令:1 添加,0 退出,2 已添加。
  • 2#3#4#:3 byte,遥控器的地址码。
遥控器列表 N
  • 1#2#3#:3 byte,遥控器的地址码。
  • 4#-7#:4 byte。状态:每 2 bit 对应 4 个状态。00 无动作。01 关闭。10 开启。11 翻转。与 1-16 路开关对应,如 bit0-1 对应开关 1 的 4 种状态。
  • 遥控器列表按顺序存储,最大支持 30 组遥控器码,最大 30 × 7 = 210 字节。

遥控器列表为整包数据下发。

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

用户可以设置一段总的循环时间和星期重复时间。在此总的循环时间段内,用户可以自定义设置开启时长和关闭时长。循环时间开启时开关的状态默认为开启,之后将以此时间循环开启和关闭。循环时间结束时,开关的状态默认为关闭。

循环定时主要用来解放劳动力,用于循环浇灌、投食、灯光场景控制等。

序号 字段 长度(byte) 属性
1 版本号 1 /
2 字节长度 1 /
3 开关+通道号 1
  • bit0:本节点开关。
  • bit1~bit7:本节点影响的通道。
举例,0x030000 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:本节点影响的通道。
举例,0x030000 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 路通断器 零火线 CB2S、CBU、CBU-IPEX
2 Zigbee 1-4 路通断器 零火线 ZT2S、ZTU、ZTU-IPEX
3 Zigbee 1-3 路通断器 单火线 ZT2S、ZTU、ZTU-IPEX
4 Bluetooth Mesh 1-4 路通断器 零火线 BT2S、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

自主测试

使用自己的测试方案,完成产品功能测试,请保证产品功能的全部可用,包括但不限于需要进行设备配网、设备控制、OTA 等功能测试。

第八步:产品发布

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

后续步骤

产品认证

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