三.ZigBee 基于CC2530的环境监测系统

CC2530 实现环境监测系统

建立在前两讲的基础上,这次直接分享一个基于ZStack进行开发程序的demo
适用于学习ZigBee入门的同学,可在该程序的基础上进行不断拓展。开发后续功能

注:代码放在资源(ZigBee学习入门demo 基于ZStack协议栈开发实现),可自行前去下载

1.系统组成

CC2530 X2
DHT11
MQ2
OLED

2.系统功能

一、终端节点获取温湿度及烟雾浓度信息并在OLED上显示,OLED 通过按键切换显示页面
二、协调器接收数据并串口打印数据到上位机

3.系统网络拓扑

系统由一个协调器节点及一个终端节点组成,采用支持ZigBee协议的CC2530开发板,搭建星形网络拓扑结构,并通过Z-Stack协议栈对网络中节点进行开发控制。终端节点负责采集数据信息、定时触发发送任务事件程序通过ZigBee网络将节点数据发送至协调器,并将数据显示在OLED显示屏上。协调器节点作为系统核心控制器,在通电后立即创建无线网络,当节点加入网络后该设备可以将网络中的数据信息进行收集并汇总处理,随后将系统数据通过串口数据线上传至 PC上位机端。
在这里插入图片描述

4.系统终端程序设计

功能原理: 终端基于Z-Stack协议栈开发,上电后先对自身硬件模块、底层及系统相关资源进行初始化。初始化工作完成后,终端节点会主动搜索扫描指定信道,查找协调器创建的网络并向它发送入网请求数据包尝试加入网络,协调器节点会检测信息匹配后允许终端感知节点加入网络。当终端加入网络后,会被分配16位的网络短地址,然后便可用该短地址与协调器节点实现数据通信。当有数据需要发送时,终端将会启动软件系统,将所获取的数据打包发送至协调器节点。

传感器及控制设备,均基于应用层进行程序设计。OSAL不断轮询events & SYS_EVENT_MSG系统任务事件触发设备网络节点判断(SampleApp_NwkState == DEV_END_DEVICE),当确认设备节点角色为终端时,传感器的驱动初始化便在此环境下进行设置。
终端需开发数据汇总发送程序。终端OSAL操作系统轮询不断触发events & SAMPLEAPP_SEND_PERIODIC_MSG_EVT任务事件,进而进入消息发送函数SampleApp_Send_P2P_Message(),在该函数中实现信息整合及发送功能。信息整合:通过设置定长的字符数组,将温度、湿度、烟雾浓度不同的数据值统一打包成字符串一起传递至信息发送程序。信息发送程序需配置点对点单播模式,指定接收节点的16位网络短地址0XFFFF,规范发送的字符串长度,并设置对应的端口号、簇号,以便协调器节点接收存储。

终端部分程序:

void SampleApp_Send_P2P_Message( void )
{
   
  #ifdef D1
  unsigned char temp[3], humidity[3], GasData[4];
  char strTemp[20];
  uint16 nGasData=0;
  nGasData = ReadGasData();//获取气体浓度
  DHT11();                 //获取温湿度

  //将温湿度的转换成字符串,供OLED显示  
  temp[0] = wendu_shi+0x30;
  temp[1] = wendu_ge+0x30;
  temp[2] = '\0';
  humidity[0
无线传感器网络是目前研究的热门领域,它集成 了多门学科的知识,应用领域广泛,因此深受国际社会 的关注。 在 21 世纪里,无线传感器网络技术是具有 较大影响力技术中的一个热门技术,也是无线通信技 术中的一个新领域,它结合了多种技术的特点,如分布 式信息处理技术、嵌入式计算机技术以及无线网络通 信技术等 。 鉴于传感器网络技术的研究及应用价 值,许多部门、机构、学校等对其开始了基础理论和关键技术的研究,而通过无线方式对环境现场的数据进 行实时采集、传输和后台监控是大量挑战性的研究课 题之一。 无线数据采集是利用无线数据采集模块或设备, 将工业现场的传感器输出的电压、电流等物理量进行 实时采集和处理。 传统的数据采集系统一般采用事先 布线以及人工的方式采集设备的各项数据,而随着生 产力技术的发展,工业生产中的生产设备分布越来越 分散,分布的地域也越来越广,对处于高温和高压等恶 劣环境下的设备进行现场数据采集和维护是比较困难 和危险的,需要投入大量的人力成本和财力资源,这些 状况在很大程度上制约着企业的发展和生产效益的提 高。 对于最新的无线传感器网络技术 Zigbee 而言,它 采用了无线传输方式来构建相应的无线传感器网络, 能够较好地解决人工及有线方式存在的问题
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值