基于Zigbee的智能温室大棚系统(附详细使用教程+完整代码+原理图+完整课设报告)

本文主要是介绍基于Zigbee的智能温室大棚系统(附详细使用教程+完整代码+原理图+完整课设报告),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


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

前言

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

在这里插入图片描述

正在更新中~ ✨

🚨 我的项目环境:

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

在这里插入图片描述

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


提示:以下是本篇文章正文内容,下面案例可供参考

基于Zigbee的智能温室大棚系统(附详细使用教程+完整代码+原理图+完整课设报告)

  • 智能温室大棚系统
  • 零、技术介绍
  • 一、需求分析
  • 二、模块分析
  • 三、终端节点硬件设计
  • 四、软件代码
  • 五、文件


智能温室大棚系统

设计要求
  基于Zigbee协议栈和Zigbee节点构建智能温室大棚系统。该系统利用多个Zigbee传感器监测节点采集温室环境各项数据,汇聚于协调器,由协调器节点控制各种遮光帘、显示及报警设备。协调器可以以串口通信上传数据于PC端。

设计方法
  智能温室大棚环境部署多个Zigbee监测节点,采集环境数据,有协调器串口传输至PC端,PC端可以串口打印显示,并能实时反向控制各个监测节点。


零、技术介绍

  Zigbee是一种新兴的低成本,低复杂度,低功耗,低数据速率,低成本无线网络技术,是无线标记技术和蓝牙技术之间的技术方案。主要用于短距离无线连接。 它是基于802.15.4标准,在数千个微小的传感器之间协调实现通信。 这些传感器需要非常低的功耗,并且通过无线电波将数据从一个传感器传输到另一个传感器,因此效率非常高,优势极大。

一、需求分析

  首先是终端节点,功能有:采集信息发送给协调器、接收协调器的控制信息对控制模块进行操作
  其次是协调器节点,功能有:串口发送收到的信息、反向发送控制信息

系统总体架构图

二、模块分析

终端节点
  传感器部分:需要有空气温度、空气湿度、土壤湿度、光照强度传感器模块
  控制模块:遮光帘、水泵、透气扇(均为通过继电器控制)

协调器节点
  串口发送信息给上位机

三、终端节点硬件设计

空气温湿度模块
  大棚内温度直接影响植物的生长发育和产量。温度的监测可以帮助调节大棚的通风和加热设备,保持较为稳定的温度条件。湿度对植物的水分供给和蒸腾作用具有直接影响。湿度的监测可以通过湿度传感器进行实时检测,可以帮助调节大棚的灌溉和通风设备,维持适宜的湿度条件。因此设计温湿度模块对于大棚来说是非常必要的。
  DHT11是一款有已校准数字信号输出的温湿度传感器。 其精度湿度±5%RH, 温度±2℃,量程湿度5~95%RH, 温度-20~+60℃。具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。同时由于CC2530的引脚紧张,而DHT11仅占用一个引脚。因此大棚空气温湿度选用DHT11模块来检测。
  模块实物如下图:(不同的DHT11均可,这里仅选手头的一款)

   其中DATA接P0.6口,具体的电路设计如下图:

   

土壤湿度模块
  土壤湿度对大棚中农作物有着较大的影响。土壤湿度过低,形成土壤干旱,光合作用不能正常进行,降低作物的产量和品质;严重缺水导致作 物凋萎和死亡。土壤湿度过高,恶化土壤通气性,影响土壤微生物的活动,使作物根系的呼吸、生长等生命活动受 到阻碍。根系缺氧、窒息、最后死亡。因此,实时监测土壤的湿度,并且对其做出控制很有必要。
  土壤湿度传感器并无固定型号,但是由于CC2530通用IO口较为紧张,因此笔者选用了一款有模拟信号输出传感器模块,仅仅占用一个引脚。如图:

  CC2530的AD转换在P0口,所以该模块的模拟电压接入P0.0口
  具体的电路设计如下图:


光照强度模块
  “万物生长靠太阳”,进行大棚种植,光照的作用更是不可忽视。实时监测光照的强度,当光照强度过强关闭遮光帘,反之则打开遮光帘。
  BH1750是IIC通信16位数字光强传感器,它的识别范围从1lx - 65535lx,范围大,分辨率高,价格低。因此采用BH1750模块监测光强,如下图所示。

  将SCL与SDA分别接入P0.4、P0.5口,ADDR接地。
  具体的电路设计如下图:


四、软件代码

