当前位置:网站首页>无线传感器网络--ZigBee和6LoWPAN
无线传感器网络--ZigBee和6LoWPAN
2022-07-07 13:26:00 【madkeyboard】
ZigBee拓扑结构
三种结构:星形、树形和网状拓扑结构。
星形拓扑是最容易实现的拓扑,但是由于ZigBee协调器的限制,不适合大规模的网络,一旦协调器出现故障,那么整个网络都会受到影响
树形结构更加灵活,其部署不受协调器限制,还可以通过ZigBee路由器采用子设备来扩展范围。实现路由协议容易,每个设备只需要维护一个树表但是中途结点出现故障也没有可替代的路由
网状拓扑比树形拓扑更加灵活,每个设备之间都可以直接通信,并且当中途的路由失效时,可以选择其他路由进行替代。
在通常情况下,ZigBee网络是混合式网络结构,一个ZigBee的终端设备只能跟其父节点进行通信,不涉及网络通信的转发功能
ZigBee地址分配方案
- Cskip:
- Cm:每个父设备可以拥有子设备的总数
- Rm:每个父设备可以拥有路由器总数
- Lm:网络的最大深度
- d:设备的实际网络深度
上面的4个参数都存放在ZigBee协调器的网络信息库内。路由器设备能接受的终端设备数量按该公式计算:
MaxEndDevices = MaxChildren - MaxRouters = Cm - Rm下图是Cskip计算现有网络中任何分支可能存在后继节点总数的方法
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LhP2HSLV-1656730641139)(C:\Users\14645\AppData\Roaming\Typora\typora-user-images\image-20220702094304486.png)]
在任何ZigBee网络中,网路节点的最大数目为65535.
Cskip(d)通常作为地址偏移量分配给路由器和它的终端设备
给路由器Rn分配地址的方式:Rn = R1 + (n - 1)x Cskip(d)
ZigBee管理机制
- 地址管理
管理机制包括地址管理、描述管理、设备和服务的发现与绑定
ZigBee网络既可以使用64位扩展地址又可以使用16位网络地址,但是为了解决多个对象共享一个物理地址的问题,需要使用端点寻址的概念。
下图有两个ZigBee设备A和B,A中的终端1通过IEEE 802.15.4标准请求设备A和B建立无线通信信道,但是有个问题,B如何识别终端1是和湿度传感器通信的,ZigBee规范定义了一个子级寻址模式—端点,因此通信的发起端指定了与其建立通信的端点,ZigBee设备中的ZigBee协议栈就可以轻松地确定目标对象
- 描述管理
描述管理是ZigBee规范的通信基础,由信息、信息格式和处理动作方面的协议构成,定义了确保系统内合作的处理动作协议,让不同的组件能够创建互操作分布式应用。
如下图所示,描述ID长8位,标识当前描述的属性。
公有描述ID的范围为0x0000 - 0x7FFF,私有描述ID的范围oxbf00 - 0xFFFF
ZigBee绑定
两个不用设备的端点间的逻辑关系。
通过下图看看为什么需要绑定。四种情况中,有些开关是一对多,有些又是多对一,采用传统的方法去实现会做大量的重复工作。
采用绑定机制提高效率。协调器一直处于工作状态,所以用于存储绑定表,记录两项内容:1.开关1的端点和原地址,以及灯1和灯2的端点和匹配的地址;2.开关2的端点和地址,以及灯3的端点及匹配的地址。如果开关1需要启动灯1和灯2,那么开关1就向协调器发送指令和它自己的地址。协调器收到指令就搜索绑定表,找出灯1和灯2的地址,然后协调器把指令的目标地址替换成灯1和灯2的地址,并且自动发送出去,最后开关1就能控制灯1和灯2.
6LoWPAN和无线传感器网络
6LoWPAN使IPv6能直接基于IEEE 802.15.4低功率WSN进行工作,让无线节点更易于接入因特网
WSN应用于因特网的优势:
- 使用基于IP协议的现有网络架构,可以实现互操作
- 无线设备可以很容易地连接到因特网上而不需要网关
- 可以使用HTTP、SNMP和DPWS等已建立的应用协议和数据模型
- 使用传输协议对具有不可靠连接的网络提供一定的可靠性
协议栈
LoWPAN层在MAC层和IPv6之间,功能:IPv6头的压缩、IPv6载荷的分片、UDP头的压缩
配置实例
每个LoWPAN由一个边界路由器,若干LoWPAN路由器和若干主机(H)组成,在因特网上还有一个远程服务器
- LoWPAN连接因特网上需注意的问题
- 6LoWPAN的应用要让数据包尽可能的小,防止把数据包分成若干个IPv6包
- 端到端应用协议应该利用UDP和紧凑载荷格式以适应6LoWPA节点的使用
- 防火墙和网址转换
- IPv4互联
- 安全问题
让数据包尽可能的小,防止把数据包分成若干个IPv6包
- 端到端应用协议应该利用UDP和紧凑载荷格式以适应6LoWPA节点的使用
- 防火墙和网址转换
- IPv4互联
- 安全问题
边栏推荐
- jacoco代码覆盖率
- [Lanzhou University] information sharing of postgraduate entrance examination and re examination
- OpenGL common functions
- Ida Pro reverse tool finds the IP and port of the socket server
- Unity's ASE achieves full screen sand blowing effect
- [original] all management without assessment is nonsense!
- The rebound problem of using Scrollview in cocos Creator
- Please supervise the 2022 plan
- Iterator and for of.. loop
- webgl_ Enter the three-dimensional world (1)
猜你喜欢
[quick start of Digital IC Verification] 26. Ahb-sramc of SystemVerilog project practice (6) (basic points of APB protocol)
UE4 exports the picture + text combination diagram through ucanvasrendertarget2d
MySQL bit type resolution
Postman generate timestamp, future timestamp
unnamed prototyped parameters not allowed when body is present
HW初级流量监控,到底该怎么做
Cocos creator collision and collision callback do not take effect
写一篇万字长文《CAS自旋锁》送杰伦的新专辑登顶热榜
MongoD管理数据库的方法介绍
Tkinter after how to refresh data and cancel refreshing
随机推荐
银行需要搭建智能客服模块的中台能力,驱动全场景智能客服务升级
[quick start of Digital IC Verification] 25. AHB sramc of SystemVerilog project practice (5) (AHB key review, key points refining)
webgl_ Enter the three-dimensional world (1)
【數字IC驗證快速入門】20、SystemVerilog學習之基本語法7(覆蓋率驅動...內含實踐練習)
Window环境下配置Mongodb数据库
Basic knowledge sorting of mongodb database
Unity's ASE realizes cartoon flame
How to create Apple Developer personal account P8 certificate
【数字IC验证快速入门】25、SystemVerilog项目实践之AHB-SRAMC(5)(AHB 重点回顾,要点提炼)
Getting started with webgl (3)
numpy--疫情数据分析案例
numpy---基础学习笔记
There is a cow, which gives birth to a heifer at the beginning of each year. Each heifer has a heifer at the beginning of each year since the fourth year. Please program how many cows are there in the
HW primary flow monitoring, what should we do
Do not use memset to clear floating-point numbers
【数字IC验证快速入门】20、SystemVerilog学习之基本语法7(覆盖率驱动...内含实践练习)
[deep learning] semantic segmentation experiment: UNET network /msrc2 dataset
Cut ffmpeg as needed, and use emscripten to compile and run
LeetCode3_ Longest substring without duplicate characters
Use of SVN