ZigBee协议栈串口应用
- 格式:ppt
- 大小:1.19 MB
- 文档页数:32
ZIGBEE技术规范与协议栈分析篇一:ZigBee知识无线龙1.协议栈工作流程和无线收发控制 LED 实验内容:1. ZigBee 协议栈简介2. 如何使用 ZigBee 协议栈3. ZigBee 协议栈的安装、编译与下载4. 协议栈无线收发控制 LED5. 协议栈工作流程实现现象:协调器、终端上电,组网成功后 D1 灯闪烁 1. ZigBee 协议栈简介什么是 ZigBee 协议栈呢?它和 ZigBee 协议有什么关系呢?协议是一系列的通信标准,通信双方需要共同按照这一标准进行正常的数据发射和接收。
协议栈是协议的具体实现形式,通俗点来理解就是协议栈是协议和用户之间的一个接口,开发人员通过使用协议栈来使用这个协议的,进而实现无线数据收发。
图 1 展示了 ZigBee 无线网络协议层的架构图。
ZigBee 的协议分为两部分,IEEE 802.15.4 定义了 PHY(物理层)和 MAC(介质访问层)技术规范;ZigBee联盟定义了NWK(网络层)、APS(应用程序支持子层)、APL(应用层)技术规范。
ZigBee协议栈就是将各个层定义的协议都集合在一直,以函数的形式实现,并给用户提供 API(应用层),用户可以直接调用。
图 1 ZigBee 无线网络协议层 2. 如何使用 ZigBee 协议栈协议栈是协议的实现,可以理解为代码,函数库,供上层应用调用,协议较底下的层与应用是相互独立的。
商业化的协议栈就是给你写好了底层的代码,符合协议标准,提供给你一个功能模块给你调用。
你需要关心的就是你的应用逻辑,数据从哪里到哪里,怎么存储,处理;还有系统里的设备之间的通信顺序什么的,当你的应用需要数据通信时,调用组网函数给你组建你想要的网络;当你想从一个设备发数据到另一个设备时,调用无线数据发送函数;当然,接收端就调用接收函数;当你的设备没事干的时候,你就调用睡眠函数;要干活的时候就调用唤醒函数。
所以当你做具体应用时,不需要关心协议栈是怎么写的,里面的每条代码是什么意思。
ZigBee之Z-Stack协议栈MT层串口应用By:Timeandspace7Date:20171029 At:YSU-B3071.包含头文件#include“MT_UART.h”,2.在用户的init函数中添加MT_UartInit ();MT_UartRegisterTaskID(task_id); //注册串口任务任务注意:在MT_UartInit ()函数中,可以修改串口的波特率,uartConfig.baudRate = MT_UART_DEFAULT_BAUDRATE;,即修改#define MT_UART_DEFAULT_BAUDRATE HAL_UART_BR_38400重要:uartConfig.flowControl = MT_UART_DEFAULT_OVERFLOW语句是配置流控的,我们进入定义可以看到:#define MT_UART_DEFAULT_OVERFLOW TRUE默认是打开串口流控的,如果你是只连了TX/RX 2 根线的方式务必关流控,注意:2 根线的通讯连接一定要关流控,不然是永远收发不了信息的,现在大部产品很少用流控。
也即:将宏定义修改为#define MT_UART_DEFAULT_OVERFLOW FALSE极其重要:在项目配置选项卡中预编译处加入以下一些内容ZIGBEEPROZTOOL_P1xMT_TASKxMT_SYS_FUNCxMT_ZDO_FUNCLCD_SUPPORTED=DEBUG也即是将原来的ZIGBEEPROZTOOL_P1MT_TASKMT_SYS_FUNCMT_ZDO_FUNCLCD_SUPPORTED=DEBUG分别MT_TASK,MT_SYS_FUNC,MT_ZDO_FUNC加上x。
事实上真正的宏是MT_TASK,MT_SYS_FUNC,T_ZDO_FUNC,加x 表示不定义它们了,如果去掉上面的x,编译后下载看串口会在你想输出的数据“xxxxx”前面出现一段乱码,如果用16 进制则会显示为FE 开头的字符串,这是Z-stack MT 层定义的串口发送格式。
zigbee,协议栈,串口篇一:ZigBee简易串口透传第十六讲ZigBee串口透传一、串口透明传输工程说明串口透明传输工程是在SampleApp工程基础之上进行修改而成,主要功能是完成简单的串口透明传输,功能要求:1、设备上电后自动选择设备类型。
第一个启动的设备为协调器,后续启动的为路由器。
(所有设备中程序相同)2、路由器的232串口接收到数据后将数据以单播的形式发送到协调器。
当路由器接收到来自空中的数据包将数据写入232串口。
3、协调器的232串口接收到数据后将数据以广播的形式发送到网络中所有的设备。
当协调器接收到来自空中的数据包将数据写入232串口。
图X 串口透明传输应用二、编译选项说明串口透明传输工程在SampleApp工程基础之上进行修改,但是编译选项使用原SampleApp工程的编译选项,SampleApp工程编译选项具体如下:CC2430EB、ZTOOL_P1、MT_TASK、SOFT_ST ART 通过编译选项ZTOOL_P1编译选项SOFT_START。
三、工程初始化与事件处理函数串口透明传输工程来源于对SampleApp工程的修改,工程初始化函数与SampleApp工程的初始化函数完全相同,读者可以参见前面章节。
串口透明传输工程事件处理函数在SampleApp工程事件处理函数的基础之上添加了对事件UART_RX_CB_EVT的处理,具体代码如下。
程序代码:uint16 SampleApp_ProcessEvent( uint8 task_id, uint16 events ){if ( events &amP1说明原SampleApp工程默认使用Z-T ool,我们这里对其修改,将其在串口初始化中的回调函数函数进行修改。
程序代码:void SPIMgr_Init () { …… #if defined (ZTOOL_P1) || defined (ZTOOL_P2)uartConfig.callBackFunc= rxCB; …… } 相应我们在SPIMgr.c文件中添加该回调函数rxCB( uint8 port, uint8 event ),具体代码如下。
Zigbee技术简介及应用摘要二十一世纪初,信息技术的迅猛发展使人们的生活水平和工作效率极大地提高。
近距离内各种设备的无线通讯成为一个研究热点。
目前也有着几种发展比较成熟的无线通讯技术。
本文介绍的是目前一种比较流行的短距离无线通讯接入技术——Zigbee。
这种技术将使短距离无线通讯技术广泛地应用于生产生活中成为可能。
介绍完该技术后,通过特定的一个例子SampleApp工程对该技术进行进一步说明,该例子是现的功能是:A、B两个节点,当按下A(或B)节点的按键1时,点亮或熄灭B(或A)节点的LED1灯。
关键词:Zigbee技术;无线通讯技术1 Zigbee技术概述及其特征1.1 Zigbee技术概述ZigBee的名称源于蜜蜂的舞蹈,蜜蜂通过跳ZigZag形状的舞蹈交换各种信息。
故将新一代无线通信技术命名为ZigBee。
ZigBee过去又称为"HomeRF Lite"、"RF-EasyLink"或"FireFly"无线电技术,目前统称为ZigBee技术。
ZigBee是在2004年底才由Zigbee联盟正式发布的一种无线传输协议。
2006年12月,该联盟正式推出Zigbee的升级规范——Zigbee2006,也称为“增强型”Zigbee。
Zigbee技术是一种可以实现短距离内双向无线通讯的技术。
Zigbee技术以其复杂程度低、能耗低、成本低取胜于其余的短距离无线通讯技术。
其主要应用于短距离内,传输速度要求不高的电子通讯设备之间的数据传输和典型的有周期性、间歇性和地反应时间的数据的传输。
Zigbee是IEEE802.15.4技术的商业名称,该技术的核心由其制定。
能够在三个不同的频段上通讯。
全球通用的频段是2.4-2.484GHz,欧洲采用的频段是868.0-868.66MHz,美国采用的频段是902-928MHz。
该技术的高层应用和市场推广由Zigbee联盟负责。