zigbee协议及开发(1)- 基础知识

2024-06-06 02:58

本文主要是介绍zigbee协议及开发(1)- 基础知识,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

说明:本系列文章中,部分内容来自于网络及图书,版权归原作者所有,其中加入我个人学习的体会及理解,算是个人的学习笔记。

 

准备学习这个方面内容原因是因为申请了一个学生的课题,本来是由学生做的,但是诸多原因,最后只得由我亲自操刀,既然做就做好吧。本系列相关实验用到的硬件是Feibit公司基于TICC2530开发系列节点。

 

申请的课题是关于无线传感器网络室内环境监测的,原本打算购买一套(中科院宁波)深联科技的GAINS和GAINZ套件或者是XcrossBow的套件,不过一查价格高得吓人,而经费项目少得可怜,只好作罢。最后,经过搜索,得知基于Zigbee技术的低功耗节点也是可选途径之一。

 

Zigbee是一个技术联盟,其目的是支持近距个人通信,即PAN(Personal Area Network)。一个简单的比方,现在大家可能都有手提电脑、手机、还有MP3之类的,这些设备之间通信可以看成一个PAN。从学术角度,IEEE802.15.4即是描述个人通信的规范,而遵从Zigbee的产品是完全与IEEE802.15.4兼容的。当然,日常提得比较多的是蓝牙和WIFI,也是一种近距通信技术,但是Zigbee强在其低功耗、低数据率,实际上Zigbee理论最高速率不超过250kb/s。下面这个图说明了问题:

 

IEEE802.15.4规范只涉及到网络的低两层,即PHY和MAC层。但是一般的Zigbee协议栈都实现了一整套完整的协议,即包括网络层(NWK)及应用层(APS,APL)。

 

以TI的Zigbee协议ZStack为例,其实现涉及到硬件层(HAL),MAC层,网络层(NWK)及应用层(APL),这几个在用IAR WORKBench打开Zigbee的工程后都可以找得到相关的目录,如:

其中,有一个目录OSAL,全称OS Abstract Layer,这个是Z-Stack1.4.3及以后的版本中引入了一个类OS的概念,即把应用层和堆栈层进行了分离,但是这个操作系统并不是时实的操作系统(如UCos,RTOS)。OSAL与Zstack关系好比Windows与TCP/IP关系协议栈只负责网络数据传输相关工作(蓝牙也是用这个协议栈的,Wifi是用RTOS实时协议栈),OSAL完成以下相关工作:

一般来说提供如下几个功能:
·                     任务的注册、初始化、开始(即注册ID号,注册端点,硬件初始化,任务就开始)
·                     任务间的消息交换(通过任务和事件-来传递消息)
·                     任务同步--(目前不知道在哪里)
·                     中断处理--—(如按键中断,串口DMA中断)
·                     时间管理--(time-update)
·                     内存分配--(NV这个貌似很重要的了,不知所云)。

 

参考:http://www.zdh1909.com/html/RIFI/6491.html

参考:《Zigbee Wireless Networks and Transceivers》Shahin Farahani

参考:www.feibit.com/bbs

这篇关于zigbee协议及开发(1)- 基础知识的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

一文详解Python如何开发游戏

《一文详解Python如何开发游戏》Python是一种非常流行的编程语言,也可以用来开发游戏模组,:本文主要介绍Python如何开发游戏的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、python简介二、Python 开发 2D 游戏的优劣势优势缺点三、Python 开发 3D

基于Python开发Windows自动更新控制工具

《基于Python开发Windows自动更新控制工具》在当今数字化时代,操作系统更新已成为计算机维护的重要组成部分,本文介绍一款基于Python和PyQt5的Windows自动更新控制工具,有需要的可... 目录设计原理与技术实现系统架构概述数学建模工具界面完整代码实现技术深度分析多层级控制理论服务层控制注

Python的pandas库基础知识超详细教程

《Python的pandas库基础知识超详细教程》Pandas是Python数据处理核心库,提供Series和DataFrame结构,支持CSV/Excel/SQL等数据源导入及清洗、合并、统计等功能... 目录一、配置环境二、序列和数据表2.1 初始化2.2  获取数值2.3 获取索引2.4 索引取内容2

Java中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例解析

《Java中的分布式系统开发基于Zookeeper与Dubbo的应用案例解析》本文将通过实际案例,带你走进基于Zookeeper与Dubbo的分布式系统开发,本文通过实例代码给大家介绍的非常详... 目录Java 中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例一、分布式系统中的挑战二

基于Go语言开发一个 IP 归属地查询接口工具

《基于Go语言开发一个IP归属地查询接口工具》在日常开发中,IP地址归属地查询是一个常见需求,本文将带大家使用Go语言快速开发一个IP归属地查询接口服务,有需要的小伙伴可以了解下... 目录功能目标技术栈项目结构核心代码(main.go)使用方法扩展功能总结在日常开发中,IP 地址归属地查询是一个常见需求:

基于 Cursor 开发 Spring Boot 项目详细攻略

《基于Cursor开发SpringBoot项目详细攻略》Cursor是集成GPT4、Claude3.5等LLM的VSCode类AI编程工具,支持SpringBoot项目开发全流程,涵盖环境配... 目录cursor是什么?基于 Cursor 开发 Spring Boot 项目完整指南1. 环境准备2. 创建

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

HTTP 与 SpringBoot 参数提交与接收协议方式

《HTTP与SpringBoot参数提交与接收协议方式》HTTP参数提交方式包括URL查询、表单、JSON/XML、路径变量、头部、Cookie、GraphQL、WebSocket和SSE,依据... 目录HTTP 协议支持多种参数提交方式,主要取决于请求方法(Method)和内容类型(Content-Ty

Python实战之SEO优化自动化工具开发指南

《Python实战之SEO优化自动化工具开发指南》在数字化营销时代,搜索引擎优化(SEO)已成为网站获取流量的重要手段,本文将带您使用Python开发一套完整的SEO自动化工具,需要的可以了解下... 目录前言项目概述技术栈选择核心模块实现1. 关键词研究模块2. 网站技术seo检测模块3. 内容优化分析模