当前位置: 首页 > news >正文

如何低门槛开发有趣实用的ZigBee产品?

一、什么是 Zigbee 协议?

Zigbee 技术是一种连接距离短、功耗低、复杂程度低、数据传输量低的无线通信技术,其命名灵感源自于蜜蜂在群体中的信息传输。它主要通过网关与互联网进行通信,并嵌入各种智能设备,最终实现自动控制和远程控制。

同一个 Zigbee 网络内的设备之间也可以直接发送消息,在网络离线时实现本地控制。例如:照明遥控器和照明设备,窗帘遥控器和窗帘电机等,可以脱离网关使用。

二、涂鸦 Zigbee 开发框架简介

为了给开发者提供简单易用、接口统一的开发环境,涂鸦重磅推出 TuyaOS Zigbee 子设备开发框架,它是属于 TuyaOS 系统的一个子集,该框架基于业务包的概念所设计,提供了产品级的能力,同时高度封装 Zigbee 协议栈。这意味着开发者无需关心具体的实现原理,使用业务接口即可快速开发 Zigbee 产品。

基于涂鸦提供标准的 API 开发,开发者可以在不同平台之间实现应用代码的无缝移植,从而加速产品落地。本开发框架提供了路由设备(Router)和终端设备(End Device)两种 Zigbee 3.0 标准设备类型的开发,接下来为大家具体介绍下。

三、重点功能介绍

1、设备配网方式更丰富

一个 Zigbee 设备要想加入到另一个 Zigbee 网络中进行数据交互,必须先进行配网操作。而 Zigbee 设备的入网流程,大体包括:发现网关—请求关联—交换密钥—更新链接密钥。

针对设备使用场景的不同,涂鸦 Zigbee 子设备框架还提供了多种设备配网方案:

- 普通配网

最常见的就是用户在设备上进行操作后(设备上电、按键),触发子设备进入配网状态,开始进行扫网,在发现网关后自动进入后续流程。

- 扫码配网

在某些施工场景下,施工人员无法直接对子设备进行操作。针对这类场景,该框架提供了扫码配网的方案。

即用户可以通过 App 扫描子设备上的二维码,然后通知网关开启配网,并主动搜寻 Zigbee 子设备。一旦搜寻到子设备,就与其进行数据交互,协助子设备入网。

- TouchLink

TouchLink 字面意思即接触式连接,是 Zigbee 3.0 标准中 ZLL(Zigbee Light Link)协议定义的一种组网方式。早期主要用于照明场景,之后逐步演化为一种标准的配网方式。

Touchlink 其实是一种近距离组网方式:一个设备被定义为发起者(Initiator),另一个设备被定义为目标者(Target)。发起者和目标者直接建立连接,全程都无需网关和 App 参与,配网速度更快更便捷。

①发起者的职责是扫描目标设备。通常情况下终端设备(End Device)会被定义成发起者。

②目标者的职责是等待附近发起者的扫描请求。通常情况下,路由设备(Router)会被定义成目标者,在配置时主要存在以下两种情况:

—若得知发起者不存在网络,则目标者需要建立一个新的网络;

—若得知发起者有网络,则目标者自动加入发起者的网络。

框架支持 ZLL 发起者角色开发,也支持目标者角色开发。且支持配置 TouchLink 时的信号强度,以调整 TouchLink 时两个设备之间的最大距离。

举个例子:照明遥控器其实相当于是发起者角色,灯具相当于是目标者角色,通过 App 就能实时控制灯具状态。

2、OTA时间更短

OTA 即 Over-the-Air,是一种通过无线通讯进行固件升级的技术。TuyaOS 支持设备 OTA 升级能力:通过搭配涂鸦网关和云端方案,可以远程为设备固件进行软件升级,降低退货返工等生产成本。

- 全量 OTA

一般 OTA 传输的固件包是完整的固件包,也称全量 OTA 。全量 OTA 升级是 Zigbee 规范的标准用法。固件包的大小不同,整个 OTA 过程大约需要10~15分钟,传输时间相对较长。

- 差分 OTA

为了缩短 OTA 的时长,该框架为开发者提供了差分 OTA 升级方式。差分升级又叫增量更新,是将老版本固件与新版本固件做对比差分,得到升级部分的补丁即差分包。

设备下载了差分包后,将老版本固件与差分包进行组合,以得到新版本的固件。当 OTA 固件与设备当前运行固件差异较小时,差分 OTA 包也会很小,可极大缩短传输时间,整个 OTA 过程可以缩短至 1 分钟以内。

- 群组 OTA

当一个群组内有多个相同的设备需要升级时,如果逐个进行升级会非常耗时。针对这个问题,该框架提供了群组 OTA 方案,支持同时对群组内的相同设备统一进行固件升级,从而缩短总体时长。群组内相同设备数量越多,效果越明显,且差分 OTA 和群升 OTA 可以同时使用。

