Zigbee学习
(一)Zigbee简介和开发环境快速建立(IAR)
1.我不是很清楚控制链条,对于Zigbee不是太清楚
答案:CC2530 芯片上集成了 8051 内核(增强型)
2.性能特点:低速率远距离,这造就了 Zigbee 低功耗信息传输的优势,网上经常谈到两节普通
的 5 号干电池可以使用6 个月到 2 年的时间,免去充电和更换电池的麻烦。
3. 节点所属类别:
①:协调器(Coodinator)②:路由器(Router)③:终端(End Device)
同一网络中至少需要一个协调器,也只能有 1 个协调器,负责
各个节点 16 位地址分配(自动分配)。理论上可以连上 65536 个节点
4.开发环境:IAR
还有个TI协议栈,(ZStack-CC2530-2.5.1a)后面再说什么用
5.仿真器:SRF04EB(驱动自动识别)
6.串口驱动
7.IAR工程文件的快速建立
(二)基础实验(CC2530)
1.基本端口设置

P1SEL (0:普通 IO 口 1:第二功能)
P1DIR (0:输入 1:输出 )
P1INP (0:上拉/下拉 1:三态 )
按照表格寄存器内容,我们对 LED1,也就是 P1_0 口进行配置,当 P1_0 输
出低电平时 LED1 被点亮。所以配置如下:
P1SEL &=~0x01; //作为普通 IO 口
P1DIR |= 0x01; //P1_0 定义为输出
P1INP &=~0X01; //打开上拉
由于 CC2530 寄存器初始化时默认是:
P1SEL =0x00;
P1DIR =0x00;
P1INP =0X00;
2.外部中断
3.
定时器T1(查询方式)
定时器T3(中断方式)
4.串口通信
UART0 对应的外部设备 IO 引脚关系为:
P0_2------RX
P0_3------TX
UART1 对应的外部设备 IO 引脚关系为:
P0_5------RX
P0_4------TX
5.AD控制
6.睡眠唤醒
7.看门狗
8.LCD12864液晶显示
(三)组网演练(zigbee)
什么是 ZigBee协议栈呢?它和 ZigBee 协议有什么关系呢?
通俗点来理解就是协议栈是协议和用户之间的一个接口,开发人员通过使用协议栈来使用这个协议的,进而实现无
线数据收发。
ZigBee无线网络协议层的架构图:

ZigBee的协议分为两部分
IEEE 802.15.4 定义了PHY(物理层)和 MAC(介质访问层)技术规范;
ZigBee联盟定义了 NWK(网络层)、APS(应用程序支持子层)、APL(应用层)技术规范。
ZigBee 协议栈就是将各个层定义的协议都集合在一起,以函数的形式实现,并
给用户提供 API(应用层),用户可以直接调用。
来个小总结: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 (接收信号强度指示)
.
.
.
(四)协议栈工作原理介绍
简图:

