本设计的硬件构成:
主机:STM32F103C8T6单片机最小系统板,液晶显示、按键、蜂鸣器、LORA模块、风扇驱动模块、蓝牙模块组成;
从机:STM32F103C8T6单片机最小系统板,温湿度传感器、PM2.5模块,红外人体传感器、LORA模块组成;
主机原理图:

从机原理图:

功能介绍:
1、系统采用主机和从机结构,主机和从机采用LORA通信。
2、从机:采集环境温湿度、PM2.5数据,并通过LORA模块上传给主机;
3、主机:接收从机的数据,并显示各传感器的数据;通过按键可设置温湿度和PM2.5的监测阈值;当超过阈值时,蜂鸣器声光报警,自动打开通风风扇进行降温通气。
4、从机:具有监控模式,监测人体信号;当主机的按键进入监控模式,从机检测到人时,进行声光报警。
5、可通过蓝牙模块,手机APP实时显示当前传感器数据。
主要物料清单及型号:
**显示屏:**LCD1602-5V;
**单片机:**STM32F103C8T6;
**LORA模块:**HC-14;
**PM2.5传感器:**DC01红外PM2.5;
**红外人体传感器:**SR602;
**蜂鸣器:**5V有源蜂鸣器;
****温湿度传感器:****DHT11;
****风扇:****5V散热风扇;
主机主程序:
int main(void)
 {
  u8 ID = 0;   
   u8 key=0,t=0;
  u8 dir=1;  
  delay_init();         //延时函数初始化    
  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);    //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
  uart_init(9600);   //串口初始化为115200
   KEY_Init();
   LED_Init();           //LED端口初始化
  TIM2_Int_Init(999,7199);//10Khz的计数频率,计数到1000为100ms  
  Adc_Init();
   delay_ms(200);
     while(1)
  {
    
    if(HR==1)
    {
      people_flag=4;
    }
    
    if(T_100ms>=10)
    {
      T_100ms=0;
      if(people_flag>0)
        people_flag--;
      getDHT11Data();  //获取湿度数据
        
      
      light=(Get_Adc_Average(9,10));
      get_lora_data();
      printf("%s",lora_data);
        
    }
     
  }   
 }
        资料链接:https://pan.baidu.com/s/1nIm6bbTqOh86rfXf4wMPrQ
提取码:oymt