萌新的Zigbee学习日记(3.1)组网练习

本文介绍了Zigbee学习中的组网过程,重点讲解了TI的Z-Stack协议栈,包括OSAL、硬件抽象层HAL以及基本RF层的工作原理。用户只需调用API进行应用开发,无需深入协议细节。文中还提到无线通信的基本步骤,如组网、发送和接收,并提醒在处理uint8_t类型变量输出时的注意事项。
摘要由CSDN通过智能技术生成

既然要组网,那么就得熟悉一点计算机网络的知识,不同层之间的应用其实存在透明,只需要对相同层做出改动就可。手中的资料是使用的Z-Stack协议栈。

TI 推出的 ZigBee 2007 协议栈也称 Z-Stack协议栈,Z-Stack 协议栈中提供了一个名为操作系统抽象层 OSAL 的协议栈调度程序。对于用户来说,除了能够看到这个调度程序外,其它任何协议栈操作的具体 实现细节都被封装在库代码中。用户在进行具体的应用开发时只能够通过调用 API 接口来进行,而无权知道 ZigBee 协议栈实现的具体细节,也没必要去知道。可以将它看作是一个大工程,或者是一个操作系统,采用任务轮询的方法运行。

因此ZigBee 协议栈已经实现了 ZigBee 协议,用户可以使用协议 栈提供的 API 进行应用程序的开发,在开发过程中完全不必关心 ZigBee 协议的 具体实现细节,要关心的问题是:应用层的数据是使用哪些函数通过什么方式把 数据发送出去或者把数据接收过来的。所以最重要的是我们要学会使用 ZigBee 协议栈。

用户实现一个简单的无线数据通信时的一般步骤:

1、组网:调用协议栈的组网函数、加入网络函数,实现网络的建立与节点的加 入。

2、发送:发送节点调用协议栈的无线数据发送函数,实现无线数据发送。

3、接收:接收节点调用协议栈的无线数据接收函数,实现无线数据接收。

然后还有一些关键字需要掌握

CCM - Counter with CBC-MAC (mode of operation)

HAL - Hardware Abstraction Layer (硬件抽象层)

PAN - Personal Area Network (个人局域网)

RF - Radio Frequency (射频)

RSSI - Received Signal Strength Indicator (接收信号强度指示)

Hardware layer 放在最底,肯定是你实现数据传输的基础 了。

Hardware Abstraction layer 它提供了一种接口来访问 TIMER,GPIO, UART,ADC 等。这些接口都通过相应的 函数进行实现。

Basic RF layer 为双向无线传输提供一种简单的协议。

Application layer 是用户应用层,它相当于用户使用 Basic RF 层和 HAL 的接口,也就是说我们通过 在 Application layer 就可以使用到封装好的 Basic RF 和 HAL 的函数。

 Basic RF 由 TI 公司提供,它包含了 IEEE 802.15.4 标准的数据包的收发功能但 并没有使用到协议栈,它仅仅是是让两个结点进行简单的通信,也就是说 Basic RF 仅仅是包含着 IEEE 802.15.4 标准的一小部分而已。其主要特点有:

1、不会自动加入协议、也不会自动扫描其他节点也没有组网指示灯(LED3)。

2、没有协议栈里面所说的协调器、路由器或者终端的区分,节点的地位都是相 等的。

3、没有自动重发的功能。

Basic RF layer 为双向无线通信提供了一个简单的协议,通过这个协议能够进 行数据的发送和接收。Basic RF 还提供了安全通信所使用的 CCM-64 身份验证和 数据加密,它的安全性读者可以通过在工程文件里面定义 SECURITY_CCM 在 Project->Option 里面就可以选择。

Basic RF 的工作过程:启动、发射、接收 

启动

1、确保外围器件没有问题

2、创建一个 basicRfCfg_t 的数据结构,并初始化其中的成员,在 basic_rf.h 代码中可以找到


typedef struct {
 uint16 myAddr; //16 位的短地址(就是节点的地址)
 uint16 panId; //节点的 PAN ID
 uint8 channel; //RF 通道(必须在 11-26 之间)
 uint8 ackRequest; //目标确认就置 true
 #ifdef SECURITY_CCM //是否
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值