首页 > 分享 > 【硬件设计】

【硬件设计】

一. 系统概述

自动浇花系统具有以下核心功能:

温度监测功能

采用温度传感器实时监控环境温度,并通过OLED屏幕显示。当温度超过预设值时,系统自动启动浇花。

土壤湿度监测

使用电阻式水滴模块检测土壤湿度,结果在OLED屏幕上显示。当湿度低于设定值时,系统会自动进行浇花。

定时浇花功能

利用DS1302芯片实现时钟定时,时间在OLED屏上显示。到达设定时间后,自动触发浇花。

Wi-Fi远程控制

通过ESP8266芯片实现Wi-Fi连接,将温湿度数据上传至APP。用户可通过手机APP远程控制浇花。

按键设定与控制

通过按键设定温湿度阈值。使用按键直接控制浇花操作。

在这里插入图片描述

二. 电路设计

电路设计采用Altium Designer工具:

温度检测

采用DS18B20进行温度监测,通过单总线与单片机通信。

数据显示

使用0.96寸OLED12864屏,采用IIC总线与单片机连接进行数据展示。

时钟定时

使用DS1302芯片,通过SDA、SCK、DAT引脚与单片机连接,实现时钟功能。

按键控制

通过独立按键设置阈值及浇花控制,按键一端接地,另一端连接单片机GPIO口。

继电器控制

使用继电器模拟浇花,继电器输出脚连接至单片机的GPIO。

数据上传

通过ESP8266-01S模块将数据上传至服务器,使用UART串口与单片机通信。

在这里插入图片描述

在这里插入图片描述

三.程序设计 keil端程序

#include "sys.h" #include "delay.h" #include "adc2.h" #include "math.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);KEY_Init();Adc2_Init(); //湿度while(DS18B20_Init()); //温度传感器初始化Relay_init(); //继电器初始化DS1302_GPIO_Init_Write_Time();OLED_Init(); //OLED初始化OLED_CLS(); //OLED清屏OLED_ShowCN(32,2,0);OLED_ShowCN(32+16,2,1);OLED_ShowCN(32+32,2,2);OLED_ShowCN(32+32+16,2,3);delay_ms(100);OLED_CLS();ALi_ESP8266_GPIO_Init();MQTT_Buff_Init(); AliIoT_Parameter_Init(); // /*******显示汉字**********/OLED_ShowCN(0,0,10);OLED_ShowCN(0+16,0,11);OLED_ShowCN(0,2,12);OLED_ShowCN(0+16,2,13); Relay_0=0; //停止浇花 // Beep=1;//蜂鸣器初始化 系统上电后先让蜂鸣器停止叫 while(1){ OLED_Display_Cotrol(); //显示控制函数} }

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 上位机端程序

&lt;template&gt;&lt;view class="wrapper"&gt;&lt;view class="device-area"&gt;&lt;view class="device-cart"&gt;&lt;view class="device-info"&gt;&lt;view class="device-name"&gt;温度&lt;/view&gt;&lt;image class="device-logo" src="/static/Temp.png"&gt;&lt;/image&gt;&lt;/view&gt;&lt;view class="device-data"&gt;{<!-- -->{Temp}}℃&lt;/view&gt;&lt;/view&gt;&lt;view class="device-cart"&gt;&lt;view class="device-info"&gt;&lt;view class="device-name"&gt;湿度&lt;/view&gt;&lt;image class="device-logo" src="/static/Humi.png"&gt;&lt;/image&gt;&lt;/view&gt;&lt;view class="device-data"&gt;{<!-- -->{Humi}}%&lt;/view&gt;&lt;/view&gt;&lt;/view&gt;&lt;button @click="clickon" type="primary"&gt;开启连接&lt;/button&gt;&lt;button @click="tem_add" type="primary"&gt;浇花控制&lt;/button&gt; &lt;!--&lt;button @click="tem_samll" type="primary"&gt;温度阈值-&lt;/button&gt;&lt;button @click="him_add" type="primary"&gt;湿度阈值+&lt;/button&gt;&lt;button @click="him_small" type="primary"&gt;湿度阈值-&lt;/button&gt; --&gt;&lt;/view&gt; &lt;/template&gt; &lt;script src="https://unpkg.com/mqtt/dist/mqtt.min.js"&gt;&lt;/script&gt; &lt;script&gt;// const mqtt = require('mqtt')const mqtt = require('node_modules/mqtt/dist/mqtt.min.js')const url = 'ws://iot-06z00g5pu6fx3oj.mqtt.iothub.aliyuncs.com:443'const options = { clean: true, connectTimeout: 4000, username: 'uniapp_device&amp;k054r6Bpm3e', password: 'b5200c65e727e56cd66675f8068ba3a2c1bd5ac9367ebd99cfac68166ff18960', clientId: 'k054r6Bpm3e.uniapp_device|securemode=2,signmethod=hmacsha256,timestamp=1693390768432|'}const sub_topic = "/sys/k054r6Bpm3e/uniapp_device/thing/service/property/set" //需要订阅的主题const P_TOPIC_NAME = "/sys/k054r6Bpm3e/uniapp_device/thing/event/property/post" //需要发布的主题// const client = mqtt.connect(url, options)// #ifdef H5console.log('h5')const client = mqtt.connect(url, options)//#endif// #ifdef APP-PLUSconsole.log('app')const client = mqtt.connect(`wx://iot-06z00g5pu6fx3oj.mqtt.iothub.aliyuncs.com:443`, options)//#endif// #ifdef MPconst client = mqtt.connect(`wxs://iot-06z00g5pu6fx3oj.mqtt.iothub.aliyuncs.com:443`, options)console.log('微信小程序连接');//#endifexport default {data() {return {Temp:0,Humi:0,};},methods:{clickon(){let that = thisconsole.log(333);client.on('connect', function () { console.log(333); console.log('Connected') client.subscribe(sub_topic, { qos: 0 }, function (err) { console.log("11111"); })})// 接收消息client.on('message', function (topic, message) {console.log(JSON.parse(message))if (JSON.parse(message).items) { that.Temp = JSON.parse(message).items.temperature.value that.Humi = JSON.parse(message).items.humidity.value}})},tem_add(){client.publish(P_TOPIC_NAME, '{"method":"thing.event.property.post","id":"203302322","params":{"temp_max":999},"version":"1.0.0"}', { qos: 0, retain: false }, function (error) { console.log('Published aa')})}

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 上位机开发界面

在这里插入图片描述

四.资料内容

在这里插入图片描述

24-32-09

相关知识

船载海洋生态环境现场监测集成示范系统硬件平台设计
浅谈花园设计,硬件软装都要有,植物搭配有技巧
花果山展示 13+8强力硬件 打造一线帮战号
Parrot Flower Power:植物健康监测类智能硬件产品
从种植到智能硬件,“花花草草”想靠设施农业解决花卉供应链难题
实时数据,远程监控 —— AI大模型智能硬件,让植物养护更轻松
花卉自动浇灌控制系统设计
基于AT89C51单片机的节水灌溉自动控制系统的设计
基于单片机自动智能浇花浇水控制系统设计
基于单片机智能花卉灌溉浇花浇水检测系统设计

网址: 【硬件设计】 https://m.huajiangbk.com/newsview256810.html

所属分类:花卉
上一篇: 水肥一体化智能灌溉系统:现代农业
下一篇: 基于STM32的智能花盆浇水系统