演示视频:https://www.bilibili.com/video/BV1Ew411o7Fp

物联网无线通信技术,ZigBee无线传感网络

CC2530最大的特点就是一个拥有无线收发器(RF)的单片机,既能实现单片机功能,也能实现无线传输

Zstack协议栈是ZigBee协议栈里的翘楚,是ZigBee组网的首选协议栈

项目实现功能:

l  总共有三个端点,一个协调器和两个终端节点

l  终端节点1连接DHT11温湿度传感器,定时上传给协调器

l  终端节点2连接LED,可以通过协调器按键控制,定时上报LED开关状态

l  协调器连接12864 OLED 屏幕,实时显示温湿度和LED状态

l  协调器可以通过按键控制终端2的LED开关,控制后将会显示控制结果

扩展功能(当前未实现,可进一步开发实现):

l  连接协调器串口,将终端节点采集的数据通过串口发送,PC写上位机实现数据展示

l  连接WIFI或者4G模块,WIFI模块如ESP8266,实现数据局域网无线传输或者上传到OneNET、机智云、阿里云、自己开发云服务器等,实现WEB或手机APP显示和控制。

一、项目测试

(可想而知,广州的天气有多热,39℃了都)

演示视频:https://www.bilibili.com/video/BV1Ew411o7Fp

实现功能汇总:

l  总共有三个端点,一个协调器和两个终端节点

l  终端节点1连接DHT11温湿度传感器,定时上传给协调器

l  终端节点2连接LED,可以通过协调器按键控制,定时上报LED开关状态

l  协调器连接12864 OLED 屏幕,实时显示温湿度和LED状态

l  协调器可以通过按键控制终端2的LED开关,控制后将会显示控制结果

(一)  环境汇总

芯片:CC2530F256

Zstack协议栈:ZStack-CC2530-2.5.1a

编程环境:IAR

(二)   引脚分配

协调器:

128*64 OLED 0.96寸屏幕

供电:3.3V

通信协议:IIC

引脚:

SDA P0_6

SCL P0_7

按键:

IO:P0_1

下降沿触发中断

终端1:

DHT11

通信方式:单总线协议

供电:3.3V

IO:P0_6

终端2:

LED

IO:P1_0

说明:高电平点亮,低电平熄灭

二、 基础认识

(一)  CC2530单片机

CC2530最大的特点就是一个拥有无线收发器(RF)的单片机,既能实现单片机功能,也能实现无线传输。

CC2530 结合了领先的RF 收发器的优良性能,业界标准的增强型8051 CPU,系统内可编程闪存,8-KB RAM 和许多其它强大的功能。CC2530 有四种不同的闪存版本:CC2530F32/64/128/256,分别具有32/64/128/256KB 的闪存。CC2530 具有不同的运行模式,使得它尤其适应超低功耗要求的系统。运行模式之间的转换时间短进一步确保了低能源消耗。

CC2530F256 结合了德州仪器的业界领先的黄金单元ZigBee 协议栈(Z-Stack),提供了一个强大和完整的ZigBee 解决方案。

CC2530开发板

方便二次开发,可编程烧录

(1)开发板

(2)网蜂开发板

Zigbee串口透传模块

这是一个特殊功能的模块,其烧写的固件是配置串口做数据透传用的,主要是方便方便简单使用,不可再编程

(二)  ZigBee Zstack协议栈

Zstack协议栈是ZigBee协议栈里的翘楚,是ZigBee组网的首选协议栈

ZigBee其特点是近距离、低复杂度、自组织、低功耗、低数据速率、低成本。ZigBee的技术特性决定它将是无线传感器网络的最好选择,广泛用于物联网,自动控制和监视等诸多领域。

德州仪器公司(TI)编写的ZigBee协议栈源码,起名为zstack。也就是说zstack协议栈是众多ZigBee协议栈中的一种,是由TI公司编写并发布的。Zstack协议栈为开发者提供了ZigBee协议栈的实现的API接口,极其方便了使用。

网络拓扑结构

( 1 )星形拓扑结构

一个协调器多个终端节点,终端节点直接与协调器相连

( 2 ) 树形拓扑结构

一个协调器多个路由器,终端节点与路由器相连,都是一对一连接的

( 3 ) 网状拓扑结构

一个协调器多个路由器,终端节点与路由器相连,路由器可以互相连接

协议栈目录分析

l  APP:应用层目录,这是用户创建各种不同工程的区域,在这个目录中包含了应用层的内容和这个项目的主要内容,在协议栈里面一般是以操作系统的任务实现的。

l  HAL:硬件层目录,包含有与硬件相关的配置和驱动及操作函数。

l  MAC:MAC层目录,包含了MAC层的参数配置文件及其MAC的LIB库的函数接口文件。

l  MT:监控调试层,主要用于调试目的的,即实现通过串口调试各层,与各层进行直接交互。

l  NWK:网络层目录,涵网络层配置参数文件及网络层库的函数接口文件,APS层库的函数接口。

l  OSAL:协议栈的操作系统。

l  Profile:AF层目录,包含AF层处理函数文件。

l  Security:安全层目录,安全层处理函数接口文件,比如加密函数等。

l  Services:地址处理函数目录,包括着地址模式的定义及地址处理函数。

l  Tools:工程配置目录,包括空间划分和Zstack相关的配置信息。

l  ZDO:ZDO目录。

三、 编程

IAR 旧版和新版

(本工程开发使用的是旧版,新版也可用)

项目地址

打开项目

修改协调器或终端

CoordinatorEB 为协调器

EndDeviceEB 为终端

终端节点选择

编译及下载

如果数据交互冲突,可以更改这里,以创建不同的ZigBee网络

