Smart Plant旨在帮助园艺家监控植物的健康状况。凭借先进的传感器套件,Smart Plant 可以测量土壤湿度、环境光线、空气温度和空气相对湿度。除了物联网功能外,Smart Plant 还配有 2.9 英寸电子纸显示屏,让您对植物数据一目了然。
Smart Plant 采用高能效设计,其 ESP32 微控制器具有深度休眠功能,电池可连续使用数周。当需要充电时,Smart Plant 可以使用 USB-C 线缆或小型太阳能电池板充电,对于希望尽量减少对环境影响的园艺家来说,这是一个环保的选择。
所有这些都装在一个小巧而优雅的装置中,可以直接插入植物的花盆中。
Github地址:
https://github.com/JGAguado/Smart_Plant/blob/main/docs/source/index.rst
官网:
https://smart-plant.readthedocs.io/en/latest/
带太阳能电池板的Smart Plant
组装
除了 PCB 板外,Smart Plant还包括以下部件:
一个 2.9 英寸电子纸显示屏,推荐使用(经测试可正常使用)的电子纸分辨率是 296x128,2.9 英寸的电子墨水原始显示面板,您可以直接向制造商订购。
建议使用容量为 1000mAh 的锂电池,以节省空间和电量。理想尺寸不应超过 50x34x5mm,以便安装在设计的外壳中。
您还可以选择安装太阳能电池板,以便在阳光充足的条件下为电池充电。太阳能电池板的输出电压不得超过 6V,建议安装尺寸为 80x45mm 的外壳。
供电
智能设备通过插入白色 JST 接头的锂电池供电。电池电压通过低功耗 LDO 调节为工作电压 3.3V。
为了给电池充电,有一个电池管理集成电路可为锂电池提供正确的充电曲线,并在电池充电时提供可视指示灯(红色 LED 指示灯表示充电,绿色 LED 指示灯表示待机)。Smart Plant有两种充电方式:USB-C 或太阳能电池板。
除了 USB-C 接口,为了延长电池两次(USB)充电之间的使用时间,Smart Plant 还可以配置为由太阳能电池板供电。该版本不是默认版本,需要将太阳能电池板焊接到电路板上,如图所示。
USB Type-C接口
USB Type-C 是一种非常适用于便携式电子产品的扩展端口,由于它采用标准化的 5V 电源,因此是为 Smart Plant 充电的理想选择,因为电池管理 IC 设计为 1000mAh 充电。
传感器
由于Smart Plant需要长时间工作而无需充电,因此必须避免在深度睡眠期间出现不必要的消耗。这意味着只有在需要时才需要为传感器供电。
因此,在微控制器的 GPIO16 输出端连接了一个高开关电路,用于启用/禁用传感器电源线。
土壤湿度
由于Smart Plant可以直接插入花盆的土壤中,因此插入的区域包含一个印刷电路,它就像一个探头,可以测量土壤的容量,由土壤湿度决定。由于没有金属电极,探针不会随着时间的推移而退化。
湿度在 0-3.3V 范围内,通过 GPIO32 上的 ADC 进行测量。
光传感器
照度是通过 GPIO33 上的 ADC 测量的,虽然使用哪种照度传感器仍在测试中,但内部电路可以接受 LDR 或光电二极管。
环境温度和湿度
Smart Plant嵌入了 AHT20 温度和湿度传感器,可通过 IIC总线提供校准数据
电子纸显示屏
电子纸显示屏与 ESP32 GPIO 的引脚分配如下:
外壳
Smart Plant PCB 可以安装在定制的 3D 打印外壳中,您可以用自己的 3D 打印机打印出来。
编程
智能设备主要支持两种编程方法,并已通过测试:
ESPHome
Arduino
在这两种情况下,您首先需要将电路板进入闪烁模式。为此,请按住闪存按钮,同时复位电路板(按一次复位按钮),详细可参考链接https://smart-plant.readthedocs.io/en/latest/programming.html
ESP32的DAC函数可以实现真正的模拟输出。
ESP32 没有Arduino输出 PWM 的 analogWrite(pin, value) 方法,取而代之的 ESP32 有一个 LEDC 来实现PWM功能。
本文学习如何使用ESP32开发板来进行多线程的开发。
ESP8266有三种工作模式,分别为:AP,STA,AP混合STA
ESP32有四个SPI外设,分别为SPI0、SPI1、HSPI和VSPI。
ESP32有2个硬件I2C总线接口,接口可以配置为主机或从机模式。
在使用ESP32-CAM发布了一些项目后,一些读者在尝试使用 ESP32-CAM 时报告了问题。本指南汇总了使用 ESP32-CAM 时最常见的错误以及如何修复它们。
本文介绍SSD1306 OLED屏在ESP32中的使用,程序为MicroPython开发。
本文详细介绍如何在Arduino环境中使用ESP32板,通过TFT_ESPI库,轻松地点亮TFT屏幕。
本文介绍ESP32采用Arduino框架u8g2库驱动OLED屏显示中文。
专属教研服务系统,助您构建STEM课程体系,打造一站式教学环境。