Zigbee技术和CC2530
来源:互联网 发布:linux 文件传输工具 编辑:程序博客网 时间:2024/06/07 19:39
一、ZigBee协议体系
ZigBee协议模块为层结构,主要由应用层、网络层、媒介访问控制层和物理层组成,其中ZigBee联盟定义了网络层和应用层架构。
每一层为上一层提供一系列服务。所有的服务实体通过服务接入点(SAP)为上层提供一个接口,每个SAP都支撑一定数量的服务原语来实现所需要的功能。
在Zigbee协议中,协议本身已经定义了大部分
应用层
网络层
MAC层
物理层
ZigBee网络由一系列网络节点 组成,一个网络结点可以包含多个设备,每个设备可以支持240个端点。端点作为网络通信中的数据通道,编号为1-240的端点对应可以定义为240个应用对象。端点0作为ZigBee设备对象的数据接口,每个端点可定义多个集群。
在进行ZigBee产品开发中,需要遵守一个应用规范,设定规范是一种规定不同设备对消息帧的处理行为,使不同的设备之间可以通过发送命令、数据请求来实现互操作。
在ZigBee网络中,设备可以分为两类:完整功能设备和简化功能设备。完整功能设备可以作为协调器或者路由器在任何拓扑结构中工作,能同其他完整设备或者简易设备通信。而简易设备只能作为终端网络节点,且只能同完整设备通信。
ZigBee网络支持2种网络拓扑结构,为星型网拓扑和对等网拓扑,其中智能家居中一般使用星型网拓扑。
二、ZSTACK协议栈的分析
Z-Stack采用操作系统的思想来构建,采用时间轮询机制,系统按照任务优先级来一次处理事件,而在事件处理完之后,进入低功耗模式。
操作系统抽象层的工作就是对多个任务进行系统资源分配,核心是通过参数传递的事件类型来判断对应处理相应任务的事件。在OS主体循环函数中,轮询判断各任务标志位来执行 相应的任务,进而执行事件处理函数,完成各个事件的处理
三、软件开发
开发环境选用IAR,在协议栈基础上编写应用层程序。系统用6个节点组成一个星型网络,一个协调器负责网络的建立,3个路由器和2个终端器组建网络,采集由CC2530内部自带温度传感器的温度值,并且实时的传输到协调器。
协调器采用自启动模式,因此在初始化函数中进行网络初始化,若协调器网络建立成功,则会出发任务事件,后调用函数在串口调试软件上显示网络建立的状态,然后系统对串口进行轮询检测,若有数据写入串口,通过回调函数将串口事件传递给任务,在应用层里定义My-A()调用数据发送函数,这边数据即控制命令。其中发送地址模式分为单播,广播和组播三种模式,分配3只能怪模式地址作为数据发送目标地址。
路由器和终端器也采用自启动模式,在网络初始化时调用函数来发现网络,后加入网络成功,触发任务的Z事件,把网络地址发给协调器。在接受到控制命令数据后,调用数据采集函数采集温度值,并发送数据到协调器,若发送不成功将延迟1s再重发。
- Zigbee技术和CC2530
- CC2530模块/Zigbee模块
- CC2530 + RFX2401C Zigbee模块
- zigbee cc2530 adc转换
- CC2530 + RFX2401C Zigbee模块
- zigbee cc2530功率修改
- CC2530 zigbee RS485通讯
- zigbee cc2530地址空间 layout 和flash操作
- linux 应用层时间和随机数,zigbee cc2530时间
- Zigbee网络架构+ZigBee的体系结构+理解zigbee节点的实现的案例+“51单片机” 和 “zigbee” 、 “cc2530芯片” 之间的关系+芯片cc2530
- ZigBee-CC2530学习心得(1) --------ZigBee开发工具
- CC2530引领Zigbee潮流风暴
- zigbee 1:开始 TI CC2530
- ZigBee CC2530串口通信调试
- CC2530 zigbee 全信道扫描
- Zigbee Stack CC2530 ZNP使用
- ZigBee TI ZStack CC2530 2.6 选择开发板和下载器
- ZIGBEE技术 Zigbee Technology
- deviceone 跨平台开发
- 每日论文image-to-Image Translation with Conditional Adversarial Networks
- Winform单例模式之牛刀小试
- javascript工厂模式
- LVS简单命令详解
- Zigbee技术和CC2530
- ajax的post请求后台request.getParameter()接收不到参数问题
- 2017最新下载安装Java详细教程
- Spark学习笔记(八)
- 终于有自己的博客了!
- JDK1.8特性
- ARTSPConnection::receiveRTSPReponse
- 笑翻天技术支持
- JS中如何处理多个ajax并发请求?