Zigbee入门指导经典教程
Zigbee操作说明
一.Android软件安装配置,导入项目安装pad驱动测试对应源码是否成功使用无线路由器组建局域网,并将摄像头配置进来ZIGBEE用万用表测出2,3,5口:具体使用:将万用表的开关拨到箭头的地方,然后测线路是否通,如果有响声,即是联通的。
串口线和ZIGBEE连接时对应的点:2口:tx; 3口:rx 5口:GND继电器Vin1连接12伏电源GND2连接地D+5连接智能终端的RS485的左边D-6连接智能终端的RS485的右边使用智能终端的使用:1) 连接电源:PWR:左黑右红,红为5伏电源,黑为底线2)串口线连接PC,进行配置查询: AT+AA_BASE_ADDRESS=1返回结果,0,硬件地址设置地址: AT+AA_BASE_ADDRESS=0,A1108 注意:1108为自己设定的硬件地址(0——F)查询:AT+R_AA_Z_NODE返回结果AT+AA_Z_NODE=C 注:C为协调器设置信道:AT+AA_Z_CHANNEL=11 注:11为自行设定的信道(值为11-26)设组网地址:AT+AA_Z_PAN_ID=1105 注:1105为自行设定的组网地址自此,智能终端设置完成设置ZIGBEE连接电源连接串口线,设置235,黑的是5,黄的是2,绿的是3通过串口线连接PC,进行设置:查询硬件地址:AT+AZ_BASE_ADDRESS=1返回结果0,Z硬件地址设置硬件地址:AT+AZ_BASE_ADDRESS=0,Z1109 注:1109为自行设定的硬件地址(这个地址必须区别于智能终端的硬件地址)设置工作模式:AT+AZ_BASE_WORKMODE=0,2设置为路由器:AT+AZ_Z_NODE=R设置信道:AT+AZ_Z_CHANNEL=11 注:11为上述设置的信道AT+AZ_Z_PAN_ID=1105 注:1105为上述设置的组网地址设置工作模式:AT+AZ_BASE_WORKMODE=0,2将门磁连上:门磁的两头分别连接ZIGBEE的GND和IN两口关于继电器1)继电器就是一个开关2)一个继电器有四对:第一队:AG,A1,A2,;第二队:10,11,12;第三队:13,14,15;第四对:16,17,18。
ZigBee编程基础入门
zigbee基本概念及协议术语1. 逻辑设备类型协调器(coordinator),路由器(router),终端设备(end-device)•ZigBee 协调者—coord为协调者节点*–每各ZigBee网络必须有一个.–初始化网络信息.协调器是一种特殊的路由器(待确认)•ZigBee 路由器—router为路由节点*–路由信息•ZigBee 终端节点—rfd为终端节点*–没有路由功能–低价格2 . 2.4GHz射频信道分为16个独立信道。
3. 绑定应用设备之间信息流的控制机制。
有直接绑定(OTA)、间接绑定、直接绑定(通过串口)4. 配置文件profile 应用程序框架5. 端点endpoint 每个ZigBee设备支持多达240个端点6. NWK寻址地址类型:ZigBee设备有一个64位IEEE长地址(MAC地址)通常用一个16位短地址表识网络地址分配由协调器完成相关参数:5 max_depth 网络的最大深度6 Max_children 路由器或协调器节点连接子节点最大个数20 Max_router 路由器或协调器处理的具有路由能力的子节点最大个数它是max_children的子集数据包传送单点unicast 多点multicast 广播broadcast路由:经过路由器的每个数据帧寻找一条最佳传输路径,并将该数据有效地传送到目的节点。
F8wconfig.cfg配置路由看了下面就不用纠结了。
配置文件(profile):Zigbee协议的配置文件是对逻辑组件及其相关接口的描述,是面向某个应用类别的公约、准则.通常没有程序代码与配置文件相关联.属性(attribute):设备之间通信的每一种数据像开关的状态或温度计值等皆可称为属性.每个属性可得到唯一的ID值.簇(cluster):多个属性的汇集形成了簇,每个簇也拥有一个唯一的ID.虽然个体之间传输的通常是属性信息,但所谓的逻辑组件的接口指的却是簇一级的操作,而非属性一级.终端(endpoint):每个支持一个或多个簇的代码功能块称为终端.不同的设备通过它们的终端及所支持的簇来进行通信.Cluster: is a container for one or more attributes. (一个或更多属性的集合)Attribute: a data entity which represents a physical quantity or state.(反映物理特性或状态的一个数据实体)Cluster是逻辑设备之间的事务关系Cluster定性Attribute则是某种事务关系的具体特例Attribute定量Endpoint是一个逻辑设备(个人理解为入口地址)。
ZigBee2006入门_5
Zigbee2006修改默认网络类型在nwk_globals.h中修改如下的代码:三种网络模式,星型,树型,和网状//Controls the operational mode of network#define NWK_MODE_STAR 0#define NWK_MODE_TREE 1#define NWK_MODE_MESH 2//两种安全模式//Controls various stack parameter settings#define NETWORK_SPECIFIC 0 //特定网络#define HOME_CONTROLS 1 //家庭控制#define ZIGBEEPRO_PROFILE 2 //zigbee专业版#define GENERIC_STAR 3 //一般星型网络#define GENERIC_TREE 4 //一般树型网络#define STACK_PROFILE_ID HOME_CONTROLS//STACK_PROFILE_ID的修改可以改变拓扑类型,//此状态下默认为网状网络#if ( STACK_PROFILE_ID == HOME_CONTROLS ) //如果为网状网络#define MAX_NODE_DEPTH 5 //最大深度5#define NWK_MODE NWK_MODE_MESH //网络模式MESH#define SECURITY_MODE SECURITY_RESIDENTIAL //安全模式。
一般住宅模式#if ( SECURE != 0 )#define USE_NWK_SECURITY 1 // true or false,使用网络安全#define SECURITY_LEVEL 5 //安全等级#else#define USE_NWK_SECURITY 0 // true or false 不使用网络安全#define SECURITY_LEVEL 0 //安全等级#endif#elif ( STACK_PROFILE_ID == GENERIC_STAR ) //如果为一般星型网络#define MAX_NODE_DEPTH 5 //结点深度5#define NWK_MODE NWK_MODE_STAR //网络模式,星型#define SECURITY_MODE SECURITY_RESIDENTIAL //安全模式,住宅模式#if ( SECURE != 0 )#define USE_NWK_SECURITY 1 // true or false 使用网络安全#define SECURITY_LEVEL 5 //安全等级5#else#define USE_NWK_SECURITY 0 // true or false 不使用网络安全#define SECURITY_LEVEL 0 //安全等级0#endif#elif ( STACK_PROFILE_ID == NETWORK_SPECIFIC ) //如果为特定网络// define your own stack profile settings#define MAX_NODE_DEPTH 5 //结点深度5#define NWK_MODE NWK_MODE_MESH //网络模式,MESH #define SECURITY_MODE SECURITY_RESIDENTIAL //安全模式,一般住宅模式#if ( SECURE != 0 )#define USE_NWK_SECURITY 1 // true or false 使用网络安全#define SECURITY_LEVEL 5 //安全等级5#else#define USE_NWK_SECURITY 0 // true or false 不使用网络安全#define SECURITY_LEVEL 0 //安全等级0#endif#endif。
E18系列ZigBee模块快速操作方法
E18 系列ZigBee模块快速操作方法1. E18系列ZigBee模块简介E18 系列模块是成都亿佰特电子科技有限公司设计生产的一款2.4G ZigBee无线模块。
采用美国德州仪器(TI)公司原装进口的CC2530F256射频芯片。
E18 模块根据型号不同,可分为4.5dBm和20dBm最大功率输出。
内置组网固件,其固件采用TI 经典ZigBee协议栈Z-stack2.5.1a,支持串口数据传输。
该组网固件支持低功耗,角色切换,广播、组播、点播等多种功能。
并支持串口指令操作。
可轻松对模块进行配置和使用。
2. 快速入门•ZigBee自组网模块具有简单易用的特点。
通信模式分为模式1(透传模式),模式2(半透传模式),模式3(协议模式)。
在模式1、2 下还可指定输出为短地址,MAC地址,RSSI等信息。
为了让用户能快速熟悉模块,本此实验将引导用户经过简单的配置实现各种模式下的配置和通信,工作模式为模式3(协议模式),波特率为默认波特率115200。
用户可将P1.6引脚拉低,进行HEX指令设置,为方便上位机观察,本次实验用HEX指令格式,AT指令用户不在本次试验中测试。
(AT指令模式下不能用于上位机配置。
)另外,用户可以不使用底板而使用外部微控制器(MCU)直接连模块UART进行串口指令通信,实现二次开发。
•备注【建立网络】:①.通过USB转串口模块将出厂的ZigBee自组网模块连接。
②.打开上位机软件“Zigbee_Setting_V1.1”,并选择端口号,并设置串口波特率(默认115200),打开串口;③.点击读取参数,读取相应模块参数。
④.选择节点类型为协调器,并写入参数。
等待协调器开始组建网络,用户可查看模块参数。
配置网络参数:(PAN ID为FFFF时为自动PAN ID)网络组建好读取参数:⑤.选择另一个模块,按照相同步骤设置为路由器或者终端(模块出厂默认为终端,可不进行设置,本实验为终端)。
ZigBee2006入门_3
ZigBee入门之第二章Z-Stack 简介指导Z-Stack 指导 1首先来看看 Z-Stack 的结构。
第一次打开工程印象最深刻的就是左边一排文件夹,如图所示。
其实这个还是很容易理解的: APP(Application Programming):应用层目录,这是用户创建各种不同工程的区域,在这个目录中包含了应用层的内容和这个项目的主要内容,在协议栈里面一般是以操作系统的任务实现的。
HAL(Hardware (H/W) Abstraction Layer):硬件层目录,包含有与硬件相关的配置和驱动及操作函数。
MAC:MAC 层目录,包含了 MAC 层的参数配置文件及其 MAC 的 LIB 库的函数接口文件。
MT(Monitor Test):实现通过串口可控各层,于各层进行直接交互。
(这个很重要哦)NWK(ZigBee Network Layer):网络层目录,含网络层配置参数文件及网络层库的函数接口文件,APS 层库的函数接口OSAL(Operating System (OS) Abstraction Layer):协议栈的操作系统。
Profile:AF(Application work)层目录,包含 AF 层处理函数文件。
Security:安全层目录,安全层处理函数,比如加密函数等。
Services:地址处理函数目录,包括着地址模式的定义及地址处理函数。
Tools:工程配置目录,包括空间划分及 ZStack 相关配置信息。
ZDO(ZigBee Device Objects):ZDO 目录。
ZMac: MAC 层目录,包括 MAC 层参数配置及 MAC 层 LIB 库函数回调处理函数。
ZMain:主函数目录,包括入口函数及硬件配置文件。
Output:输出文件目录,这个 EW8051 IDE 自动生成的。
那么知道各个文件夹大概是什么功能,分布在 ZIGBEE 的哪一层,那么在以后的工作中无论是查询某些功能函数还是修改某些功能函数,甚至是添加或删除某些功能函数就能顺利的找到在什么地方了,当然要想真的顺利还需要花更多的时间熟悉这个协议栈了!了解Z-Stack 结构后那么就能看看它的功能。
zigbee入门指导
Zigbee入门指导(二)——运行Zigbee例程在Zigbee入门指导(一)中讲解了基于CC2430的Zigbee 开发环境的搭建,安装完Ti的协议栈后,里面有多个例程,帮助用户入门及作为自己工程的基本框架。
在Zigbee入门指导(二)中,我们将通过演示执行相关的例程,了解Zigbee应用的启动流程(不是Zigbee网络的启动流程),了解运行一个自定义Zigbee工程所要作的软件方面的改动和工程选项的配置。
所用的开发套件为无线龙的套件。
一、修改HALHAL及所谓的Hardware Abstration Layer,通俗的了解即为开发板的硬件驱动,由于所用的是无线龙的开发板,与Ti的原装开发板有差异,需要对协议栈自带的HAL进行修改。
HAL文件存放在目录<Components/hal>中,里面有<common>、<include>、<target>三个目录,<common>中定义的与外设无关的硬件操作,<include>存放的是头文件,而<target>存放的是目标文件,里面根据目标板的不同分为<CC2430BB>、<CC2430DB>、<CC2430EB>。
所用的无线龙的开发板和CC2430EB最为相似,故修改<CC2430EB>中的内容。
按键操作几乎在每个例程中都会用到,故此处以按键驱动的修改为例,演示HAL的修改。
先了解下Ti和无线龙扩展板的不同之处。
Ti的CC2430EB 原理图在Ti文档SWRU133.pdf(位于SWRU133.zip中)。
Page29是按键电路的原理图,如图1图1(左上角是元件图)CC2430EB的按键其实是摇杆,上下左右四个方向和电阻网络相连,通过放大电路送到CC2430的P0.6脚,经AD采样后判断摇杆摆向哪个方向,按键编号为SW1~SW4摇杆也可像普通按键一样按下,产生一个直流电平变化,接到P0.5脚,按键编号为SW5。
Zigbee无线传输技术学习
目录第一章 ZIGBEE核心板(CC2530) (1)1、产品概述 (1)2、原理说明 (2)第二章 ZIGBEE节点 (4)1、产品概述 (4)2、通用节点原理 (4)3、传感器节点原理 (6)第三章 CC2530功能说明 (9)1、CC2530芯片概览 (9)2、CC2530重要寄存器 (11)第四章软件开发环境入门 (17)1、建立模板工程样例 (18)1)建立新工程 (18)2)添加工程文件 (21)3)配置工程选项 (23)4)编译和链接 (27)2、下载和调试 (28)1)安装仿真器驱动 (28)2)调试和运行 (30)第五章基础实验 (33)实验一、LED发光二极管实验 (33)实验二、串口收发数据实验 (35)实验三、按键控制实验 ............................. 错误!未定义书签。
实验四、液晶显示实验 ............................. 错误!未定义书签。
实验五、电池监测实验 ............................. 错误!未定义书签。
实验六、空气温湿度传感器实验 ..................... 错误!未定义书签。
实验七、三轴加速度传感器实验 ..................... 错误!未定义书签。
实验八、人体红外传感器实验 ....................... 错误!未定义书签。
实验九、可燃气体传感器实验 ....................... 错误!未定义书签。
实验十、干簧管与霍尔开关传感器实验 ............... 错误!未定义书签。
实验十一、接近开关与红外对射传感器实验 ........... 错误!未定义书签。
实验十二、声光传感器实验 ......................... 错误!未定义书签。
实验十三、按键实验............................... 错误!未定义书签。
《Zigbee入门与实践》第一章 ZigBee简介
各种无线数据传输协议对比图如图 1-1 所示。
Wireless
传
USB
输
速
率
Wifi
Bluetooth
Zigbee
Cellular
传输距离
图 1-1 各种无线数据传输协议对比图
从图 1-1 中可以看到不同的无线数据传输协议在数据传输速率和传输距离有各自的使
表 1-1 ZigBee、蓝牙以及 IEEE 802.11b 标准对比
项目
数据速率
数据传输距离/m
典型应用领域
ZigBee
20~250kbps
10~100
无线传感器网络
蓝牙
1~3Mbps
2~10
无线手持设备、无线鼠标
IEEE 802.11b
1~11Mbps
30~100
无线 Internet 接入
功耗 设计复杂度 成本
下面通过一个具体的例子向读者展示一下 ZigBee 的具体应用。在病人监控系统中,病 人的血压可以通过特定的传感器检测,因此,可以将血压传感器和 ZigBee 设备相连,ZigBee 设备定期检测病人的血压,将血压数据以无线的方式发送到服务器,服务器可以将数据传输 到医生的电脑上,医生就可以根据病人的血压数据进行恰当的诊断。
本章主要讨论了 ZigBee 的产生、发展过程,向读者展示了 ZigBee 的特点以及相关应用 领域,帮助初学者快速入门。
1.1 无线网络数据传输协议对比
现在比较流行的无线网络数据传输协议有 WIFITM、Wireless USB、BluetoothTM、Cellular 等,不同的协议都有各自的应用领域,因此,选择网络协议时,要根据不同的应用来选择某 一种特定的协议。
zigbee模块使用手册
2.4G无线模块WLT2408NZ产品数据手册编号:DSWLT01003 更新日期:2012/04/26 版本:V1.03产品概述WLT2408NZ模块是广州晓网电子出品的WLT系列ZigBee数据传输模块,具备最大8dBm 输出功率,视距传输距离可达500米(@5dbi天线),工作频段2.380GHz~2.500Ghz,除标准ZigBee的16个通道外,还有9个扩展频段,可以有效避开WIFI、蓝牙等其他2.4G信号干扰。
广州晓网电子为WLT2408NZ用户提供mesh对等无线路由协议,无组网延时,采用时间空间权值均衡原则,路由时间短,通讯稳定可靠。
基本参数产品图片输出功率:供电电压:天线接口:数字接口:视距传输距离:功耗:休眠电流工作温度:存储温度:尺寸:-50~+8dBm1.9~3.3VSMA,U.FLUART,GPIO,AD500米@5dbi天线发送峰值电流46.3mA,接收时36.4mA <1uA-40℃至+85℃-40℃至+105℃16×23mm公司简介广州晓网电子科技有限公司是一家专门从事无线通讯方案设计、生产及服务的公司,公司拥有一流的设计团队,运用先进的工作方法,集合无线设计经验,公司拥有业界实用的各种模块,也为客户提供客制化服务。
订货信息WLT2408NZ-S SMA形式天线接头WLT2408NZ-U U.FL形式天线接头WLT2408NZ SDK 无线模块评估板套件,包含两个评估板,搭载的模块为WLT2408NZ-S。
数据手册版权声明本文档提供有关晓网电子产品的信息,并未授予任何知识产权的许可,并未以明示或暗示,或以禁止发言或其它方式授予任何知识产权许可,任何单位和个人未经版权所有者授权不得在任何形式的出版物中摘抄本手册内容。
产品命名规则图1-1 产品命名规则例如:WLT2408NZ-S表示晓网电子模块类的产品,频段为2.4GHz,理论输出功率为﹢8dBm(实际输出为﹢7.7dBm),超小封装,调制方式为ZigBee,外置SMA头的模块。
ZigBee基础知识概要PPT课件
8
.
ZigBee与802.15.4标准
2020/5/28
❖ ZigBee是IEEE 802.15.4的扩展。 ZigBee不仅只是 802.15.4的名字, IEEE仅处理低级MAC 层和物理层协议,
ZigBee联盟对其网络 层协议和API进行标准 化。
应用层 网络层 数 据 链 路 层 DLL 媒 体 接 入 控 制 层 MAC 物 理 层 PHY
作用:
建立新网络, 保证数据的传 输。对数据进 行加密,保证 数据的完整性
10
作用:
应用支持层根据 服务和需求使多 个器件之间进行 通信。
应用层主要根据 具体应用由用户 开发。
.
ZigBee含义
2020/5/28
❖ ZigBee三种含义:
这三种含义是三位一体的关系,联盟是协议和技术的主要开发者;协议犹如社会 法律、交通的规则,联盟和技术都要遵守;技术是联盟的和协议的载体和具体表现。 总而言之:三者是一个整体的三个方面。 ❖ 1. ZigBee联盟 ❖ ZigBee联盟2002年成立,现超过300多个成员单位。 ❖ 联盟使命:为可靠,低价、低功率无线联网的监控产品建立开放的全球标准。 ❖ 联盟目标:通过给日常设备注入无线能力和智能,简化使用,极大的提供灵活性和移 动性。 ❖ 联盟工作:(1)制定网络层、安全和应用层标准(网络七层OSI模型要熟记) ❖ (2)提供互操作和兼容性测试规范 ❖ (3)推广ZigBee品牌,提升市场感知度 ❖ (4)技术演进
❖ 纵观目前发展较成熟的无线通信技术,这些技术比较复杂, 耗费资源多,成本较高,并不适用于短距离无线通信的场 合。1999年蓝牙技术走向应用,但因芯片价格高,功耗高, 协议较复杂,厂商支持力度不够,传输距离限制以及抗干 扰能力差等特点而发展缓慢,蓝牙技术不适用于要求低成 本、低功耗的工业控制和家庭网络。低功耗、低成本的无 线网络需求促使ZigBee应运而生。
最新ZigBee基础知识概要课件PPT
❖ 时延短:ZigBee的响应速度较快,一般从睡眠状态转入工作状态只需15ms, 节点连接进入网络只需要30ms。相对而言,蓝牙需要3~10s,WiFi需要3s。这 样一方面节省了能量消耗,另一方面更适用于对时延敏感的场合,例如一些 应用在工业上的传感器就需要以毫秒的速度获取信息,以及安装在厨房内的 烟雾探测器也需要在尽量短的时间内获取信息并传输给网络控制者,从而阻 止火灾的发生。
ZigBee基础知识概要
Contents
1
ZigBee简介
2
ZigBee发展历史
3
ZigBee介绍
4
ZigBee技术应用案例
5
ZigBee小结Βιβλιοθήκη 22021/3/8
ZigBee简介
2021/3/8
❖ ZigBee这个字源于蜜蜂群发现食物源的时候,通 过跳“之”字形的舞蹈(Zig舞)在同伴中传递信 息,以到达彼此沟通讯息的目的,故以此做新一 代无线通讯技术的命名。
作用:
建立新网络, 保证数据的传 输。对数据进 行加密,保证 数据的完整性
10
作用:
应用支持层根据 服务和需求使多 个器件之间进行 通信。
应用层主要根据 具体应用由用户 开发。
ZigBee含义
2021/3/8
❖ ZigBee三种含义:
这三种含义是三位一体的关系,联盟是协议和技术的主要开发者;协议犹如社会 法律、交通的规则,联盟和技术都要遵守;技术是联盟的和协议的载体和具体表现。 总而言之:三者是一个整体的三个方面。 ❖ 1. ZigBee联盟 ❖ ZigBee联盟2002年成立,现超过300多个成员单位。 ❖ 联盟使命:为可靠,低价、低功率无线联网的监控产品建立开放的全球标准。 ❖ 联盟目标:通过给日常设备注入无线能力和智能,简化使用,极大的提供灵活性和移 动性。 ❖ 联盟工作:(1)制定网络层、安全和应用层标准(网络七层OSI模型要熟记) ❖ (2)提供互操作和兼容性测试规范 ❖ (3)推广ZigBee品牌,提升市场感知度 ❖ (4)技术演进
zigbee入门经典
学习ZigBee入门-12010-07-17 01:49/blog/static/270501072009102891235587/申明:学习zigbee入门,参考了零基础学zigbee文档资料等。
Zstack 情况:采用 TI 的 Zstack1.4.3 协议, IAR7.30B版本第一步:安装 Zstack从 TI 官方网站上下载的 Zstack 为:swrc072c.zip,我想这个压缩包大家都认识。
解压之后为:ZStack- CC2430-1.4.3.exe 文件。
这个安装文件大家都会了。
默认安装路径为:C:\Texas Instruments\ZStack-1.4.3。
安装之后在 C:\Texas Instruments\ZStack-1.4.3 目录下有各 PDF 文档为:Getting StartedGuideCC2430.pdf,不用多说,这个肯定是要看的。
既然把它放到这么前面,说明它是入门中的入门文档。
下面就简单介绍下这个文档(注意哦,结合了我的开发套件): 1、介绍了安装 ZStack-CC2430-1.4.3.exe 需要的硬件软件条件:需要电脑、操作系统为 Windows 2000 或 Windows XP。
至于更高或更低版本的本人没有尝试。
2、讲了安装流程。
这个有点多余了,这年月哪个有电脑的没有安装上百上千次的软件啊?但是需要强调的是安装路径----默认就好!3、接下来就是让我们看的第一个文档为:Start->Programs->Texas Instruments->ZStack-1.4.3->Z-Stack User’s Guide,第二步:Z-Stack 用户指导这个文档的更新时间为:2007 年 12 月 21 日----应该还是比较新的版本。
由于本人英文的却有限,就不翻译了,浏览一遍,把大概意思说下就可以了:1、介绍1.1、适用范围本文档适用于 CC2430开发板(具体的板子不同也会有差别)2、产品包描述2.1、安装包内容这个就是上面提到的的 ZStack-CC2430-1.4.3.exe 安装之后的所有内容了。
zigbee学习之-入门
zigbee学习之--入门一、基础定义及知识。
1、何为ZigBee,与普通的RF技术有何区别?ZigBee是一种具有低成本低复杂度低功耗的小范围低速率的无线传输技术。
相对于普通的RF技术,其重要的特点是;(1) 低功耗,速率低数据量少。
、(2)自组织网络,可适应网络拓扑结构动态变化。
(3)高可扩充,在有协调器加入的情况下,最高可达65535个ZigBee节点。
2、何为IEEE 802.15.4,其特点。
是ZigBee无限传感器网络通信标准,具有短距离(10m),低功耗,低速率,低成本的特点,支持单跳星形(10m内)和多跳对等(>10m)两种网络拓扑。
3、何为Z-Stack?Z-Stack是TI公司开发的ZigBee协议栈,并且经过了ZigBee联盟的认可而为全球众多开发商所广泛采用。
Z-Stack实际上是帮助程序员方便开发ZigBee的一套系统,它采用轮转查询式操作系统,包括两个主要流程(如图):系统初始化和执行操作系统。
系统初始化完成后,就进入执行操作系统,并且在其中是一个死循环。
执行操作系统中主函数即为轮询式操作系统的主体部分,也是我们需要重点开发、调用、掌握的部分。
欲知其详,且听下文分解。
有关第一部分的题外话,笔者在学习的时候,还是详细看了ZigBee概述和IEEE 802.15.4通信标准的,不过事后发现,如果只是想达到能调用Z-Stack中的函数进行简单的程序编写,尤其像我们这样为了比赛而准备的短期突击学习来说,并没有太大必要去详细了解这些标准,不过看了这些标准之后,的确会对后面的学习有些帮助。
另,为了能看懂一些Z-Stack资料,需要知道很多的名词定义和缩写,这部分我就放在了第四章,如果有看不懂的地方,可以先跳到第四章查询。
二、开发Z-Stack须知。
1、ZigBee的体系,数据及管理的方式和方向。
ZigBee网络构架。
上图是ZigBee协议的体系结构。
上图是zigbee网络构架。
ZigBee基础知识讲解
1.2.2应用层消息类型 在ZigBee应用中,应用框架(AF)提供了两种标准服务类型。一种是键值对 (Key Value Pair, KVP)服务类型,一种是报文(Message, MSG)服务类型。 KVP服务用于传输规范所定义的特殊数据。它定义了属性(Attribute)、属性 值(Value)以及用于KVP操作的命令:Set, Get, Event。其中Set用于设置一个属性 值,Get用于获取一个属性的值,Event用于通知一个属性已经发生改变。kVP 消息主要用于传输一些较为简单的变量格式。 由于ZigBee的很多应用领域中的消息较为复杂并不适用于KVP格式,因此 ZigBee协议规范定义了MSG服务类型。MSG服务对数据格式不作要求,适合 任何格式的数据传输。因此可以用于传送数据量大的消息。 KVP命令帧的格式如图1-2-2。
MSG命令帧格式如图1-2-3所示:
1.2.3ZigBee设备配置层 ZigBee设备配置层提供标准的ZigBee配置服务,它定义和处理描述符请求。在 ZigBee设备配置层中定义了称为ZigBee设备对象(ZigBee device object,ZDO)的 特殊软件对象,它在其他服务中提供绑定服务。远程设备可以通过ZigBee设备 对象(ZDO)接口请求任何标准的描述符信息。当接受到这些请求时,ZDO会 调用配置对象以获取相应的描述符值。子目前的ZigBee协议栈版本中,还没有 完全实现设备配置层。ZDO是特殊的应用对象,它在端点(end-point)0上实 现。 1.2.4用户程序 运行在ZigBee协议栈上的应用程序实际上就是厂商自定义的应用对象。这些应用 程序使用ZigBee联盟给出的并且批准的规范(profile)进行开发并且运行在端 点1-240上。
APSDEME提供的管理服务允许一个应用连接到ZigBee系统。他提供吧基于服务的需求相匹 配的两个设备作为一个整体来进行管理的绑定服务,并为绑定服务构建 和保留绑定表,除 这些外,APSDE 还提供以下服务 (1)AIB 管理:APSME具有能从设备的AIB中获得属性或进行属性设置的能力。 (2)安全管理:APSME通过利用密钥能够与其他设备监理可靠的关联。 APS子层主要提供ZigBee端点接口。应用程序将使用该层打开或关闭一个或多个端点并且读 取后或传送数据,而且APS子层为键值对(key value pair,KVP) 和报文(MGS)数据传输提供了原语。APS子层也有绑定表,绑定表提供了端点和网络中两 个节点间的簇ID对之间的逻辑链路。当首次对主设备编程时绑定表为空,主应用程序必须 调用正确的绑定API来创建新的绑定项。 APS子层还有一个“间接发送缓冲器”RAM,来存储间接帧。直到目的接受者请求 这些数据帧为止。根据ZigBee规范,在星形网络中,从设备总会将这些数据帧转发到主设 备中。从设备可能不知道该数据帧的目标接受者,而且数据帧的实际接受者由绑定表决定, 这样,如果主设备一旦接收到数据帧,它就会查找绑定表以确定目标接受者。如果该数据 帧由接受者,就会将该数据帧存储在间接发送帧缓冲器里,直到目标接受者明确请求该数 据帧为止。根据请求的频率,主设备必须将数据帧保存在间接帧缓冲器内。在此需要注意 的是:节点请求数据越长,数据包需要保存在间接发送帧缓冲器里的时间也越长,因此所 需要的间接缓冲空间也就越大。间接帧缓冲器包含一个设计时分配的固定大小的RAM堆, 可通过动态分配间接发送帧缓冲器的RAM来添加新的数据帧,动态存储管理可充分利用间 接发送帧缓冲空间。
网蜂 Zigbee开发套件使用教程
Zigbee 开发套件使用教程一、WeBee Zigbee开发板介绍欢迎你关注WeBee团队研发的第一代Zigbee学习套件,同时恭喜你迈出了学习Zigbee的第一步。
慢慢地你将会体会到Zigbee无线传感网的巨大魅力!为了能让想入门的爱好者从最基本最简单的内容开始学起,我们的学习板上配备了基本的资源如:LED流水灯,按键,串口等资源。
使用低压降稳压芯片能极大降低功耗,搭配上3.7V的7号锂电池便能变身成为迷你耐用的Zigbee监测结点,真正达到学习应用双重功能。
配套的学习教程分三步走:1、基础实验 2、组网实验 3、项目实践,电子书名为《ZigBee实战演练》。
由蜂网团队倾力打造。
我们承诺教程和代码完全开源,并坚持不断更新,通过学习,你完全可以自己设计作品了!本学习板具有以下特点:·板上资源接口丰富,国产式设计,更适合国人使用。
·采用基础板和核心模块组合设计。
便于更换带PA的模块,发射距离更远。
·板载USB转串口电路,方便笔记本以及没有串口的电脑用户·引出所有IO口,方便用户添加自己的传感器或者模块。
下面是套件各个产品的使用说明。
一、CC2530 核心板普通模块带PA模块IO口效果图二、底板功能特点:底板尺寸:7 * 5 cm串口通讯:自带USB转串口功能(PL-2303),方便笔记本用户供电方式:方口USB、DC2.1电源座(5V)。
7号锂电池(3.7V)功能接口: Debug接口,兼容TI标准仿真工具,引出所有IO口,常用的串口引脚以及5V/3.3V引脚功能按键:1个复位,1个普通按键LED指示灯:电源指示灯、组网指示灯和普通LED模块支持:支持WeBee CC2530核心板,CC2530+PA(cc2591)核心板。
!注意:当使用7号锂电池(3.7V)时,不能使用方口USB供电,但能使用DC2.1接口供电。
三、CC DEBUGGER 仿真器使用说明1.第一次插入WeBee仿真器,提示安装驱动。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Figure . The Flow Chart of OSAL Scheduler
OSAL任务
OSAL是协议栈的核心,Z-stack的任何一个子系统都作为OSAL的一个任务,因此在开发应用层的时候,必须通过创建OSAL任务来运行应用程序。通过osalInitTasks( )函数创建OSAL任务,其中TaskID为每个任务的唯一标识号。任何OSAL任务必须分为两步:一是进行任务初始化;二是处理任务事件。任务初始化主要步骤如下:
每个Zigbee网络节点(FFD和RFD)可以可支持多到31个的传感器和受控设备,每一个传感器和受控设备终可以有8种不同的接口方式。可以采集和传输数字量和模拟量。
Zigbee技术的应用领域:
Zigbee技术的目标就是针对工业,家庭自动化,遥测遥控,汽车自动化、农业自动化和医疗护理等,例如灯光自动化控制,传感器的无线数据采集和监控,油田,电力,矿山和物流管理等应用领域。另外它还可以对局部区域内移动目标例如城市中的车辆进行定位。(成都西谷曙光数字技术公司的专利技术)。
8.使用现存移动网络进行低数据量传输的遥测遥控系统。
9.使用GPS效果差,或成本太高的局部区域移动目标的定位应用。
Zigbee技术的特点:
省电:两节五号电池支持长达6个月到2年左右的使用时间可靠:采用了碰撞避免机制,同时为需要固定带宽的通信业务预留了专用时隙,避免了发送数据时的竞争和冲突;节点模块之间具有自动动态组网的功能,信息在整个Zigbee网络中通过自动路由的方式进行传输,从而保证了信息传输的可靠性、时延短:针对时延敏感的应用做了优化,通信时延和从休眠状态激活的时延都非常短。
第一步:复制GenericApp文件夹修改文件名为HawsnAppCoor。
第二步:再打开source文件夹,修改三个应用源文件的文件名。分别改成HawsnAppCoor.c HawsnAppCoor.h OSAL_HawsnAppCoor.c分别是应用C文件,头文件,和操作系统接口文件。然后用记事本打开,把GenericApp全部替换成HawsnAppCoor。
step by step create a new z-stackl project
根据ti提供的资料,我们可以复制一个工程作为模板,然后,改名这样就生成了一个新的工程。
如果要用到串口收发数据的话,就选用SerialApp做模板,如果不需要使用到串口的话,就是用GenericApp做模板。
在这里,我选择复制GenericApp做模板。
先说点zigbee的基础知识
Zigbee:全新无线网络数据通信技术
Zigbee技术是随着工业自动化对于无线通信和数据传输的需求而产生的,Zigbee网络省电、可靠、成本低、容量大、安全,可广泛应用于各种自动控制领域。
Zigbee的由来:
在蓝牙技术的使用过程中,人们发现蓝牙技术尽管有许多优点,但仍存在许多缺陷。对工业,家庭自动化控制和遥测遥控领域而言,蓝牙技术显得太复杂,功耗大,距离近,组网规模太小等,......而工业自动化对无线通信的需求越来越强烈。正因此,经过人们长期努力,Zigbee协议在2003年中通过后,于2004正式问世了。
不同的是,Zigbee网络主要是为自动化控制数据传输而建立,而移动通信网主要是为语音通信而建立;每个移动基站价值一般都在百万元人民币以上,而每个Zigbee"基站"却不到1000元人民币;每个Zigbee网络节点不仅本身可以与监控对对象,例如传感器连接直接进行数据采集和监控,它还可以自动中转别的网络节点传过来的数据资料;除此之外,每一个Zigbee网络节点(FFD)还可在自己信号覆盖的范围内,和多个不承担网络信息中转任务的孤立的子节点(RFD)无线连接。
硬件初始化需要根据HAL文件夹中的hal_board_cfg.h文件配置寄存器8051的寄存器。TI官方发布Z-stack的配置针对的是TI官方的开发板CC2430DB、CC2430EMK等,如采用其他开发板,则需根据原理图设计改变hal_board_cfg.h文件配置,例如本方案制作的实验板与TI官方的I/O口配置略有不同,其中状态指示LED2的需要重新设置LED2控制引脚口、通用I/O口方向和控制函数定义等。
图ZigBee节点开发环境
TI的Z-Stack装载在一个基于IAR开发环境的工程里。强大的IAR Embedded Workbench除了提供编译下载功能外,还可以结合编程器进行单步跟踪调试和监测片上寄存器、Flash数据等。Z-Stack根据IEEE 802. 15.4和ZigBee标准分为以下几层:API(Application Programming Interface),HAL(Hardware Abstract Layer),MAC(Media Access Control),NWK(Zigbee Network Layer),OSAL(Operating System Abstract System),Security,Service,ZDO(Zigbee Device Objects)。使用IAR打开工程文件SampleApp.eww后,即可查看到整个协议栈从HAL层到APP层的文件夹分布。该协议栈可以实现复杂的网络链接,在协调器节点中实现对路由表和绑定表的非易失性存储,因此网络具有一定的记忆功能。
当顺利完成上述初始化时,执行osal_start_system( )函数开始运行OSAL系统。该任务调度函数按照优先级检测各个任务是否就绪。如果存在就绪的任务则调用tasksArr[ ]中相对应的任务处理函数去处理该事件,直到执行完所有就绪的任务。如果任务列表中没有就绪的任务,则可以使处理器进入睡眠状态实现低功耗。程序流程如图3-13所示。osal_start_system( )一旦执行,则不再返回Main( )函数。
(5)处理任务事件
处理任务事件通过创建“ApplicationName”_ProcessEvent( )函数处理。一个OSAL任务除了强制事件(Mandatory Events)之外还可以定义15个事件。
SYS_EVENT_MSG(0x8000)是强制事件。该事件主要用来发送全局的系统信息,包括以下信息:
第三步:打开2430DB文件夹,修改工程名修改三个后缀为ewd,ewp,eww的文件名。然后用记事本打开,把GenericApp全部替换成HawsnAppCoor。
然后,再双击HawsnAppCoor.eww,重新编译一下就成功建立了一个新的工程模板
【转】TI Z-stack协议栈开发环境和工作流程
(1)初始化应用服务变量。
const pTaskEventHandlerFn tasksArr[ ]数组定义系统供的应用服务和用户服务变量,如MAC层服务macEventLoop、用户服务SampleApp_ProcessEvent等
(2)分配任务ID和分配堆栈内存
void osalInitTasks( void )主要功能是通过调用osal_mem_alloc( )函数给各个任务分配内存空间,和给各个已定义任务指定唯一的标识号。
Z-Stack采用操作系统的思想来构建,采用事件轮循机制,当各层初始化之后,系统进入低功耗模式,当事件发生时,唤醒系统,开始进入中断处理事件,结束后继续进入低功耗模式。如果同时有几个事件发生,判断优先级,逐次处理事件。这种软件构架可以极大地降级系统的功耗。
整个Z-stack的主要工作流程,大致分为系统启动,驱动初始化,OSAL初始化和启动,进入任务轮循几个阶段,下面将逐一详细分析。
图Z-Stack系统运行流程图
Figure . The Flow Chart of Z-Stack
系统初始化
系统上电后,通过执行ZMain文件夹中ZMain.c的ZSEG int main( )函数实现硬件的初始化,其中包括关总中断osal_int_disable( INTS_ALL )、初始化板上硬件设置HAL_BOARD_INIT( )、初始化I/O口InitBoard( OB_COLD )、初始化HAL层驱动HalDriverInit( )、初始化非易失性存储器sal_nv_init( NULL )、初始化MAC层ZMacInit( )、分配64位地址zmain_ext_addr( )、初始化操作系统osal_init_system( )等。
网络容量大:可支持达65000个节点。
安全:ZigBee提供了数据完整性检查和鉴权功能,加密算法采用通用的AES-128。
高保密性:64位出厂编号和支持AES-128加密
Zigbee的发展前景:
Zigbee技术和RFID技术在2004年就被列为当今世界发展最快,市场前景最广阔的十大最新igbee",你就会看到大量的有关报道。总之,今后若干年,都将是Zigbee技术飞速发展的时期。
AF_INCOMING_MSG_CMD:用来指示接收到的AF信息。
KEY_ CHANGE:用来确认按键动作。
ZDO_ NEW_ DSTADDR:用来指示自动匹配请求。
ZDO_STATE_CHANGE:用来指示网络状态的变化。
网络层信息
Zigbee设备有两种网络地址:1个是64位的IEEE地址,通常也叫作MAC地址或者扩展地址(Extended address),另一个是16位的网络地址,也叫做逻辑地址(Logical address)或者短地址。64位长地址是全球唯一的地址,并且终身分配给设备。这个地址可由制造商设定或者在安装的时候设置,是由IEEE来提供。当设备加入Zigbee网络被分配一个短地址,在其所在的网络中是唯一的。这个地址主要用来在网络中辨识设备,传递信息等。
By KuangJunBin
系统软件设计是在硬件设计的基础上进行的,良好的软件设计是实现系统功能的重要环节,也是提高系统性能的关键所在。节点设计基于通用性及便于开发的考虑,移植了TI公司的Z-Stack协议栈,其主要特点就是其兼容性,完全支持IEEE 802. 15. 4/ZigBee的CC2430片上系统解决方案。Z-Stack还支持丰富的新特性,如无线下载,可通过ZigBee网状网络(Mesh Network)下载节点更新。