开发插座/排插产品

更新时间:2023-08-25 09:24:02下载pdf

本文介绍了在涂鸦 IoT 开发平台上开发插座和排插设备时,涉及到的功能定义、配置面板、硬件设计、嵌入式开发、产品配置、烧录授权、产品测试和产品发布等关键信息点。

第一步:功能定义

产品功能分为三种类型,包括标准功能、自定义功能及云功能。产品功能的数据类型包含布尔型、数值型、枚举型、故障型、字符型、RAW 型。更多详情,请参考 产品功能

功能点详情说明

  • DP ID 1~8:开关

    数据类型 取值范围
    布尔型
    • 0:关
    • 1:开
  • DP ID 9~16:倒计时

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

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

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

  • DP ID 17~26:电量统计

    功能点 数据类型 取值范围
    增加电量 数值型 0~50000,单位:kWh
    当前电流 数值型 0~30000,单位:mA
    当前电压 数值型 0~5000,单位:V
    当前功率 数值型 0~50000,单位:W
    产测结果位 数值型 0~5
    电压校准系数 数值型 0~1000000
    电流校准系数 数值型 0~1000000
    功率校准系数 数值型 0~1000000
    电量校准系数 数值型 0~1000000
    故障告警 fault
    • ov_cr(过流)
    • ov_vol(过压)
    • ov_pwr(过功率)
    • ls_cr(欠流)
    • ls_vol(欠压)
    • ls_pow(欠功率)

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

电流/电压/功率上报

  • 电流:无

  • 电压:变化率小于 2%,

  • 功率:变化率小于 20%,

    30s 采集间隔判断,满足以上条件,1h 上报。如果两次判断条件满足电压或功率超过各自变化率,则电流、电压、功率一起上报。

    一旦触发上报之后,下一次采集判断间隙变成 5s,如果变化率在阈值范围内,则继续 30s 采集。

    为减轻云端压力,电流/电压/功率上报必须遵守上报逻辑。为了不影响用户体验,当用户打开面板时,面板下发查询指令,此时电流/电压/功率 5s 上报一次,用户在面板查看时,数据依然可以做到实时变化。

增量和全量上报(电量)

  • 增量上报

    10-30 分钟且满足电量大于等于 0.1 度,大于等于 30 分钟且满足电量大于等于 0.001 度上报。

  • 全量上报

    电量每增加 0.01kwh 上报一次总电量。

电量上报区分增量上报和全量上报时:

  • 需靠网关连云的设备采用全量上报逻辑,如 Zigbee、蓝牙设备采取全量上报。
  • 无需网关连云的设备采用增量上报逻辑,如 Wi-Fi 设备采取增量上报。

离线处理

  • 如果设备上电后没有联过网,则无法获取时间,电量不会按天存放,而是存放在一个临时电量池 Flash 里,在下一次联网之后上报到云端,临时电量池里面的电量计算到联网当天的电量记录里面。

  • 如果设备上电后联过网但是又断了网:之后的电量会按天存放,设备上报会带上时间戳(T)和电量。一天按 23:59 来划分,最多可以记录 10 条,也就是 10 天。超过第 10 天的数据都累计叠加后放在第 10 条数据里,记录存放在 Flash 之后,在下一次联网之后上报到云端。

  • DP ID 38:上电状态设置

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

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

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

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

    设置童锁功能后,本地设备按键开关无效。

    数据类型 取值范围
    布尔型
    • 0:童锁不生效
    • 1:童锁生效,本地设备按键开关无效
  • DP ID 41:循环定时(字符型)

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

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

    序号 字段 长度(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 42:随机定时(字符型)

    用户设置一段任务生效时间和星期重复时间,在此时间段内,设备按照一定的随机规律进行一次随机开关。随机时间开启时开关的状态默认为开启,随机时间结束时开关的状态默认为关闭。

    随机定时主要应用在用户长时间外出时,模拟家里有人的场景,起到防盗的效果。

    序号 字段 长度(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 43:点动开关(字符型)

    点动开关,即延时关,用户设置一个时长,开关执行每次开启后运行设置的时长后自动关闭的自动化场景,避免频繁设置倒计时。

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

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

    设置童锁功能后,本地设备按键开关无效。

    数据类型 取值范围
    布尔型
    • 0:过充保护不生效
    • 1:过充保护生效,功率小于 3W 持续 40 分钟关闭电源
  • 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 和低功耗蓝牙 1-8 路插座排插
    2 Wi-Fi 和低功耗蓝牙 1-8 路电量插座排插
    3 Zigbee 1-5 路插座排插
    4 Zigbee 1-3 路电量插座排插
    5 蓝牙 Mesh 1-5 路插座排插

    请联系您的客户经理或 提交工单 申请开源硬件资料。

第四步:嵌入式开发

嵌入式开发根据开发方式可以分为 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

涂鸦测试服务

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

第八步:产品发布

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

后续步骤

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