基于无线传感器网络的无线温湿度采集系统(附详细使用教程+完整代码+原理图+完整课设报告)


🎊项目专栏:【Zigbee课程设计系列文章】(附详细使用教程+完整代码+原理图+完整课设报告)

前言

  • 👑由于无线传感器网络(也即是Zigbee)作为🌐物联网工程的一门必修专业课,具有很强的实用性,因此很多院校都开设了zigbee的实训课程;
  • 👑同时最近很多使用了我的单片机课设的同学又来私信咨询我基于Zigbee的的课程设计的相关问题;
  • 👑所以为了帮助各位有需要的同学顺利完成自己的课程设计,有个顺利的假期,同时为了方便各位想要学习ZigBee的同学查找学习,建立了本专栏。
  • 💞但是由于笔者正在读研,每天的任务比较重,只能在从实验室回来后,晚上抽一个小时的时间来写,所以,更新不易,靠爱发电。

在这里插入图片描述

正在更新中~ ✨

🚨 我的项目环境:

  • 平台:Windows 11
  • 编译器:IAR for 8051 8.10
  • Zigbee协议栈:Zstack-CC2530-2.5.1a
  • 芯片型号:CC2530

在这里插入图片描述

🎊无线传感器网络专栏地址:【Zigbee课程设计系列文章】(附详细使用教程+完整代码+原理图+完整课设报告)


提示:以下是本篇文章正文内容,下面案例可供参考,代码链接以及电路图已经放在文末,点击获取


1 功能介绍

  本项目旨在开发一种基于ZigBee无线通信技术的农业大棚环境感知系统,设计并实施了一套集成DHT11温湿度传感器和ZigBee无线通信模块的环境监测系统。DHT11传感器与ZigBee终端节点通过GPIO端口相连接,部署于农业大棚内,用于采集实时的温湿度数据。当终端节点通过DHT11获取到温湿度数据后,通过ZigBee网络由终端节点传输至协调器节点。协调器节点再将收集到的信息通过串口通信方式发送至上位机,实现数据的可视化呈现与远程监控。


2 系统总体设计

  本系统总体设计图如下图所示。本系统采用CC2530单片机作为主控制器,通过CC2530读取温湿度数据,集成DHT11温湿度传感器和ZigBee无线通信模块的农业大棚环境感知系统。DHT11传感器与ZigBee终端节点通过GPIO端口相连接,部署于农业大棚内,用于采集实时的温湿度数据。当终端节点通过DHT11获取到温湿度数据后,通过ZigBee网络由终端节点传输至协调器节点。协调器节点再将收集到的信息通过串口通信方式发送至上位机,实现数据的可视化呈现与远程监控。

系统总体架构图

3 软件设计

  对于本文而言,软件主要是依靠zigbee协议栈完成,对其SampleApp代码进行了修改,完成了本软件的设计。ZigBee是基于IEEE802.15.4标准的低功耗局域网协议。根据国际标准规定,ZigBee技术是一种短距离、低功耗的无线通信技术。
  ZigBee协议从下到上分别为物理层(PHY)、媒体访问控制层(MAC)、传输层(TL)、网络层(NWK)、应用层(APL)等。其中物理层(PHY)和媒体访问控制层(MAC)遵循IEEE802.15.4标准的规定。

3.1 温湿度传感器驱动程序

  函数DHT11()是用于启动并读取DHT11温湿度传感器的数据的函数。

void COM(void)  // 温湿写入
{     
    uchar i;         
    for(i=0;i<8;i++)    
    {
     ucharFLAG=2; 
     while((!wenshi)&&ucharFLAG++);
     ……省略……
     ucharcomdata|=uchartemp; 
     }    
}
void DHT11(void)   //温湿传感启动
{
    wenshi=0;
    Delay_ms(19);  //>18MS
    wenshi=1; 
    P0DIR &= ~0x40; //重新配置IO口方向
    Delay_10us();
    Delay_10us();                       
    Delay_10us();
    Delay_10us();  
     if(!wenshi) 
     {
		 ……省略……
         wendu_shi=ucharT_data_H/10; 
         wendu_ge=ucharT_data_H%10;
     
         shidu_shi=ucharRH_data_H/10; 
         shidu_ge=ucharRH_data_H%10;        
    } 
   P0DIR |= 0x40; //IO口需要重新配置 
}

3.2 终端节点封装点对点通信程序发送信息的函数

  对于终端节点,获取到信息是不够的,还应当将信息发送给协调器节点,这就要调用到ZigBee协议栈的底层发送函数AF_DataRequest()。这个函数能够将指定的协议簇发送给指定的目标节点,该函数参数众多,第三个参数:uint16 cID 簇ID;第四个参数:len 要发送的数据的长度;第五个参数:uint8 *buf 指向发送数据缓冲的指针;第六个参数:uint8 *transID事务序列号指针。如果消息缓存发送,这个函数将增加这个数字;第七个参数:发送选项,可以由下面一项,或几项相或得到;AF_ACK_REQUEST 0x10 要求APS应答,这是应用层的应答,只在直接发送(单播)时使用;第八个参数:uint8 radius 最大的跳数,用默认值AF_DEFAULT_RADIUS。我们想要使用这个函数发送信息就需要指定合适的参数来发送协议。
  所以本项目封装了一个名为SampleApp_SendPointToPointMessage的函数,其主要功能是构建并发送一个点对点(Point-to-Point)的消息,其中包含了发送方的MAC地址以及从DHT11温湿度传感器获取的当前环境温度和湿度数据。

void SampleApp_SendPointToPointMessage( void )
{
  ……………省略……………………

  if ( AF_DataRequest( &Point_To_Point_DstAddr,
                       &SampleApp_epDesc,
                       SAMPLEAPP_POINT_TO_POINT_CLUSTERID,
                       12,
                       buf,
                       &SampleApp_TransID,
                       AF_DISCV_ROUTE,
                       AF_DEFAULT_RADIUS ) == afStatus_SUCCESS )
  {
  }
  else{
    // Error occurred in request to send.
  }
}

4 实物展示

三个节点(一个协调器,两个终端)
在这里插入图片描述

室温下数据
在这里插入图片描述

三个节点(一个协调器,两个终端)
在这里插入图片描述

将温湿度传感器放在热水上数据展示

在这里插入图片描述

5 获取源代码以及电路原理图

  下载链接1🔐:点击跳转下载➡️基于无线传感器网络的无线温湿度采集系统(附详细使用教程+完整代码+原理图+完整课设报告)
   链接失效,有需要请直接私信我!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Stanford_sun

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值