zigbee中的地址概念|学习笔记

简介: 快速学习zigbee中的地址概念

开发者学堂课程【嵌入式之RFID开发与应用2020版zigbee中的地址概念】学习笔记与课程紧密联系,让用户快速学习知识

课程地址https://developer.aliyun.com/learning/course/665/detail/11134


zigbee中的地址概念

 

内容介绍:

一、地址概念的基本介绍

二、地址概念的详细介绍

三、通信方式

四、通信设备

 

本节课通过一些实验观察整个zigbee通讯过程中用到了哪些接口以及在使用提供的协议接口之前需要了解的概念。

 

一、地址概念的基本介绍

1.channel,信道地址,对于2.4G刚好采用了32bit中间16位中为1的位表示该信道被启用(0x800~0×7fff800)

2.panID,16bit网络地址,只有panID相同的设备才能组成

一个网络。

3、MAC由IEEE规定的64bit地址,类似网卡MAC必须唯一,又叫zigbee的长地址。

4、shortAddr,由父节点分配的16bit短地址,用于设备之间的通信。

4、endpoint,是一个1-240的具体设备端点号,与应用相关。

 

二、地址概念的详细介绍

下面的几个概念在程序开发里面是比较重要的。

1、channel:也就是信道地址。zigbee内支持27个信道。800多兆的频段有1个信道,900兆的频段有10个信道。2.4G有16个信道,总共加起来有27个信道。

27个信道的表示:32位的数据类型的中间的16位表达,其中1表示该信道是否被占用。

取值范围:0x800-0x7fff800;这就是16个信道的表达方式。

信道在一开始创建网络就要确定,信道不确定是不会加入到网络的。

信道确定的建立网络一方和加入网络的一方是否处于同一频段。因此信道必须先确定。

2、panID:网络地址。占用16位,也就是可以建立6万多个网段。

类似于IP地址内的网段地址,也就是IP地址里面的子网掩码唯一覆盖的区域。为0覆盖的区域可以认为是主机地址。在这里可以理解为mac、shortaddr地址。在zigbee里面的mac地址和pcpip里面的mac地址是不同的。panID是表达了一个网段,如果信道相同但是panID不同,那么这两个设备也无法通信。所以需要通信的前提是panID和channel必须相通,然后选择mac和短地址。

3、mac和短地址严格意义上来说拥有一个就可以了。因为实际通讯过程中也是二选一的,只是大多数选择的是短地址。

channel和panID都通了之后,通过不同的短地址可以给不同的对象发数据。但是一般情况下短地址都是由路由器和协调器所分配的。作为一个终端设备在加入网络之前是不知道短地址是什么。所以想要和一个刚加入的设备的通信,这时就比较麻烦,因为无法知道短地址是多少,这时可以用绑定通信来解决通过mac地址。因为每个设备的mac地址是唯一的,通过mac地址来绑定,绑定完之后直接使用绑定的来通信。可以不知道短地址的情况下也可以通信。

4、端点endpoint:数据已经收到。例如:信道相同、网络地址相同、短地址也找到了但是数据还是收不到,那就说明没有定义端点,也就是端点号没有匹配上。电脑收到网络包的数据包,但是找不到对应的端口数据依然会丢失。

这里用1-240作为普通用户的端点。0号端点被占用,241之后的保留。

以上几个概念非常重要,需要重点理解。

 

三、通信方式

1、单播通信(点播):给指定设备收发数据

2、组播通信:给加入到组的所有的成员发出邀请

3、广播通信:与网内设备通信

(1)短地址广播:短地址为全邀,16位。0xffff这个属于广播地址。短地址广播发给网络里面的所有应用(统一个网络用短地址来划分可以分出6万多个设备。理论支持6万多个设备但是实际上能不能支持6万多个设备取决于协调器的运算能力。所有的数据需要经过协调器路由器处理,如果处理能力不高,也无法支持很多节点。)

(2)端点也有一个广播0xff。阿里收到的数据包发给所有的应用

4、绑定通信:不是设备之间通信,而是不同端点之间的通信

 

四、通信设备

1、协调器:全功能设备FFD

2、路由器:全功能设备FFD

3、终端:半功能设备(功耗低)

除了终端以外,协调器和路由器的功能几乎相似。都能够使得其他设备加入网络,能够分配地址。

后面有很多关于地址的说明,先将以上概念掌握,后面会通过代码例子进行说明。

相关文章
|
存储 缓存 网络协议
深入理解Linux网络——内核是如何接收到网络包的
一、相关实际问题 RingBuffer是什么,为什么会丢包 网络相关的硬中断、软中断是什么 Linux里的ksoftirqd内核线程是干什么
|
运维 安全 数据建模
阿里云数字证书管理服务免费版和收费版SSL证书区别、收费标准、申请及部署教程参考
阿里云数字证书管理服务提供多种SSL证书类型和品牌,适用于不同规模的网站,包括但不限于电商、小型企业、大型企业或个人等。阿里云SSL证书有收费版的也有免费版的,有的新手用户由于是初次在阿里云申请SSL证书,可能不是很清楚免费版证书的申请和部署流程,本文为以图文形式为大家展示阿里云免费版SSL证书最新的申请及部署教程,以供参考。
|
Prometheus Cloud Native 网络安全
Prometheus+Grafana+Alertmanager部署教程(超详细)
Prometheus+Grafana+Alertmanager部署教程(超详细)
3344 0
Prometheus+Grafana+Alertmanager部署教程(超详细)
|
定位技术 Python
提升Github使用体验的8个技巧
提升Github使用体验的8个技巧
371 0
|
编译器 C语言
C语言中的浮点数:深入探索与应用
C语言中的浮点数:深入探索与应用
2931 1
|
人工智能 IDE 测试技术
采用Visual Studio版本的AI编程助手
Visual Studio 是多平台IDE,用于构建Windows、Mac、Linux、iOS和Android应用。安装Fitten Code插件可增强其功能,如智能补全、AI问答、代码生成、翻译、注释自动生成、代码解释和测试用例创建。通过扩展商店搜索安装Fitten Code,登录后体验上述特性。支持VS Code、JetBrains IDE、Visual Studio和Vim。访问[https://code.fittentech.com/](https://code.fittentech.com/)获取更多信息。
851 4
|
算法 数据安全/隐私保护 异构计算
基于FPGA的AES加密解密vivado仿真,verilog开发,包含testbench
基于FPGA的AES加密解密vivado仿真,verilog开发,包含testbench
725 0
基于FPGA的AES加密解密vivado仿真,verilog开发,包含testbench
|
机器学习/深度学习 算法 编译器
【C语言】函数 ---- 函数的嵌套调用和链式访问、函数的声明和定义、变量的声明和定义、函数递归与迭代、递归时的栈溢出问题
【C语言】函数 ---- 函数的嵌套调用和链式访问、函数的声明和定义、变量的声明和定义、函数递归与迭代、递归时的栈溢出问题
516 0
|
SQL 存储 监控
基于PHP的英语四六级在线模拟考试平台(论文+源码)_kaic
基于PHP的英语四六级在线模拟考试平台(论文+源码)_kaic
|
数据库 OceanBase
在OceanBase数据库中,当使用主键自增功能插入一条带有主键的数据
在OceanBase数据库中,当使用主键自增功能插入一条带有主键的数据
2227 1

热门文章

最新文章