【jq 源码分析】【discuz 源码分析 pdf】【畅璇修改源码】zigbee协议源码

时间:2024-11-28 19:52:36 来源:直播带教程源码 分类:热点

1.zigbee协议栈分几层?
2.ZigBee协议详解
3.zigbee协议栈的协议结构是怎样的
4.zigbee协议是什么?
5.小白也能读懂的 ZigBee 3.0 简介

zigbee协议源码

zigbee协议栈分几层?

       1.应用层,应用层定义了各种类型的源码应用业务,是协议协议栈的最上层用户。

       2.应用会聚层,源码主要负责把不同的协议应用映射到Zigbee网络上,主要包括安全属性设置、源码jq 源码分析多个业务数据流的协议会聚、设备发现和业务发现等功能。源码

       3.网络层,协议网络层的源码功能包括拓扑管理、MAC管理、协议路由管理和安全管理。源码

       4.数据链路层,协议IEEE系列标准将数据链路层分成逻辑链路控制和媒体接入控制两个子层。源码

       5.物理层,协议IEEE..4定义了2.4GHz和MHZ/MHz这两个物理层,它们都是discuz 源码分析 pdf基于直接序列扩频数据包格式,两者的主要区别在于工作频率、调制技术、扩频码长度和传输速率。

ZigBee协议详解

        ZigBee 逻辑设备类型

              a.Coordiantor 应该充当Trust Center çš„角色,负载建立一个centralized

        security network ï¼ˆé›†ä¸­å¼å®‰å…¨ç½‘络),不得加入其它网络。

              b.Router 应该可以加入一个已建立的集中式/分布式安全的网络,不能建立centralized security

        network ï¼ˆé›†ä¸­å¼å®‰å…¨ç½‘络)。但是当无法加入已建立的集中式/分布式安全网络的情况下,可以自行建立distributed  security network ï¼ˆåˆ†å¸ƒå¼å®‰å…¨ç½‘络)。

              c.EndDevice 应该可以加入一个已建立的集中式/分布式安全的网络

               ä¸€ä¸ªZigBee可能支持充当Coordiantor和Router的两种角色的能力,可通过应用程序来切换,但是同一个时间只能充当一种角色,如:一个Router设备尝试加网但失败了,它可以切换至Coordiantor角色去建立一个集中式安全网络,一旦此设备建网/入网完成,不得再改变自己的设备类型,除非离网或者遭到其他破坏。

         Network 安全模型

              一个ZigBee网络可以支持集中式安全模型或者分布式的安全模型,所有非Coordiantor类型的ZigBee设备应该能通过合适的安全条件,加入到集中式安全模型或者分布式的安全模型的网络中,对于用户而言是无缝的。

         Link key 连接秘钥(位)

        所有ZigBee节点必须包含以下Link

        key:

        a. 默认的(集中式安全网络)全局密钥:

        Default global Trust Center link

        key (0:) = 0x5a 0x 0x

        0x 0x 0x 0x 0x6c 0x6c 0x 0x 0x6e 0x 0x 0x 0x

        b. 分布式安全网络的全局秘钥

        Distributed security global link

        key (0:) =0xd0 0xd1 0xd2 0xd3 0xd4 0xd5 0xd6

        0xd7 0xd8 0xd9 0xda 0xdb 0xdc 0xdd 0xde 0xdf

        c. 由安装码得到的预配置秘钥

        Install code derived preconfigured

        link key(6/8//字节任意值)= å®‰è£…码+CRC(2字节)->Hash散列函数->位的Link Key

        此外,如果设备支持touchlink 的入网方式,还需要包含以下秘钥:

        d. touchlink 预配置秘钥

        Touchlink preconfigured link key

        (0:) = 0xc0 0xc1 0xc2 0xc3 0xc4 0xc5 0xc6

        0xc7 0xc8 0xc9 0xca 0xcb 0xcc 0xcd 0xce 0xcf

        安装码的使用

        所有ZigBee 3.0的设备都需要支持安装码,Trust Center å¯èƒ½è¦æ±‚所有设备以安装码的方式入网

                a.非零售需要专业人员安装的ZigBee设备,可能配置为使用安装码的方式加网

                b.零售的需要用户去配置的ZigBee设备,用户可以通过物理按键切换以下两种模式:只让使用安装码入网的节点入网的模式和使用其他所有方式入网的模式

                c.零售的不需要用户配置的ZigBee设备应该能够自动加网

        Commissioning

        所有设备需要支持network steering(网络控制) æœºåˆ¶ï¼Œä»¥åŠfinding & binding æœºåˆ¶

             a.Network steering:所有ZigBee设备都需要支持network steering æœºåˆ¶

             b.Network formation:设备建立网络的能力,其安全模型取决于ZigBee的设备类型:Coordiantor(集中式安全模型网络),Router(分布式安全模型)

             c.Finding & binding ï¼šå®šä½å’Œç»‘定其他节点上的应用Cluster的能力

             d.Touchlink commissioning ï¼šæ”¯æŒåŸºäºŽé è¿‘çš„commissioning æ–¹å¼ï¼Œè‹¥æ”¯æŒtouchlink commissioning方式,必须支持touchlink 为a initiator or a target or both ã€‚

          对所有 ZigBee3.0 设备的必须满足的要求

        a.ZDO discovery service commands :

        Active_EP_req,Node_Desc_req,Simple_Desc_req,IEEE_addr_req, NWK_addr_req,Match_Desc_req,

        Active_EP_rsp ,Node_Desc_rsp,Simple_Desc_rsp,IEEE_addr_rsp,NWK_addr_rspandMatch_Desc_rspcommands

        b.ZDO node manager service commands :

        Mgmt_Bind_req, Mgmt_Lqi_req

        Mgmt_Bind_rspand,Mgmt_Lqi_rspcommands

        c.ZDO binding table service commands :

        Unbind_req ,Bind_req

        Bind_rsp,Unbind_rsp

        d.ZDO network manager service command :

        Mgmt_Leave_req

        Mgmt_Leave_rsp

            e.一个ZigBee节点在finding & binding çš„时候去广播Identify Query ï¼Œè‡³å°‘能够处理一个Identifycluster的Identify Query Response 命令,如果能处理多个Identify Query Response 命令,需要进行特殊处理

            d.一个节点如果是finding

        & binding的发起者,其绑定表大小必须大于等于Cluster的实体数量,在finding

        & binding, touchlink 或者centralized

        commissioning çš„时候完成绑定表配置的,不管是哪种生成的绑定表,都必须保持一致,才能够通过Mgmt_Bind_req  å‘½ä»¤èŽ·å–其内容

            f.对于一个节点的每个强制的可报告的属性实体都必须要有默认的report配置

          默认的 reporting 配置

           ä¸€ä¸ªå¯æŠ¥å‘Šçš„属性实体都有默认的report配置(最大报告间隔为0x或者0xd~0xfffe),一个已绑定的cluster之间需要发送report,需要支持随时更新配置report。当两次报告的间隔等于最大报告间隔时需要产生report,如果最大报告周期设置为0,那个不会产生周期性的report,但是任然可以在属性值改变后产生report

         MAC data polling

           BDB文档对Mac层的Poll频率不做限制

           poll的频率应该是可以根据节点的状态进行动态调节的,推荐使用短poll和长poll,ZigBee父节点为自己子节点缓存的数据生命期只有7.5s,因此睡眠终端设备的poll频率应该比7.5s/次快才能确保拿到自己的数据。

            如果EndDevice节点在等待reponse消息的时候,它必须使用短poll间隔,至少3s/次。

            如果没有等待的消息可能需要使用长poll间隔,如一小时一次,来确保与父节点的连接可用

            在ZigBee加网和finding &

        binding çš„阶段,睡眠终端设备必须使用短poll间隔

        ZigBee 永久数据

             è®¾å¤‡é‡å¯ä¾ç„¶éœ€è¦ä¿å­˜ä¹‹å‰çš„bdbNodeIsOnANetwork属性

        GreenPower

            ZigBee 3.0的Router和Coordiantor必须支持Green Power(endpoint ),EndDevice类型的设备需要根据硬件设计来选择是否支持Green

        Power。

        Network Steering

        ZigBee 3.0的设备加网时,会依次用Install code

        derived preconfigured link key、Default global

        Trust Center link key ã€Distributed

        security global link key和Touchlink

        preconfigured link key(如果支持Touchlink的加网方式)扫网加网,每次先扫描主信道(非wifi重合信道)再扫描次信道(余下的),而且起始的通道号是随机产生的;这个过程叫Network Steering。

zigbee协议栈的结构是怎样的

       Zigbee协议栈的结构包括物理层(PHY)、媒体访问控制层(MAC)、传输层(TL)、网络层(NWK)、应用支持子层(APS)和应用层(APL)。

       详细解释:

       1. 物理层(PHY):物理层定义了Zigbee设备的无线物理特性,包括射频频段、调制方式、数据速率等。这一层负责数据的无线收发,实现数据的物理传输。

       2. 媒体访问控制层(MAC):MAC层负责处理所有与无线信道访问相关的事务。它采用了一种称为载波侦听多路访问/冲突避免(CSMA-CA)的畅璇修改源码访问机制,这种机制有助于避免无线信道上的冲突。

       3. 传输层(TL):传输层提供了数据包的可靠传输服务,它负责数据的分段和重组,以确保数据能在不同的设备之间可靠传输。

       4. 网络层(NWK):网络层负责设备的网络接入和路由。它负责建立和维护网络路由,管理设备加入和离开网络,以及分配网络地址等任务。

       5. 应用支持子层(APS):APS层提供了应用框架和一组用于设备间通信的通用服务。这些服务包括安全服务、绑定设备和设备发现等。

       6. 应用层(APL):应用层是协议栈的最顶层,负责处理特定的应用任务。这一层可以进一步细分为应用支持子层(APSE)、Zigbee设备对象(ZDO)和制造商定义的应用对象。在这一层,java 源码汉字乱码开发者可以实现自定义的应用逻辑,满足特定的业务需求。

       例如,在一个智能家居环境中,一个Zigbee灯泡可能会通过Zigbee协议栈的各层与Zigbee智能家居控制器进行通信。灯泡的开关状态、亮度等信息会通过协议栈的应用层进行定义和传输,而在物理层,这些信息会被转化为无线信号进行传输。如果在传输过程中信号受到干扰或者丢失,MAC层的CSMA-CA机制会确保这些数据包能够重新发送,确保数据的可靠传输。这就是Zigbee协议栈各层在一个具体应用中协同工作的例子。

zigbee协议是什么?

       ZigBee协议是一种低速无线个人局域网通信协议。

       ZigBee协议

       ZigBee协议是一种基于IEEE ..4标准的低速无线个人局域网通信协议。它以低功耗、识图搜图源码低成本、低复杂度、低速率的特性,广泛应用于智能家居、工业自动化、智能农业等领域。其主要特点包括:

       1. 低功耗:ZigBee设备能够以非常低的功耗运行较长时间,使其在长时间使用中对电源依赖降低,使得一些携带电池的设备能够使用较长时间而不需要更换电池。这对于一些长时间运行的物联网应用来说非常有利。

       2. 适用于低速数据传输:ZigBee协议适用于低速率的数据传输,能够满足许多物联网应用的需求。它支持的数据传输速率较慢,但足以满足许多不需要高速通信的应用场景。

       3. 广泛的网络拓扑结构:ZigBee协议支持多种网络拓扑结构,如星型、树型和网状结构等。这使得ZigBee网络可以根据实际需求进行灵活配置,满足不同场景的需求。同时,ZigBee网络的自组织能力和自愈能力也较强,能够在网络节点出现故障时自动寻找其他路径进行数据传输。

       总的来说,ZigBee协议是一种适用于低速无线个人局域网通信的协议,具有低功耗、低成本、低复杂度等特性,适用于物联网领域的多种应用场景。

小白也能读懂的 ZigBee 3.0 简介

       ZigBee协议是一种低功耗、低时延、高可靠性和短距离的无线通信协议,广泛应用于智能家居、工业自动化、智慧城市以及智慧农业等行业。它被设计用于无线自动控制领域,并能嵌入到各种小型设备之中。ZigBee技术在智能家居中的应用,比如智能门锁、智能灯、智能开关、智能插座、智能传感器和各种智能生活电器,使其具备无线通信能力,实现自动化控制功能,如人走了自动关门关窗关家电、温度高自动开空调和下雨自动收衣服等。

       ZigBee协议的低功耗特性使其在电池供电的设备中非常实用,市面上的一些ZigBee无线按钮仅使用纽扣电池就可以正常使用两年。响应时延低,网络节点从睡眠状态切换到工作状态只需要约毫秒,并且加入到网络中只需要约毫秒。ZigBee通过支持多种网络拓扑结构、大规模组网、自组网以及灵活的数据安全策略等多种功能提供了高可靠性的网络通信服务。相邻的两个ZigBee节点之间的通信距离在米到米之间,通过技术手段可以扩展到1千米左右。

       ZigBee协议可以划分为物理层、MAC层、网络层和应用层4个逻辑层次,各个层次各司其职。物理层和MAC层是IEEE ..4协议,它提供了最基础的服务,主要用于将设备的数据转换为电磁波信号进行传输。IEEE ..4提供了基于2.4GHz、MHz以及MHz电磁波频带的两种物理层协议,以及基于此的MAC层控制多个网络设备有序地利用物理通信资源来进行可靠通信。

       在ZigBee协议的核心部分,网络层负责多个设备之间的组网、设备之间的控制指令和设备的状态信息传输以及数据的加密解密等网络安全管理。应用层则是规定了对象的属性和状态等,是与ZigBee应用开发者最常打交道的层次。ZigBee应用协议的发展可以大致归纳为三个阶段:初始阶段各大公司基于ZigBee Pro而开发各自的私有应用协议,导致兼容性问题;在第2个阶段,ZigBee联盟根据不同的应用领域推出了不同的应用协议;在第3个阶段,ZigBee联盟在年5月发布了ZigBee 3.0协议,解决了不同领域的ZigBee设备之间的兼容性问题,使其能够真正地互联互通。

       主流的ZigBee技术方案商有Texas Instruments、NXP Semiconductors和Silicon Laboratories。TI的ZigBee技术方案在开发资料的开放程度上更有利于个人学习。在ZigBee芯片价格上,TI的CC芯片的优势明显。在ZigBee芯片选型上,如果对价格较为敏感,可以选用CC;如果对性能要求较高,可以采用Silicon Labs或者NXP的方案。

       在TI的ZigBee技术方案中,ZigBee协议栈也称为TI-ZStack,主要由内核层和应用层两个层次组成。TI-ZStack的内核层从时间线来看有多个发行版本,大部分基于TI-ZStack的ZigBee产品使用的是2.6.3或更新的版本。基于内核层2.7.1版本的应用层协议栈Z-Stack 3.0发布,整合了各个领域的应用协议,解决了不同领域的ZigBee设备之间的兼容性问题。