ESP32-SDK企业级项目开发①-准备工作一:智能培植机工作原理简介


点此回到专栏首页
书接上文。在前言中我介绍过说要从0到1带领大家实现《多功能智能培植机》(以后简称培植机),在正式开始之前,读者必须提前理解我们的业务场景和设备的整体工作逻辑。对我们产品和需求有一个大概的认识。才能在接下来的章节中,一步步实现培植机从0到1的开发。

本章目标:
了解一下培植机的结构、硬件与其工作逻辑,简单认识植物的习性,与相关参数含义。

一、培植机电气与结构组成

1.1 原理框图

能培植机的原理图
详细原理图不给大家展示,咱们通过以上框图可以了解到,培植机以ESP32作为核心,外设主要由以下部分内容组成:

模块 外设 端口 功能频率
传感器 光照传感器IO0,ADC信号用于检测培植机内部光照强度
三个液位检测IO1~IO3,0有效用于安装在不同高度,检测该高度是否存在水位
温湿度传感器UART0用于检测培植机内部温度和湿度
执行机构液位检测开关IO4,0有效用于控制是否使能液位检测。
光灯控制IO6,0有效用于驱动光灯设备,给植入提供光源
暖灯控制IO7,0有效用于驱动暖灯设备,给某些植物供暖
喷淋控制IO8,0有效用于驱动喷淋设备,给植物浇水或提供水源
用户交互TYPEC接口USB用于下载程序、日志查看
按键IO8用于配网等
红色LEDIO9用于报警提示
蓝色LEDIO10用于状态提示

1.2 结构示意图

培植机结构示意图如下:
在这里插入图片描述
大家可以对照原理框图和结构图,自行理解每一个外设的位置及功能。重点介绍下图上所示 “水层”、“土层”
水层: 培植机最下部放一层水,保持土壤湿润。
土层: 水层之上,用隔离网支持一定土壤或砂石,植物就栽种在这些土壤上。
需要注意的是:
①图上三个液位检测传感器的位置,在一定范围内可以手动上下调节。 用户可以依据实际情况去调整存水和土层厚度。
②这里的土层和水层是用户依据系统推荐方式手动放置的。 一般来说,我们得依据植物原产地的地域环境需求,动态调整水层和土层。以下是系统支持的五种类型的植物:

类型植物原产地土层主料水的高度解析
沙生、旱生沙漠、戈壁砂砾、土壤高耐旱,只少量喷淋,底部无需存水
陆生正常区域营养土到低液位正常喷水,底部存水,保持土壤一定湿润
沼生沼泽、滩涂碳土到中液位底部水和土壤混合,土壤在上,模拟沼泽地
水生河湖碳土到高液位水面高于土壤,模拟水生植物
浮游河湖少量营养物质到高液位无土壤,在水里加入营养粉。满足一些特定植物需求

二、培植机主要工作逻辑

地球地大物博,植物种类繁杂,习性千奇百怪。地域方面,有耐旱、也有畏湿的。温度方面,有耐热的,有耐寒的, 有喜阳的,也有喜阴的,而培植机是一款通用的培养基,这就要求我们必须从功能和逻辑上尽可能的去使用适配各种习性的植物,增加不同的控制逻辑。

2.1 补水逻辑

补水是指通过喷淋头,向箱体内注入较多的水,一般至少保证水位到达低液位。具体到达到哪里,需要依据植物的生长环境设置。其逻辑稍微简单,即实际水位低于目标值时,就要开始补充水。以下是具体要求:

生长类型目标水位逻辑
沙生、旱生全程不需要补水
陆生低水位当水位低于低液位检测时。开始补水。直到再次高于低液位后20S后停止补水。
沼生中水位当水位低于中液位检测时。开始补水。直到再次高于中液位后20S后停止补水。
水生高水位当水位低于高液位检测时。开始补水。直到再次高于高液位后20S后停止补水。
浮游河湖当水位低于高液位检测时。开始补水。直到再次高于高液位后20S后停止补水。

2.2.1 补水异常

