功能
基于ZigBee的大棚环境监控系统中采用的技术有数据采集、数据路由选择、无线数据传输、单片机接口、上位机监控系统、控制技术、执行机构等。研究主要内容如下
(1)分析实际需求,提出基于Zigbee 的菌类大棚温湿度监控系统的总体设计方案,描述系统的组成以及各子部分的具体功能;
(2)分析传感器网络中的三种节点,协调器( Co-ordinator)、路由器( Router)、终端设备( Eed device) ;
(3)研究节点设计方案,根据实际使用特点,设计适合用于大棚温度、湿度和光照强度检测的节点;
(4)设计系统软件,在协议栈的基础上设计自己的应用层:
(5)对总体方案进行测试,分析相关性能。
菌类智慧大棚系统分为采集端和上位机监控两部分。在下位机部分采用主控芯片STM32单片机作为主控芯片。由主控芯片通过传感器采集环境数据,然后通过ZigBee无线模块发送至PC端上位机界面。在下位机部分通过光敏电阻分压进行光照强度采集,光照强度以百分比形式进行显示,采用温湿度模块通过单总线通信协议采集环境温度和湿度,采用微波雷达模块输出数字量信号实时监测人体信息,监测周围是否有人活动。
演示视频
基于ZigBee菌类智慧大棚监控系统
代码
#include "sys.h"
#include "delay.h"
#include "usart.h"
#include "led.h"
#include "timer.h"
#include "ADC.h"
#include "usart3.h"
#include "key.h"
#include "rtc.h"
#include "oled.h"
#include "stmflash.h"
#include "math.h"
#include "dht11.h"
#include "bmp280.h"
#include "exti.h"
#include "DS1302.h"
#include "usart2.h"
#include "ds18b20.h"
#include "BEEP.h"
u8 buff[30];//参数显示缓存数组
u8 count;
u8 GuangAD;
u8 SendData[20];
int m5_value; //雨滴检测值
int main(void)
{
delay_init(); //延时函数初始化
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
uart_init(115200);
Adc1_Channe_Init(); //ADC通道初始化
Alarm_Init();
DHT11_Init();//DHT11初始化
KEY_Init();
while(1)
{
m5_value = 4096 - get_Adc_Value(0x05);//采集光敏AD值
DHT11_Read_Data(&DHT11_Temp,&DHT11_Hum);//获取温湿度
m5_value-=600;//校准
//限幅
if(m5_value<=0)
GuangAD=0;
else
GuangAD=m5_value/36;
if(GuangAD>=100) GuangAD=99;
//sprintf((char*)buff,"AD5:%4d ",m5_value);//4000-600
//sprintf((char*)buff,"Temp:%4d Hum:%4d",DHT11_Temp,DHT11_Hum);
//装填数据包
SendData[0]=GuangAD/10;
SendData[1]=GuangAD%10;
SendData[2]=DHT11_Temp/10;
SendData[3]=DHT11_Temp%10;
SendData[4]=DHT11_Hum/10;
SendData[5]=DHT11_Hum%10;
if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_9)==1)
SendData[6]=1;
else
SendData[6]=0;
UART1_SendData(SendData,7);//发送数据
delay_ms(1000);//避免发送太快
}
}