Z-Stack协议栈学习笔记---修改PANID与信道选择

2023-10-11 02:30

本文主要是介绍Z-Stack协议栈学习笔记---修改PANID与信道选择,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

PANID设置

     一个zigbee网络的标志就是PANID,PANID是一个16位变量,可以定义65535个不同PANID号的网络。我们可以使用PANID在相同的信道内区分不同的zigbee网络。PANID一般由coordinator决定,router与endDevice接入时会从coordinator获取PANID。也可以固定router和endDevice的PANID,使其加入特定的coordinator。这个值在zstack协议栈的tools/f8wConfig.cfg中定义:


修改这个宏可以设置PANID,如果这个值被设置为0xFFFF表示随机,coordinator会在0~0x3FFF的范围内随机选择一个数作为PANID。

信道设置

     除了PANID,我们也可以使用信道来区分,毕竟不同信道的设备无法通信。coordinator与router和endDevice必须设置为相同的信道才能连接到同一网络中。修改位置同样在tools/f8wConfig.cfg中:


    通过打开对应信道的宏来设置信道,例如这里就是设置信道26。zigbee协议定义了26个信道,分别为868MHz1个,915MHz10个,2.4GHz11个。但由于CC2530芯片只支持2.4G,因此这里只能设置2.4G频段,即11信道到26信道。

信道选择

     zigbee布网最大的障碍就是干扰,也就是来自于wifi的干扰。wifi与zigbee都处于2.4G频段,信道高度重合。而且无论是功率还是抗干扰能力zigbee都敌不过wifi。因此在部署zigbee网络时要考虑当前环境中wifi信号的干扰频段,并尽可能避开这些频段。


   如上图,wifi在2.4g频段具有14个信道,且信道之间相互重叠。但在中国,无线ap最常用的信道是1、6、11,几乎所有的民用无线AP默认都是这三个信道。自己观察可以发现这三个信道前后与之间有细微的间隔,分别为f<2.401、2.423<f<2.426、2.448<f<2.451、f>2.473。让我们再来看看zigbee的信道分布:


 对比可以看出,15、20、25、26这四个zigbee信道完全避开了常用的wifi信道1、6、11。是zigbee布网的最佳选择。


这篇关于Z-Stack协议栈学习笔记---修改PANID与信道选择的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/184890

相关文章

如何在Spring Boot项目中集成MQTT协议

《如何在SpringBoot项目中集成MQTT协议》本文介绍在SpringBoot中集成MQTT的步骤,包括安装Broker、添加EclipsePaho依赖、配置连接参数、实现消息发布订阅、测试接口... 目录1. 准备工作2. 引入依赖3. 配置MQTT连接4. 创建MQTT配置类5. 实现消息发布与订阅

使用Python进行GRPC和Dubbo协议的高级测试

《使用Python进行GRPC和Dubbo协议的高级测试》GRPC(GoogleRemoteProcedureCall)是一种高性能、开源的远程过程调用(RPC)框架,Dubbo是一种高性能的分布式服... 目录01 GRPC测试安装gRPC编写.proto文件实现服务02 Dubbo测试1. 安装Dubb

SQL Server修改数据库名及物理数据文件名操作步骤

《SQLServer修改数据库名及物理数据文件名操作步骤》在SQLServer中重命名数据库是一个常见的操作,但需要确保用户具有足够的权限来执行此操作,:本文主要介绍SQLServer修改数据... 目录一、背景介绍二、操作步骤2.1 设置为单用户模式(断开连接)2.2 修改数据库名称2.3 查找逻辑文件名

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

Oracle修改端口号之后无法启动的解决方案

《Oracle修改端口号之后无法启动的解决方案》Oracle数据库更改端口后出现监听器无法启动的问题确实较为常见,但并非必然发生,这一问题通常源于​​配置错误或环境冲突​​,而非端口修改本身,以下是系... 目录一、问题根源分析​​​二、保姆级解决方案​​​​步骤1:修正监听器配置文件 (listener.

Linux中修改Apache HTTP Server(httpd)默认端口的完整指南

《Linux中修改ApacheHTTPServer(httpd)默认端口的完整指南》ApacheHTTPServer(简称httpd)是Linux系统中最常用的Web服务器之一,本文将详细介绍如何... 目录一、修改 httpd 默认端口的步骤1. 查找 httpd 配置文件路径2. 编辑配置文件3. 保存

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

Nginx 413修改上传文件大小限制的方法详解

《Nginx413修改上传文件大小限制的方法详解》在使用Nginx作为Web服务器时,有时会遇到客户端尝试上传大文件时返回​​413RequestEntityTooLarge​​... 目录1. 理解 ​​413 Request Entity Too Large​​ 错误2. 修改 Nginx 配置2.1

Python对PDF书签进行添加,修改提取和删除操作

《Python对PDF书签进行添加,修改提取和删除操作》PDF书签是PDF文件中的导航工具,通常包含一个标题和一个跳转位置,本教程将详细介绍如何使用Python对PDF文件中的书签进行操作... 目录简介使用工具python 向 PDF 添加书签添加书签添加嵌套书签Python 修改 PDF 书签Pytho

重新对Java的类加载器的学习方式

《重新对Java的类加载器的学习方式》:本文主要介绍重新对Java的类加载器的学习方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍1.1、简介1.2、符号引用和直接引用1、符号引用2、直接引用3、符号转直接的过程2、加载流程3、类加载的分类3.1、显示