锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

【RT-Thread开源作品秀】基于STM32F407与RT-Thread的智能水培系统

时间:2023-05-27 08:07:00 ds流量传感器浸入式水位传感器

开源地址:https://gitee.com/li-yutan/rtt.git

本产品专注于城市家庭智能水培领域,是现代家庭园艺的一部分。随着人们生活水平和质量的提高,越来越多的人开始关闭绿色健康的生活方式注意家庭园艺,愿意在家种花、肉等观赏植物或蔬菜作物,尤其是这是疫情期间造成的出行不便,让更多的人倾向于尝试在家种植,方便收获纯绿色无污染蔬菜。我们设计的这一款智能水培机是一个物联网智终端可以通过云平台的帮助降低家庭水培的门槛,兼顾灵活性和自动化,方便用户获得家庭水培的乐趣。

可以在 APP 一键自动种植植物并监控整个过程,也支持用户通过硬件按钮 或 APP 手动控制设备,探索自己的种植习惯,通过 云平台,存储自己的种植规程并共享,也可以直接应用他人的规程数据完成 数据的快速共享。

开发环境

硬件:STM32F407ZGT6

RT-Thread版本:RTT Nano

开发工具及版本:KEIL 5

RT-Thread使用概述

本项目采用RTT nano对于每个任务(传感器数据获取,LORA收发,WIFI模块收发是与云平台的通信,每个控制功能任务)包装成独立的线程RTT 以控制部分的打氧功能为例,内核主要是控制线程间同步的信号量和事件集,该功能需要通过云平台输入参数WIFI通信部分线程传输的打氧时间与打氧间隔有两个参数。因此,采用多个事件的唤醒事件集来触发线程对应的控制功能。因此,采用多个事件的唤醒事件集来触发线程对应的控制功能。该方法还适用于营养液控制、光控制、加湿等。同时,项目还采用信号量协助线程间同步。主要用于WIFI通信收发(tx,rx)间的同步。此外,开发板的按键触发也采用中断的方式,用于通过按键切换主机和从机模式。

硬件框架

主控芯片与RT-Thread

本项目使用的芯片为 stm32F407ZGT6,使用 HAL 库编写,搭载 RT-Thread nano 嵌 入式实时操作系统。采用事件集,有效可靠地保证系统运行的并行性和效率 event,信号量 semaphore 实现线程间的同步协调和通信,充分发挥实时操作 作系统与 stm32F407 的优势。在芯片资源源 IO 高低电平输出控制 制继电器,PWM 输出控制电机驱动 L298N 模块,串口 2 通过 AT 指令控制 WIFI 模块通信.

传感层搭建

基于环境监测和报警系统的需要,作为植物种植的智能物联网终端本项目传感层丰富完善,具体传感器如下。1. 水温监测:采用 ds18b20 由单总线输出的模块 IO 口按工作顺序读取数据。2. 空气(环境)温度、湿度监测: DHT11 采用模块、单总线输出 stm32 单片机 IO 口按规定的时间顺序读取数据。3. EC 值检测采用模拟量输出 EC 值变送器,经过 stm32 ADC 模块转换后变化 具体值。4. PH 同样采用模拟量输出的值检测 stm32 ADC 将模块转换为特定值。5. 光敏模块、水位模块和浊度模块。均采用数字开关量输出,其中光敏, 浊度模块默认输出高电平,测量到阈值后输出低电平。相反,水位模块。2.2.构建控制部分。

为实现远程水培的自动和手动控制,具体使用的执行器如下。1.光照部分。采用 12V LED 红、蓝、白三色灯带 ,由 stm32 GPIO 输 控制高低电平。2,加湿和打氧部分。为了控制湿度,保证植物水面以上的湿度,采用 24 伏供电,塑料加湿器浸入式加湿器控制。还要保证营养液的含氧量。打氧 氧泵采用 12V 供电。3.电机控制,营养液控制。采用营养液控制 12V 蠕动泵和小水泵。分别对 EC 值,PH 控制两个溶液参数。对于 EC 值,通过蠕动泵泵准备的营养 增加溶液的方法 EC 只,通过两个中等功率,12V 供电泵同步换水,泵送 取出营养液,注入等量清水。PH 两个蠕动泵接控制两个蠕动泵。两个营养液参数均采用位置调发,小步长,营养液参数变化较长 滞回时间。其中 PH 与调整相关的化学变化调解初期会有很大的浮动,整体调解 时间在 30—40 大约几分钟,由于水培的种植周期长达几个月,自动模式只需要 营养液调整两次,其他均为维持范围,调整时间可接受。

通信部分

采用通信部分 ESP8266-01 模块和 MQTT 指令,MQTT 轻量级高效,适用 传感器数据、报警值、设备状态等。用于物联网通信协议, 同时从云平台获取云平台 APP 客户指令。同时,为了减少发布指令的数量,减少遗产 漏,在指令端自拟协议打包下发,确保设备高效稳定的通信。

说明软件框架

整体代码分为控制、传感和通信三部分。WIFI通信,LORA串口三通信,控制部分(光照、氧气、营养液控制等。PWM波的输出和IO口继电器控制)(ADC模拟输出获取、单总线获取等。)任务分别包装成线程处理。每个线程独立运行,并合理调用保持正确的线程间同步和通信。

具体而言,代码功能的执行顺序如下:

对于主机模式,从云即APP处通过WIFI 8266模块通过设计的外部参数(加湿时间、加湿间隔、打氧时间、打氧间隔)获得控制指令指导控制。营养液通过设定目标EC,PH值以及PH,EC传感器检测到的实时数据来控制,光照部分控制的主要依据是DS实时钟模块提供的1302年月日参数,实现了对不同生长周期的判断。在接收指令并控制主机模式的同时,LORA多点通信模块转发指令数据,以广播的形式将指令数据发送到每个机器。按下开发板上的按钮后。切换为从机模式,此时关闭WIFI发送以及WIFI接收,改为通过LORA串口3接收主机发送的信号。所以可以达到一主多从、动一发牵全身的效果。因此,种植量扩大。

软件模块说明

通信部分:通过ESP8266 AT指令连接云平台,收发数据。

各传感器部分,其中EC,PH采用ADC转换模拟量,采用单总线的方式将温度和湿度传输到结构体上。

结合DS1302的 时间判断部分,包括昼夜判断、生长周期判断等。

基于事件集的光控。

作品展示

您可以添加微信17775982065作为好友,注明:公司 姓名,拉进 RT-Thread 官方微信交流群!

??? 点击阅读原文进入官网

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章