三、产品应用实例

1、无线开关

如今,控制智能产品的外部媒介越来越多样化,如 App、智能音箱、语音控制等,已经成为相当主流的控制方式。而由于设备众多且使用对象各异,控制媒介在实际应用中常常存在许多痛点,比如:

  • 不方便掏出手机控制;

  • 部分智能场景需要配置 App,对老人和小孩来说有操作难度;

  • 一些商业场合需要产品互联,但通过总线配置的方案太复杂,因此无线开关应运而生,化繁为简。

在这里插入图片描述

特点:

-DIY 联动动作

通过按键可自定义配置单击、双击、长按等动作,并一键唤醒专属场景联动。

  • 反转双控

支持你在配置场景开关时一键取反,快速让无线开关和被控设备组成双控联动。

  • 步进调节

选择调高/调低,即可通过无线开关调节档位、亮度。

  • 自发电

依托 Zigbee 标准 green power 技术,无线开关可摆脱电池供电的模式,通过按键按下的动能就能持续供电,用户不用再为突然没电而烦恼。

目前,同样应用该技术的,还有自发电智能门铃,产品已经相当成熟。不耗一度电,也能时刻保持在线工作。即使你不在家,也能通过手机 App 实现远程呼叫提醒,可以一键开锁,并在进门后联动其他智能设备来丰富应用场景。

在这里插入图片描述

  • 场景联动

支持在 Wi-Fi 离线的环境下,网关能联动家中所有 Zigbee 产品;并在网关和 Wi-Fi 都在线的环境下,按下按键,动态场景就会联动调光开关、窗帘开关,对灯具的亮度或窗帘开合百分比进行自动调整。

在这里插入图片描述

2、智能门锁

忘带钥匙一直是大家的日常痛点,但有了智能锁就能完美解决这个问题。涂鸦智能锁方案支持指纹、密码、门卡、人脸、指静脉等多种解锁方式。基于每个用户的自定义设置,门锁开门后可联合全屋其他智能设备,触发对应联动场景,满足居家不同需求。

比如开门后联动灯具自动打开,对于老人非常方便,可以有效避免摸黑开灯导致的意外。

特点:

  • 解锁方式多元

支持手机、指纹、密码、门卡、人脸、指静脉等多种解锁方式,无需钥匙就能轻松出门。

在这里插入图片描述

  • 开门记录查询

智能锁可以成为你的管家,告知你家门口发生的一切动静,包括实时开门记录、门铃呼叫、家人回家提醒等。

在这里插入图片描述

  • 可视对讲联动

当访客到家时,主人可以在线通过智能可视门铃来进行可视对讲,支持一键为访客开门,且涂鸦生态内所有可视门铃与智能门锁均可支持联动功能。

在这里插入图片描述

  • 第三方语音控制

智能锁支持接入 Amazon Alexa、Google Assistant 两大主流智能音箱。语音控制支持以下三个核心功能:语音检查门锁状态、语音控制开锁和关锁。

在这里插入图片描述

四、资料下载

开发者可登录 Tuya Wind IDE,在资源中心搜索当前已经发布的 Zigbee 子设备的信息。根据自己开发需求来下载对应的框架。

在这里插入图片描述

Tuya Wind IDE 安装操作指南:
https://developer.tuya.com/cn/docs/iot-device-dev/tuyaos-wind-ide?id=Kbfy6kfuuqqu3

五、技术支持

开发过程中,如有遇到任何问题,欢迎登录文档中心查看完整开发攻略,或登录TuyaOS-Zigbee 设备开发论坛进行提问,将有开发小哥哥随时为你解答~

1、文档中心

https://developer.tuya.com/cn/docs/iot-device-dev/TuyaOS-frame_dev_Zigbee?id=Kc6f834uhpetq

2、TuyaOS-Zigbee 设备开发论坛

https://www.tuyaos.com/viewforum.php?f=18&sid=0df22e69b1370e1988f2dc36286ec47f

相关文章:

如何低门槛开发有趣实用的ZigBee产品?

一、什么是 Zigbee 协议? Zigbee 技术是一种连接距离短、功耗低、复杂程度低、数据传输量低的无线通信技术,其命名灵感源自于蜜蜂在群体中的信息传输。它主要通过网关与互联网进行通信,并嵌入各种智能设备,最终实现自动控制和远程…...

ChatGPT和API发生重大中断!

11月9日凌晨,OpenAI在官网发布,ChatGPT和API发生重大中断,导致全球所有用户无法正常使用,宕机时间超过2小时。 目前,OpenAI已经找到问题所在并进行了修复,但仍然不稳定,会继续进行安全监控。 …...

