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中的中断机制,以及如何通过GPIO中断实现按钮控制。重点讲解了如何设置中断服务例程、处理中断抖动问题,并提供了消除中断抖动的示例代码。
本文主要介绍在未联网(AP热点)情况下实现WEB交互界面的CSS和javascript库。
本文介绍如何使用Arduino-ESP32库中的API函数获取ESP32的芯片、RAM信息等,并提供了一个示例程序代码。
ESP32系列(包括ESP32-S3)搭载Xtensa双核处理器,默认情况下Arduino框架仅使用单核运行用户代码,通过多核编程,可以充分利用硬件资源来提升系统响应和性能。
ESP32 芯片有34个物理GPIO管脚。每个GPIO管脚都可用作一个通用IO,或连接一个内部的外设信号。IO_MUX ¹、RTC IO MUX 和GPIO交换矩阵用于将信号从外设传输至GPIO管脚。
ESP32Encoder库是一个利用ESP32脉冲计数器硬件外设实现高效旋转编码器读取的软件库。
本文对比了几款适合物联网开发的盒子硬件参数,供大家参考。
乐动掌控采用掌控板作为主控,塑胶一体式外壳,侧面和底面开具多个乐高扩展孔位,兼容乐高积木,可完成多种创意应用。
在MicroPython的ESP32库中,NVS类用于管理非易失性存储,支持 32 位有符号整数和 二进制blob。
Arduino-ESP32项目提供的Preferences库是一个专为ESP32设计的非易失性存储解决方案,它替代了传统的Arduino EEPROM库,提供了更强大、更可靠的数据存储功能。
专属教研服务系统,助您构建STEM课程体系,打造一站式教学环境。