终端节点采集传感器信息并发送主要代码(为了使得文章精简,省去iic.c、DHT11.c、BH1750.c等等自定义函数展示,但是在文件中都有)

    // 获取mac地址 赋值给待发送信息osal_memcpy(MACAddr , NLME_GetExtAddr() , 8);for(i = 0;i<8;i++){buf[i]=MACAddr[i];}//温度检测   DHT11();buf[8]=wendu_shi+48;buf[

这篇关于基于Zigbee的智能温室大棚系统(附详细使用教程+完整代码+原理图+完整课设报告)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/705345

相关文章

Java中流式并行操作parallelStream的原理和使用方法

《Java中流式并行操作parallelStream的原理和使用方法》本文详细介绍了Java中的并行流(parallelStream)的原理、正确使用方法以及在实际业务中的应用案例,并指出在使用并行流... 目录Java中流式并行操作parallelStream0. 问题的产生1. 什么是parallelS

Linux join命令的使用及说明

《Linuxjoin命令的使用及说明》`join`命令用于在Linux中按字段将两个文件进行连接,类似于SQL的JOIN,它需要两个文件按用于匹配的字段排序,并且第一个文件的换行符必须是LF,`jo... 目录一. 基本语法二. 数据准备三. 指定文件的连接key四.-a输出指定文件的所有行五.-o指定输出

Linux jq命令的使用解读

《Linuxjq命令的使用解读》jq是一个强大的命令行工具,用于处理JSON数据,它可以用来查看、过滤、修改、格式化JSON数据,通过使用各种选项和过滤器,可以实现复杂的JSON处理任务... 目录一. 简介二. 选项2.1.2.2-c2.3-r2.4-R三. 字段提取3.1 普通字段3.2 数组字段四.

Linux kill正在执行的后台任务 kill进程组使用详解

《Linuxkill正在执行的后台任务kill进程组使用详解》文章介绍了两个脚本的功能和区别,以及执行这些脚本时遇到的进程管理问题,通过查看进程树、使用`kill`命令和`lsof`命令,分析了子... 目录零. 用到的命令一. 待执行的脚本二. 执行含子进程的脚本,并kill2.1 进程查看2.2 遇到的

SpringBoot基于注解实现数据库字段回填的完整方案

《SpringBoot基于注解实现数据库字段回填的完整方案》这篇文章主要为大家详细介绍了SpringBoot如何基于注解实现数据库字段回填的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以了解... 目录数据库表pom.XMLRelationFieldRelationFieldMapping基础的一些代

详解SpringBoot+Ehcache使用示例

《详解SpringBoot+Ehcache使用示例》本文介绍了SpringBoot中配置Ehcache、自定义get/set方式,并实际使用缓存的过程,文中通过示例代码介绍的非常详细,对大家的学习或者... 目录摘要概念内存与磁盘持久化存储:配置灵活性:编码示例引入依赖:配置ehcache.XML文件:配置

Java 虚拟线程的创建与使用深度解析

《Java虚拟线程的创建与使用深度解析》虚拟线程是Java19中以预览特性形式引入,Java21起正式发布的轻量级线程,本文给大家介绍Java虚拟线程的创建与使用,感兴趣的朋友一起看看吧... 目录一、虚拟线程简介1.1 什么是虚拟线程?1.2 为什么需要虚拟线程?二、虚拟线程与平台线程对比代码对比示例:三

k8s按需创建PV和使用PVC详解

《k8s按需创建PV和使用PVC详解》Kubernetes中,PV和PVC用于管理持久存储,StorageClass实现动态PV分配,PVC声明存储需求并绑定PV,通过kubectl验证状态,注意回收... 目录1.按需创建 PV(使用 StorageClass)创建 StorageClass2.创建 PV

Nginx搭建前端本地预览环境的完整步骤教学

《Nginx搭建前端本地预览环境的完整步骤教学》这篇文章主要为大家详细介绍了Nginx搭建前端本地预览环境的完整步骤教学,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录项目目录结构核心配置文件:nginx.conf脚本化操作:nginx.shnpm 脚本集成总结:对前端的意义很多

Redis 基本数据类型和使用详解

《Redis基本数据类型和使用详解》String是Redis最基本的数据类型,一个键对应一个值,它的功能十分强大,可以存储字符串、整数、浮点数等多种数据格式,本文给大家介绍Redis基本数据类型和... 目录一、Redis 入门介绍二、Redis 的五大基本数据类型2.1 String 类型2.2 Hash