演示视频: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

【无线通信篇01 | Zstack协议栈】CC2530 Zigbee Zstack协议栈组网项目及详细讲解篇的更多相关文章

  1. 【Java经验分享篇01】小白如何开始学会看开源项目?

    目录 前言 1.理解开源 1.1.什么是开源? 1.2.开源的定义 1.2.1.开源软件优点 1.2.2.经典开源软件案例 1.3.关于开源协议 1.3.1.如何选择开源协议 2.如何查找开源项目 2 ...

  2. WS2812B彩灯详细讲解篇(STM32 PWM+DMA控制 STM32 HAL库编程 循环延时控制多种控制方式)

    一.效果展示 观看演示效果:https://www.bilibili.com/video/BV1JT4y1P72Q 二. 基础认识 (一)  小理论 WS2812B是一种智能控制LED光源,将控制电路 ...

  3. BitAdminCore框架应用篇:(一)使用Cookiecutter创建应用项目

      框架演示:http://bit.bitdao.cn 框架源码:https://github.com/chenyinxin/cookiecutter-bitadmin-core 一.简介 1.Coo ...

  4. 转: ZigBee/Z-Stack CC2530实现低功耗运行的配置简介

    转: ZigBee/Z-Stack CC2530实现低功耗运行的配置简介http://bbs.elecfans.com/jishu_914377_1_1.html(出处: 中国电子技术论坛) 设备支持 ...

  5. QT学习日记篇01(1)-QT界面初探- *.pro文件详解

    一: 项目管理文件(.pro文件) 项目管理文件用于记录项目的一些设置,以及项目包含文件的组织管理 后缀为".pro"的 文件是项目的管理文件,文件名就是项目的名称,如Demo.p ...

  6. 【基于WinForm+Access局域网共享数据库的项目总结】之篇三:Access远程连接数据库和窗体打包部署

    篇一:WinForm开发总体概述与技术实现 篇二:WinForm开发扇形图统计和Excel数据导出 篇三:Access远程连接数据库和窗体打包部署 [小记]:最近基于WinForm+Access数据库 ...

  7. 上一篇括号配对让人联想起catalan数,顺便转载一篇归纳的还不错的文章

    转载请注明来自souldak,微博:@evagle 怎么样才是合法的组合? 只要每一时刻保证左括号的数目>=右括号的数目即可. 直接递归就行,每次递归加一个括号,左括号只要还有就能加,右括号要保 ...

  8. 仿百度壁纸客户端(六)——完结篇之Gallery画廊实现壁纸预览已经项目细节优化

    仿百度壁纸客户端(六)--完结篇之Gallery画廊实现壁纸预览已经项目细节优化 百度壁纸系列 仿百度壁纸客户端(一)--主框架搭建,自定义Tab + ViewPager + Fragment 仿百度 ...

  9. [转]基于C#的开源GIS项目介绍之SharpMap篇

    我是一个刚毕业的GIS本科毕业生,目前在杭州从事GIS软件应用开发.在项目开发中总感觉自己的编程水平还不够,于是想找些开源GIS小项目来研究研究,借以提高自己的编程能力和项目开发能力.在网上搜了一下“ ...

随机推荐

  1. java+selenium使用JS、键盘滑动滚动条

    本篇文章介绍如何使用JS和键盘对象对页面进行滑动滚动条-------------主要针对java做自动化测试的同学 一:使用键盘对象操作滚动条 //导包 import org.openqa.selen ...

  2. JS String总结

    String常用总结 1.字符 length属性:表示字符串包含多少16位码元 charAt():方法返回给定索引位置的字符 charCodeAt() :可以查看指定码元的字符编码 String.fr ...

  3. 一些代码小技巧&经典代码

    请说明逻辑与(&&)在下边表达式中起到的重要作用 count != 0 && sum/count 答:该表达式使用逻辑与(&&)来确保 sum/coun ...

  4. 还不懂 redis 持久化?看看这个

    Redis 是一个内存数据库,为了保证数据不丢失,必须把数据保存到磁盘,这就叫做持久化. Redis 有两种持久化方法: RDB 方式以及 AOF 方式 RDB 持久化 前言 RDB持久化把内存中的数 ...

  5. setting>SSH>sessions setting>勾选ssh Keepalive[ MobaXterm】设置保持SSH连接

    [ MobaXterm]设置保持SSH连接 ssh远程连接会在无操作时自动断开连接.为了保持程序运行和连接,需要设置保持连接. 1.MobaXterm如果使用了MobaXterm客户端,那么需要在设置 ...

  6. Linux进阶之RAID磁盘阵列、系统启动及dd命令

    本节内容 1.      磁盘阵列 RAID0: 条带卷 2+ 100% 读写速度快,不容错 RAID1: 镜像卷 2   50% 读写速度慢,容错 RAID5: 奇偶校验条带卷 3 读写速度快,容错 ...

  7. MyBatis 全局配置文件详解(七)

    MyBatis 配置文件作用 MyBatis配置文件包含影响 MyBatis 框架正常使用的功能设置和属性信息.它的作用好比手机里的设置图标,点击这个图标就可以帮助我们查看手机的属性信息和设置功能.其 ...

  8. 9.7 top:实时显示系统中各个进程的资源占用状况

    top命令 用于实时地对系统处理器状态进行监控,它能够实时地显示系统中各个进程的资源占用状况.该命令可以按照CPU的使用.内存的使用和执行时间对系统任务进程进行排序显示,同时top命令还可以通过交互式 ...

  9. IDEA 快速上手指南(全配置)(Day_23)

    Idea快速入门指南 1.安装 1.1.安装 我们使用的是2017.3.4版本: 双击打开, 选择一个目录,最好不要中文和空格: 然后选择桌面快捷方式,请选择64位: 然后选择安装: 开始安装: 然后 ...

  10. 灵动微电子ARM Cortex M0 MM32F0010 Timer定时器中断定时功能的配置

    灵动微电子ARM Cortex M0 MM32F0010 Timer定时器中断定时功能的配置 目录: 1.Timer1高级定时器Timer3通用定时器Timer14基本定时器简介 2.Timer1高级 ...