基于ESP32-S3的物联网智慧农业实现方案分享

源代码

https://github.com/laylow13/SILLY-IoT-FARM.git
(有帮助的话请点个星⭐。开发环境建议CLION,代码补全,分析和跳转比VSCODE舒服很多)

核心组件

ESP-IDF+FreeRTOS+LVGL+ESP-IOT-Solution+RainMaker

主要功能

  • 传感器数据读取
  • 设备控制
  • 屏幕交互
  • 云服务

传感器数据读取

主要传感器包括:

  • 气压(BME280:I2C)
  • 环境光(VEML6040:I2C)
  • 温湿度(SHT30:I2C)
  • 土壤湿度传感器 ADC

主要借助于ESP-IOT-Solution组件实现,该组件包含多个传感器的驱动程序,并进行了封装,使用及其方便。所有传感器数据读取都封装到同一个定时任务中。

设备控制

主要控制设备:

  • ws2812灯带
  • 直流电机(水泵,风扇…)

ws2812调用对应的库驱动,直流电机可以pwm调速或简单定速驱动。灯光和电机分别封装到对应的任务,阻塞式等待控制指令。

屏幕交互

使用一块ST7789屏幕作为显示,按键做输入设备。ESP-IOT-Solution组件中也提供了屏幕驱动和适配到IDF后的LVGL库(7.x版本),因为版本一直没更新,就采用了ESP-PORT-LVGL库(乐鑫提供的用于移植LVGL的库)和LVGL官方库(latest,8.x)实现屏幕驱动、GUI、按键输入。还可以用LVGL提供的实现方案(CSDN上介绍的基本都是这种)。
UI设计的非常简单,最初使用SquareLine Studio绘制了草图,但对于简单的UI设计,直接写代码要更方便一些。
主要功能:

  • 传感器数据显示
  • 传感器历史数据曲线,数值上下警示线
  • 电机控制开关
  • 灯光色彩设置及开关

云服务

使用的ESP Rainmaker做的云服务,库封装程度很高,非常便于快速开发。借助于RainMaker可以在手机APP上执行类似于“屏幕交互”中的功能,同时还可以设置定时任务,自动执行规则等,功能比较丰富。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值