Zigbee学习的更多相关文章
- zigbee学习:示例程序SampleApp中按键工作流程
zigbee学习:示例程序SampleApp中按键工作流程 本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 环境: 主机:WIN7 开发环境:IAR8. ...
- zigbee学习:示例程序SampleApp中通讯流程
zigbee学习:示例程序SampleApp中通讯流程 本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 参考链接: http://wjf88223.bl ...
- ZigBee学习五 无线温度检测
ZigBee学习五 无线温度检测 1)修改公用头文件GenericApp.h typedef union h{ uint8 TEMP[4]; struct RFRXBUF { unsigned cha ...
- ZigBee学习四 无线+UART通信
ZigBee学习四 无线+UART通信 1) 协调器编程 修改coordinator.c文件 byte GenericApp_TransID; // This is the unique messag ...
- ZigBee学习三 UART通信
ZigBee学习三 UART通信 在使用串口时,只需掌握ZigBee协议栈提供的串口操作相关的三个函数即可. uint8 HalUARTOpen(uint8 port,halUARTCfg_t *co ...
- ZigBee学习二 LED点对点通信
ZigBee学习二 LED点对点通信 终端上电后,自动连接协调器进行组网,成功后,开始发送LED字符数据.当协调器接收到数据后,终端和协调器的LED1都开始闪烁. 工程搭建和文件添加 步骤这里就省了. ...
- ZigBee学习一 任务处理函数_ProcessEvent
ZigBee学习一 任务处理函数_ProcessEvent //任务处理函数UINT16 GenericApp_ProcessEvent( byte task_id, UINT16 events ){ ...
- zigbee学习之路(十五):基于协议栈的按键实验
一.前言 经过上次的学习,相信大家已经初步学会使用zigbee协议进行发送和接受数据了.今天,我们要进行的实验是按键的实验,学会如何在协议栈里实现按键中断. 二.实验功能 在协议栈上实现按键中断,BU ...
- zigbee学习之路(十三):基于协议栈的Usart 实验
一.前言 这次实验我们来学习基于zigbee的串口通信实验,揭开zigbee神秘的面纱,让大家可以用zigbee协议编制属于自己的程序,这次实验只是串口发送数据,并没有进行无线的数据传输,为的是使大家 ...
- zigbee学习之路(十二):zigbee协议原理介绍
一.前言 从今天开始,我们要正式开始进行zigbee相关的通信实验了,我所使用的协议栈是ZStack 是TI ZStack-CC2530-2.3.0-1.4.0版本,大家也可以从TI的官网上直接下载T ...
随机推荐
- CCCC L2-007. 家庭房产 建图 XJB模拟
https://www.patest.cn/contests/gplt/L2-007 题解:一开始是想直接并查集,一个家就是一个集合,对每个集合维护一个人数num1一个房产数num2 一个房产面积ar ...
- CentOS 7 安装. Net Core SDK 2.0
1.安装.Net Core SDK 2.0 1)首先准备好先决条件 sudo yum install libunwind libicu(安装libicu依赖) 2)下载.net Core SDK二进制 ...
- 学习计划 mysql 主从复制
网上资料繁多,需要跳多少坑才能实现,跳跳就知道了. -- 主从复制 如题:主数据库进行的操作,从数据库进行备份. -- 原理 有关于这方面的原理网上也是一搜一大片,去看看吧.肯定没错. 这里简单说一下 ...
- Linux 线程实现机制分析 Linux 线程模型的比较:LinuxThreads 和 NPTL
Linux 线程实现机制分析 Linux 线程实现机制分析 Linux 线程模型的比较:LinuxThreads 和 NPTL http://www.ibm.com/developerworks/c ...
- 使用tagName定位报错
使用标签进行定位元素,页面报错,由于input标签不唯一,webdriver默认会取第一个元素,但是第一个input元素的类型是‘hidden’,无法展示,因此程序就报错了 如何解决,未完待续...
- 安卓手机上微信无法打开Https网址的完美解决方案
1,第三方网站检测网站的SSL证书是否正确的安装 https://www.geocerts.com/ssl-checker,大概率你会看到下边的场景,一个证书链完整的警告,如果想知道我的基础配置是什么 ...
- [LeetCode] 225. Implement Stack using Queues_Easy tag: Design
Implement the following operations of a stack using queues. push(x) -- Push element x onto stack. po ...
- 微信小程序- wx.request请求不到数据
小程序官方文档手册 https://mp.weixin.qq.com/debug/wxadoc/dev/ 小程序开发问答社区 http://www.henkuai.com/forum.php wx.r ...
- 一个新人对HTML内JavaScript的理解
首先是对于JavaScript(以后简称JS)的定义: ① JS他是一个脚本语言,有点类似于外部插件,需要插入引用才会有效 ② 他需要一个宿主文件,就是他插入到谁里面进行运算,谁就是这个JS的宿主文件 ...
- zw版【转发·台湾nvp系列Delphi例程】HALCON HomMat2dRotate2
zw版[转发·台湾nvp系列Delphi例程]HALCON HomMat2dRotate2 procedure TForm1.Button1Click(Sender: TObject);var op ...