基于行空板K10的植物生长监视仪

2025-03-022830
AI 快速预览详细 收起
基于行空板K10的植物生长监视仪是一个STEM教育项目,通过监测温度、光照和土壤湿度,帮助学生了解智能农业技术。该项目使用行空板K10和传感器,通过互联网将数据传输至云端。适用于STEM教育场景,有助于培养学生的数据分析能力。
在21世纪的农业领域,科技的进步正以前所未有的速度改变着传统农耕方式。智能农业作为现代农业的重要组成部分,通过引入物联网(IoT)、大数据、人工智能(AI)等先进技术,正在逐步实现农业生产的精细化和智能化管理。

基于行空板K10的植物生长监视仪监测植物生长环境的温度、光照和土壤湿度,并通过互联网传输至云端,方便随时随地查看植物生长环境状态。

使用的材料:
行空板K10、土壤湿度传感器。
基于行空板K10的植物生长监视仪图1

实现的模块化代码如下:
基于行空板K10的植物生长监视仪图2

C源码如下:
  1. /*!
  2. * MindPlus
  3. * esp32s3bit
  4. *
  5. */
  6. #include <DFRobot_Iot.h>
  7. #include "unihiker_k10.h"
  8. // 静态常量
  9. const String topics[5] = {"temperature","light","humidity","",""};
  10. // 创建对象
  11. UNIHIKER_K10 k10;
  12. uint8_t      screen_dir=2;
  13. DFRobot_Iot  myIot;
  14. AHT20        aht20;
  15. // 主程序开始
  16. void setup() {
  17.         k10.begin();
  18.         k10.initScreen(screen_dir);
  19.         k10.creatCanvas();
  20.         k10.setScreenBackground(0xFFCC99);
  21.         myIot.wifiConnect(" ", " ");
  22.         while (!myIot.wifiStatus()) {}
  23.         k10.canvas->canvasText(myIot.getWiFiSoftIP(), 1, 0x0000FF);
  24.         k10.rgb->write(1, 0xFFFF00);
  25.         myIot.init("192.168.99.143","siot","36148494345778936","dfrobot", topics, 1883);
  26.         myIot.connect();
  27.         while (!myIot.connected()) {}
  28.         k10.rgb->write(2, 0x0000FF);
  29.         delay(1000);
  30. }
  31. void loop() {
  32.         k10.canvas->canvasText("植物生长监视仪", 0, 10, 0x0000FF, k10.canvas->eCNAndENFont24, 50, true);
  33.         k10.canvas->canvasText(aht20.getData(AHT20::eAHT20TempC), 0, 60, 0x0000FF, k10.canvas->eCNAndENFont24, 50, true);
  34.         k10.canvas->canvasText((analogRead(P0)), 0, 120, 0x0000FF, k10.canvas->eCNAndENFont24, 50, true);
  35.         k10.canvas->canvasText(k10.readALS(), 0, 180, 0x0000FF, k10.canvas->eCNAndENFont24, 50, true);
  36.         k10.rgb->write(0, 0x00FF00);
  37.         k10.canvas->updateCanvas();
  38.         myIot.publish("siot/temperature", aht20.getData(AHT20::eAHT20TempC), 1);
  39.         myIot.publish("siot/light", k10.readALS(), 1);
  40.         myIot.publish("siot/humidity", (analogRead(P0)), 1);
  41.         delay(5000);
  42.         k10.rgb->write(0, 0x000000);
  43. }
复制代码


SIOT服务端数据
基于行空板K10的植物生长监视仪图3

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(0)
- 没有更多了 -