zoukankan      html  css  js  c++  java
  • Zigbee基础知识

    2020-02-26

    关键字:


    Zigbee是一种双向无线通信技术,它具有以下几种特点:

    1、短距离

    2、低复杂度

    3、低功耗

    4、低成本

    5、低通信速率

    Zigbee的应用场景常见的有以下几种:

    1、智能家居

    2、楼宇自动化

    3、工业自动化

    4、医学领域

    Zigbee协议的体系结构是基于OSI协议制订的,它主要可以分为如下几个层次:

    1、应用层

    2、应用支持子层

    3、网络层

    4、介质访问层

    5、物理层

    其中,前面三个层属于Zigbee标准协议,后面两层则属于IEEE802.15.4的范畴。

    一个完整的 Zigbee 工作单元中主要由三种组成部分:

    1、协调器

    协调器的作用是为每一个设备分配一个唯一的网络地址。为整个网络选择一个唯一的16位的 PAN ID,网络中的设备可以通过这个ID来通信。同时协调器还可以初始化、终止和转发网络消息。

    2、路由器

    路由器的功能是允许设备加入网络以及扩展网络覆盖范围

    3、终端设备

    终端设备就负责数据的采集。

    Zigbee工程的开发通常使用 IAR 工具来实现。

    在 Zigbee 开发中,地址可以抽象成如下结构体对象:

    typedef struct {
        union{
            uint16 shortAddr;//网络地址,设备在加入网络时由协议栈分配。
            ZLongAddr_t extAddr;//64位的扩展地址,是全球唯一的。一般不使用
        }addr;
        afAddrMode_t addrMode;//地址模式(广播、组播、单播)
        byte endPoint;//端口号,可使用范围1~240
        uint16 panId;//无线网络的网络号。
    }afAddrType_t;

    地址模式的结构体抽象如下:

    typedef enum{
        afAddrNotPresent = AddrNotPresent,//当前地址不存在
        afAddr16Bit = Addr16Bit,//用于单播
        afAddr64Bit = Addr64Bit,//用于单播
        afAddrGroup = AddrGroup,//用于组播
        afAddrBroadcast = AddrBroadcast//用于广播
    }afAddrMode_t;

    Zigbee的开发与普通单片机的开发模式类似,仔细阅读一下相关数据手册或例程就能完成开发的了。


  • 相关阅读:
    论 设计模式及项目架构的作用
    Linux根据进程号查找其程序文件路径 及 lsof 命令使用
    Synchronized 原理
    Seata 中类SPI使用机制分析
    redisson spring boot starter 做分布式锁
    TTFB 时间过长
    ShardingSphere Hint模式 SpringBoot + Mybatis
    Core源码(十三)Stack和ConcurrentStack
    C#源码(十二) HashSet
    Core源码(十一)Queue
  • 原文地址:https://www.cnblogs.com/chorm590/p/12364461.html
Copyright © 2011-2022 走看看