硬件开发_基于物联网的生态环境检测系统

一.系统概述

系统具体工作内容如下:

  1. 控制温湿度传感器,完成果园内温湿度数据的采集;
  2. 控制光照传感器,完成果园内光照强度数据的采集;
  3. 控制酸碱传感器,完成果园土壤酸碱环境数据的采集;
  4. 控制无线通信模块,将所有采集到的数据上传至服务器端;
  5. 采用Uniapp编程软件,开发配套的监控软件;
  6. 上位机端支持远程设定各项环境参数的阈值;
  7. 下位机端可实现对各项参数阈值的智能调节。

二.电路设计

电路图采用Altium Designer设计,具体如下:

  1. 以STM32F103C8T6单片机作为系统主控,其最小系统电路为整个电路的核心;
  2. 通过DHT11实现温湿度检测,该传感器通过单总线(one-wire)与单片机的GPIO脚连接;
  3. 采用光敏电阻模块进行光强检测,传感器的模拟端接入单片机的模拟输入端;
  4. 使用玻璃型PH传感器检测水质PH值,传感器的模拟端与单片机的模拟输入端相连;
  5. 借助0.96寸OLED12864显示屏进行数据展示,通过IIC总线与单片机通信;
  6. 蜂鸣器用于报警,采用有源蜂鸣器,通过NPN三极管驱动;
  7. 利用ESP8266-01S将检测数据上传至上位机,该模块通过UART串口与单片机通信;
  8. 继电器用于模拟生态环境控制,其数据输出脚与单片机的GPIO脚连接。

三.程序设计

#include "sys.h"

#include "delay.h"

#include "adc2.h"

#include "math.h"

#include "adc.h"

#include "key.h"

#include "OLED_I2C.h"

#include "Control_Report_To_Police.h"

int main(void)

{

NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级

delay_init(); //延时函数初始化

Usart1_Init(115200);

TIM4_Init(300,7200);

while(DHT11_Init()){}

Adc_Init();

Adc2_Init();

Relay_init();

Beep_init();

OLED_Init();

OLED_CLS();

ALi_ESP8266_GPIO_Init();

MQTT_Buff_Init();

AliIoT_Parameter_Init();

OLED_ShowCN(32,2,0);

OLED_ShowCN(32+16,2,1);

OLED_ShowCN(32+32,2,2);

OLED_ShowCN(32+32+16,2,3);

OLED_CLS();

while(1)

{

OLED_Display_Cotrol(); //显示控制函数

}

}

四.资料内容

24-32-56

相关推荐
iCxhust3 小时前
51单片机电力载波应用开发(4)单片机发PC端接收
单片机·嵌入式硬件·51单片机
国科安芯5 小时前
断电也隔离、听得真:ASL3159S 单通道 SPDT 模拟开关的“断电保护 + 音频保真“账
单片机·嵌入式硬件·安全·商业航天·抗辐射
自小吃多5 小时前
【Verilog/FPGA】存储器(数组)
嵌入式硬件·fpga开发
szxinmai主板定制专家6 小时前
RK3588+FPGA异构架构|高速数据采集+边缘AI落地应用全解析
人工智能·嵌入式硬件·fpga开发·架构·zynq
jianqiang.xue6 小时前
【CStackGUI 实战】深色主题终端:app.dark 默认深色 + 顶层命名样式表 + 运行时切换
单片机·嵌入式·cstackgui·c语言gui·可视化拖拽
M78佐菲6 小时前
ARM学习笔记(11)
linux·arm开发·笔记·嵌入式硬件·学习
M78佐菲6 小时前
ARM学习笔记(10)
linux·arm开发·笔记·嵌入式硬件·学习
小程序设计6 小时前
基于STM32的智慧厨房多参数安全监测与预警系统设计
stm32·嵌入式硬件·安全
新晨单片机设计6 小时前
S008C-基于STM32单片机无线抢答器【Proteus仿真+Keil程序+原理图】
stm32·单片机·proteus·无线抢答器
Zw-awa7 小时前
Delay_us 与 Delay_ms:用 SysTick 做一把可靠的时间尺
stm32