对于补水逻辑,它还隐藏了一个异常处理和检测的机制。即触发补水情况后,但是液位检测一直检测不到信号时怎么办?可能的原因很简单。①停水了,或者喷淋头和水管没接好。②检测传感器坏了。两种都有可能。

这个时候要做好三点。

①补水一定做时长限制。如果在一定时长内,一直检测不到信号。应该自动停止。避免补水太多。
②要向平台汇报补水异常逻辑。提醒用户及时处理。
③正常情况下,如果补水异常,就应该暂停补水逻辑。但是如果用户无法短时间去处理现场的话,程序也应该给予必要的一些水份补充。避免因为长期不补水导致植物干死。

2.2 浇水逻辑

对于沼生、水生、浮游,因为有补水逻辑存在,植物不需要在额外的浇水。但是对于旱生或陆生(喜潮湿)的植物,需要定期浇水。否则植物可能干死或长势欠佳。
至于浇水的量和频率,受用户设置的浇水方案影响。(浇水方案是用户需要提前设置,满足不同植物需求)

浇水类型浇水逻辑备注
默认方案①对于旱生,默认每三天加1次水,每次喷淋5s,②对于其他类型,不再校水。
用户方案依据用户选择的频次和量去加水。比如 3天1次,1次4S。所有类型支持。
恒湿方案用户需要提前设置一个湿度,低于这个湿度时,自动下水只允许旱生 和 陆生植物设置

2.3 光照逻辑

对于不同植物,可能需要的光照强度和光照时长是不一样的。特别是一些喜欢潮湿阴暗的植物,只需要微弱的光线就可以了,太长的光照反而会有问题。所以我们需要用户设置具体的光照时长和强度(按100%)。
光照强度:0~100.默认100%小时.
光照时长:0~24*60分钟。默认8*60分钟。

为什么存在0强度和0时长?用户可以选择关掉所有灯光,打开外窗(箱体结构),让植物受外部光照照射。

光照传感器的作用?
①判断灯光是否故障。
②光照强度和光照时长为0的情况下,判断外窗是否打开? 没打开。则强行触发光照逻辑。

2.4 暖灯逻辑

寒冷区域的植物移植到热带,需要用户从外部降低温度。比如:放入地窖或者冰柜。
喜暖的植物(热带或者夏季生长的植物)移植在寒冷区域,或者寒冷季节。这个时候需要开启暖灯。
用户需要提前设置暖灯的参数:开关模式,其有三个值:常闭。常开,自动。
常闭:暖灯一直关闭。
常开:暖灯一直打开。
自动:自动模式下,需要提前设置一个目标温度。比如20°。
关闭状态下,当前温度 < 目标温度时开启。
开启状态下,当前温度 >= 目标温度+1° 时关闭。

3 设备相关参数

到这里,我们已经对培植机的工作逻辑有所了解,现在我们再回过头来总结一下在上面逻辑中我们所需要的参数。

参数名含义
生长类型旱生、陆生、沼生、水生、浮游表示植物生长所需要的土、水环境。需要用户手动修改水层和土层。
浇水方案类型默认、用户配置、恒湿表示用户选择的浇水类型。
浇水频次五天一次、四天一次、三天一次、两天一次、一天一次、一天两次表示用户指定浇水方案的自动浇水的频次
浇水时长3S、4S、5S、6S、7S、8S、9S、10S表示用户指定浇水方案的自动浇水的水量
目标湿度20% ~ 90%表示用户指定恒湿浇水方案时的目标湿度
光照强度0,或者 20~100%表示控制光照的强度
光照时长0,或者 60~24*60分钟表示控制光照的时长
暖灯模式常闭、常开、自动表示暖灯的开关逻辑
暖灯温度20~40表示暖灯在自动模式下的切换温度

目前,涉及到控制逻辑的参数就以上几个。还有一些其他参数,比如wifi SSID、wifi密码等,我们暂时不列出。大家一定要结合前文,仔细理解这些参数,我们的程序主逻辑,就是实现这些参数的含义。

点此回到专栏首页

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值