四、扩展功能(可进一步开发实现)

l  连接协调器串口,将终端节点采集的数据通过串口发送,PC写上位机实现数据展示

l  连接WIFI或者4G模块,WIFI模块如ESP8266,实现数据局域网无线传输或者上传到OneNET、机智云、阿里云、自己开发云服务器,实现WEB或手机控制

五、 个人导航

【B站 | 东小东bili】 https://space.bilibili.com/162091292

【博客园 | 东小东 】https://www.cnblogs.com/dongxiaodong/

【CSDN | 东小东博客】https://blog.csdn.net/dongxiaodongvip

【微信 | 东小东】dongxiaodongwx

【无线通信篇 | Zstack协议栈】CC2530 Zigbee Zstack协议栈组网项目及详细讲解篇相关推荐

  1. 如何自学python到做项目-如何使用python进行第一个机器学习项目(详细教程篇)...

    你是否想使用python进行机器学习但却难以入门? 在这篇教程中,你将用Python完成你的第一个机器学习项目. 在以下的教程中,你将学到: 1.下载并安装Python SciPy,为Python中的 ...

  2. python怎么使用-如何使用python进行第一个机器学习项目(详细教程篇)

    你是否想使用python进行机器学习但却难以入门? 在这篇教程中,你将用Python完成你的第一个机器学习项目. 在以下的教程中,你将学到: 1.下载并安装Python SciPy,为Python中的 ...

  3. 深度学习核心技术精讲100篇(六十三)-【CNN】一文详细讲解前因后果

    1.对卷积的困惑 以下是我为大家准备的几个精品专栏,喜欢的小伙伴可自行订阅,你的支持就是我不断更新的动力哟! MATLAB-30天带你从入门到精通 MATLAB深入理解高级教程(附源码) tablea ...

  4. 揭开ZigBee 2006协议栈Z-Stack的”开源“面纱

    我们都在说ZigBee 2006协议栈Z-Stack是开源的,但是这个协议栈到底是全部开源的,还是只是开源一部分,让我们来揭开它的"开源"面纱?     Z-Stack是在2007 ...

  5. Zigbee通讯之开发篇(基于TI 的Z-Stack)

    1.Zigbee协议和Z-Stack   Zigbee协议和Z-Stack是什么关系?这可能是初学Zigbee同学想知道的问题.给大家举个例子吧,我们生活中使用的插排是要符合一定的标准的,现在国家标准 ...

  6. CC2530 ZigBee协议栈 学习心得

    最近一直在学习研究cc2530这款单片机,感觉自己的C语言水平还是不够有得提升的空间,但还是有不少收获.    CC2530是一款支持ZigBee无线组网协议的低功耗单片机,cc2530主要的应用场景 ...

  7. CC2530/Zigbee协议栈外部中断配置详解

    CC2530/Zigbee协议栈配置外部中断 一.I/O端口 二.配置寄存器 三.中断处理函数 一.I/O端口 1.在CC2530芯片中,其I/O口用作通用 I/O 时,引脚可以组成 3 个 8 位端 ...

  8. 解决CC2530在zstack中无法进入P0中断的问题

    解决CC2530在zstack中无法进入P0中断的问题 最近使用CC2530控制一个超声波模块,需要使用外部中断P0接收数据,定时器来计时.裸机程序没有问题,移植进入ZSTACK的时候无法进入中断P0 ...

  9. ZigBee Zstack之RSSI信号值获取以及显示

    在zigbee设备建立了连接之后,我们一般在应用中都还是很关心它们之间的通讯信号强度的. 获取以Zstack为基础的zigbee通信设备的信号强度一般来说有两种方式:第一种是通过访问CC2530底层的 ...

最新文章

  1. 如果我要...(研究版)
  2. 如何在C#控件中画点并获得指定点的像素颜色
  3. 【iVX 初级工程师培训教程 10篇文拿证】01 了解 iVX 完成新年贺卡
  4. mybatis里oracle与MySQL的insert_update
  5. WINCE6开机进度条
  6. Windows函数错误处理
  7. 通往奥格瑞玛的道路-二分+最短路
  8. matplotlib 散点图_python之matplotlib 折线图和散点图
  9. 获取mysql存储过程返回值_MySQL函数,存储过程,用户管理
  10. ROS:ModuleNotFoundError: No module named ‘rospkg‘
  11. Redis commands 官方
  12. 远程580解锁bl工具_一年让你多挣4万的工具丨又增VIVO新款保资料解锁!
  13. 如何实现网易公开课的倍速播放?
  14. VRRP的工作原理及运用
  15. JS 实现网页截屏五种方法
  16. 2019年BET公司面试题目大汇总
  17. java.io.FileNotFoundException: /storage/emulated/0/Pictures/QQ/video.mp4: open failed: EACCES (Permi
  18. ANDROID物联网开发从入门到实战附源码
  19. 工作与生活要分离,走出舒适区
  20. 4.EMC整改案案例解析及分析(静电辐射发射)。

热门文章

  1. 微信小程序canvas绘制曲线图表
  2. JS === 简易放大镜
  3. python爬朋友圈数据_利用Python爬取朋友圈数据,爬到你开始怀疑人生
  4. Linux多线程实践(二)线程基本API(POSIX)
  5. Java如何实现的平台无关性的(面试必看)
  6. 哑变量(Dummy Variable)、独热编码(one-hot Encoding)、label-encoding归纳
  7. stata_1_基本操作
  8. 各种manjaro安装问题大全:缺失依赖关系 无法下载 已损坏 签名未知信任 包结构错误
  9. 说说ES10的新特性!
  10. js(es7-es10)特性