SQL第五次上机实验

1.向图书表(Book)插入以下记录 USE TSGL GO INSERT INTO Book VALUES(7-5402-1800-3,文学类,边城,沈从文,燕山出版社,10,5,5)2.向借阅表插入以下两条记录 USE TSGL GO INSERT INTO Lend VALUES(201207034201,7-5402-1800-3,00366240,2013-04-22),(2012…...

Matplotlib数据可视化综合应用Matplotlib图形配置在线闯关_头歌实践教学平台

Matplotlib数据可视化综合应用图形配置 第1关 配置颜色条第2关 设置注释第3关 自定义坐标刻度第4关 配置文件与样式表 第1关 配置颜色条 任务描述 本关任务:使用colorbar绘制一个热成像图。 编程要求 在右侧编辑器Begin-End处补充代码,根据输入数据绘制…...

CSS实现瀑布流的两种方式

column 多行布局实现瀑布流 1.column 实现瀑布流主要依赖两个属性。 2.column-count 属性&#xff0c;是控制屏幕分为多少列。 3.column-gap 属性&#xff0c;是控制列与列之间的距离。 <!DOCTYPE html> <html lang"en"> <head><meta charset&q…...

Hadoop 视频分析系统

视频分析系统 业务流程 原始数据 vedio.json {"rank":1,"title":"《逃出大英博物馆》第二集","dzl":"77.8","bfl":"523.9","zfl":"39000","type":"影视",&quo…...

Flutter android和ios闪屏页配置

一.概念理解 闪屏页 1.当点击app开始的一瞬间&#xff0c;所呈现出来的页面就是闪屏页。 2.为什么会有闪屏也&#xff0c;由于app启动需要加载代码&#xff0c;这个过程需要耗时&#xff0c;在没有加载完成之前&#xff0c;是看不到app真正的页面。所以app在没有完全加载完时…...

30道高频Vue面试题快问快答

※其他的快问快答&#xff0c;看这里&#xff01; 10道高频Qiankun微前端面试题快问快答 10道高频webpack面试题快问快答 20道高频CSS面试题快问快答 20道高频JavaScript面试题快问快答 30道高频Vue面试题快问快答 面试中的快问快答 快问快答的情景在面试中非常常见。 在面试过…...

vue-前端实现模糊查询

vue-前端实现模糊查询 开始觉得前端的模糊查询肯定是非常难实现的&#xff0c;但后来发现还是很容易的&#xff0c;几行代码就可以搞定。 原理 从后端获取到所有数据后&#xff0c;将数据存储于两个变量中&#xff0c;目的是为了其中一个作为模糊查询的对照组&#xff0c;用…...

QT:tcpSocket 报错The proxy type is invalid for this operation

调用connectToHost时会先检查代理情况。Qt 程序默认使用系统的代理设置会导致这个问题导致&#xff0c;只要关闭系统的代理设置就可以解决这个问题&#xff1a; &#xff08;1&#xff09;添加头文件&#xff1a; #include <QNetworkProxy> &#xff08;2&#xff09;添加…...

PostgreSQL 技术内幕(十一)位图扫描

扫描算子在上层计算和底层存储之间&#xff0c;向下扫描底层存储的数据&#xff0c;向上作为计算的输入源&#xff0c;在SQL的执行层中&#xff0c;起着关键的作用。顺序、索引、位图等不同类型的扫描算子适配不同的数据分布场景。然而&#xff0c;扫描算子背后的实现原理是怎样…...

C# WebSocket 服务器

*******************websocket服务器************************************** 第一步&#xff1a;创建HttpListener类&#xff0c;并启动监听&#xff1a; var listener new HttpListener(); listener.Prefixes.Add("http://10.10.13.140:8080/"); …...

自动化实战 - 测试个人博客系统

前言 本篇使用Selenium3Junit5对个人博客进行自动化测试&#xff0c;如有错误&#xff0c;请在评论区指正&#xff0c;让我们一起交流&#xff0c;共同进步&#xff01; 文章目录 前言一.web自动化测试用例二.测试准备1.注册界面自动化测试测试过程中遇到的Bug: 2.登录界面自动…...

TCP/IP详解

TCP/IP详解 一、网络基础1.TCP/IP网络分层2.IP地址和端口号3.封装与分用4.客户-服务端模型 二、链路层1.以太网IEEE802封装2.环回接口 Loopback Interface3.最大传输单元MTU和路径MTU 三、网络层 - IP1.IP首部的关键信息2.IP路由选择3.子网寻址和子网掩码4.ICMP和IGMP 四、传输…...

2023年的低代码:数字化、人工智能、趋势及未来展望

前言 正如许多专家预测的那样&#xff0c;低代码平台在2023年将展现更加强劲的势头。越来越多的企业正在纷纷转向低代码开发&#xff0c;他们希望能够快速开发内部应用程序&#xff0c;并在经济衰退可能出现的情况下保持灵活性。在这个大背景下&#xff0c;低代码平台为企业软件…...

【gogogo专栏】golang并发编程

golang并发编程 并发编程的工具goroutine介绍协程管理器sync.WaitGroup channel介绍readChannel和writeChannelclose的用法select的用法 通讯示例总结 并发编程的工具 在golang中&#xff0c;并发编程是比较简单的&#xff0c;不像java中那么麻烦&#xff0c;golang天然的支持协…...

深入理解JVM虚拟机第二十二篇:详解JVM当中与操作数栈相关的字节码指令

大神链接&#xff1a;作者有幸结识技术大神孙哥为好友&#xff0c;获益匪浅。现在把孙哥视频分享给大家。 孙哥链接&#xff1a;孙哥个人主页 作者简介&#xff1a;一个颜值99分&#xff0c;只比孙哥差一点的程序员 本专栏简介&#xff1a;话不多说&#xff0c;让我们一起干翻J…...

Vue报错解决Error in v-on handler: “Error: 无效的节点选择器:#div1“

因为我们在创建元素之前用了#div1"所有它会报错&#xff0c;解决方案简单粗暴咱们直接用 setTimeout(createEdit, 1)解决问题了 原理&#xff1a;vue的虚拟dom创建完成以后再调用真是dom就没啥问题 function createEdit() {const editor new E(#div1)editor.config.hei…...

R | R包安装报错-github连接速度慢或无法访问 | metaboanalystR | Retip | rJava安装

R | R包安装报错-github连接速度慢或无法访问 | metaboanalystR | Retip | rJava安装 一、metaboanalystR 安装1.1 Bioconductor报错&#xff0c;无网络连接1.2 github520-修改hosts文件 二、retip安装2.1 rJava包加载报错及安装2.2 安装Retip包 三、从Bioconductor安装Rdisop报…...

博阳精讯、凡得科技访问上海斯歌:共探BPM流程服务新高地

10月27日下午&#xff0c;来自博阳精讯、凡得科技的流程领域专家、领导一行参观访问了上海斯歌总部。三方举行了深度交流会谈&#xff0c;分享了彼此对流程领域的前沿洞察和技术实践&#xff0c;共同探索了BPM流程服务科技力与价值力的新高地。 本次研讨会上&#xff0c;博阳精…...

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度​

一、引言&#xff1a;多云环境的技术复杂性本质​​ 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时&#xff0c;​​基础设施的技术债呈现指数级积累​​。网络连接、身份认证、成本管理这三大核心挑战相互嵌套&#xff1a;跨云网络构建数据…...

在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能

下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能&#xff0c;包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...

day52 ResNet18 CBAM

在深度学习的旅程中&#xff0c;我们不断探索如何提升模型的性能。今天&#xff0c;我将分享我在 ResNet18 模型中插入 CBAM&#xff08;Convolutional Block Attention Module&#xff09;模块&#xff0c;并采用分阶段微调策略的实践过程。通过这个过程&#xff0c;我不仅提升…...

centos 7 部署awstats 网站访问检测

一、基础环境准备&#xff08;两种安装方式都要做&#xff09; bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats&#xff0…...

【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密

在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...

使用分级同态加密防御梯度泄漏

抽象 联邦学习 &#xff08;FL&#xff09; 支持跨分布式客户端进行协作模型训练&#xff0c;而无需共享原始数据&#xff0c;这使其成为在互联和自动驾驶汽车 &#xff08;CAV&#xff09; 等领域保护隐私的机器学习的一种很有前途的方法。然而&#xff0c;最近的研究表明&…...

Opencv中的addweighted函数

一.addweighted函数作用 addweighted&#xff08;&#xff09;是OpenCV库中用于图像处理的函数&#xff0c;主要功能是将两个输入图像&#xff08;尺寸和类型相同&#xff09;按照指定的权重进行加权叠加&#xff08;图像融合&#xff09;&#xff0c;并添加一个标量值&#x…...

成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战

在现代战争中&#xff0c;电磁频谱已成为继陆、海、空、天之后的 “第五维战场”&#xff0c;雷达作为电磁频谱领域的关键装备&#xff0c;其干扰与抗干扰能力的较量&#xff0c;直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器&#xff0c;凭借数字射…...

uniapp中使用aixos 报错

问题&#xff1a; 在uniapp中使用aixos&#xff0c;运行后报如下错误&#xff1a; AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...

select、poll、epoll 与 Reactor 模式

在高并发网络编程领域&#xff0c;高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表&#xff0c;以及基于它们实现的 Reactor 模式&#xff0c;为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。​ 一、I…...