热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python物联网驱动_树莓派驱动的物联网滴灌系统

MAKER:Technovation/译:趣无尽Cherry(转载请注明出处)本次介绍的是一个由树莓派驱动的物联网滴灌系统,比往期《用树莓

MAKER:Technovation/译:趣无尽 Cherry(转载请注明出处)

本次介绍的是一个由树莓派驱动的物联网滴灌系统,比往期《用树莓派制作一款自动浇灌系统》的功能更加完备。

利用物联网来监测和维护植物的正常生长,使用现有的工具,将传感器与植物相结合,监测植物的实时状态。项目还构建了一个App,可以根据反馈的数据来进行相应的操作。

项目可扩展,成本低且易于上手。你也可以试试哦!

材料清单

树莓派×1

Grove Pi 扩展板×1

传感器外壳×1

12V 电磁阀×1

温湿度传感器(dht11)×1

土壤湿度传感器×1

光线传感器×1

继电器模块×1

12V 电源×1

1 英寸松木板(300×10cm)×1

1/4 英寸胶合板(120×80cm)×1

防水布(180x275cm)×1

PVC管(长30cm,直径2cm)×1

水管(250cm)×1

弯管接头×2

螺丝x30

3D 打印

所有 3D 打印的文件,请在文件项目库中下载。

https://make.quwj.com/project/130

如需更改,请根据自己的实际情况进行修改。使用 Creality Ender 打印零件大约需要八个小时。

水管接头 30%填充x1

喷嘴适配器 30%填充x3

水管塞子 30%填充x3

钩子 30%填充x2

传感器底座 20%填充x1

阀门适配器 20%填充x1

电线盖子 20%填充x1

系统工作原理

IOT 系统运行过程如下:

1、树莓派采集数据信息,例如光照、温湿度和土壤中的水分含量等。

2、将各种传感器的数据传送到云数据库中。

3、使用智能手机应用程序在任何地点访问。用户可以将指令(例如水泵的状态)发送至滴灌系统并执行相关的命令。

项目的主要特点:

1、各种传感器的数据实时反馈。

2、建立植物生长状况数据库。

3、可以全球监测和运行。

4、滴灌系统。

5、App 控水系统。

6、自动浇水时间设定。

我们使用 Google 的 Firebase 作为物联网系统的中介,创建免费的云数据库。然后使用 MIT 的 App Inventor 创建了一个与 Firebase 数据库和树莓派兼容的智能手机应用程序。也可以使用免费的 Python 库与数据库进行传送。

制作木边框

制作一个木制边框将植物放入其中,其木制结构部分的尺寸将根据种植的植物来决定。本项目中所需的木板尺寸如图所示。

1、制作边框

使用松木来制作边框,盒子内部尺寸为 70cm×50cm,高度为 10cm。

使用圆锯切割出四根长条。标记好需要钻孔的地方。在木框边缘钻八个埋头孔并确保边框是正方形,最后将其固定。

2、制作底部面板

使用 5cm 厚的胶合板制作底部面板,切割好后安装到边框上。确保孔是埋头孔,以便螺钉与底座齐平。

3、钻管道的孔

制作的木制盒子可以种植三排植物。对于滴灌系统,需要在盒子的一侧安装输水的管道。

首先测量连接器的直径,在短的一边等距离钻三个孔。孔的大小与管道的大小相匹配。最后打磨边缘,以便连接。

4、连接水管

连接接头,需要将两根 12cm 长的 PVC 管切开。保持干燥并检查是否平整。

将 3D 打印的接头与两端的 PVC 弯头接头连接,直到它们方向齐平。将面板重新安装到框架上,并使用 3D 打印适配器从内部盖住连接器。所有连接处都会摩擦,需要防水。如果达不到,可以用热胶或特氟隆胶带密封接头。

5、电磁阀

为了控制滴灌系统,我们使用了电磁阀。阀门在发送电子信号时设置为开门,它可自动控制。为了安装它,我们使用中间适配器将一端连接到水源,另一端连接到植物的输水管。需要注意的是要正确的安装连接阀门的方向,通常标记 “IN” 为输入(水龙头)和 “OUT” 为输出(植物)。

连接设备各部件

以下是各种模块和传感器的连接方式,端口位于 Grove Pi 和 shield 上,如图所示。

温湿度传感器==>端口 D4

继电器模块==>端口 D3

土壤湿度传感器==>端口 A1

光传感器==>端口 A0

安装各部件

使用胶合板制作出一个隔离盒便于安装所有的电子设备。如图所示,根据电子设备的布局切割木材并组装好。待胶水干燥后,将电源和树莓派安装到隔离盒中,通过插槽将传感器的线穿入。插槽务必严丝合缝的密封好。

传感器安装座上有孔,便于连接安装传感器的挂钉。将光度和湿度传感器安装在顶部,将土壤湿度传感器安装在可调节插槽上。

为了使隔离盒易于拆卸,使用 3D 打印的挂钩和传感器支架,使盒子可以挂在主结构上。如此,电子产品和 IOT 管理系统可以很容易移植到其他项目上。

创建数据库

注意,这里需要用到墙外的 Google 服务,墙内的话建议寻找替代服务或自建数据库。

1、为系统创建数据库,请点击 Google firebase https://firebase.google.com/访问 Firebase 网站(使用 Google 帐户登录)。

2、单击“开始”按钮,将转到 Firebase 控制台。单击“添加项目”按钮创建一个新项目,按照要求填写。单击“创建项目”按钮完成。

3、请从左侧菜单中选择“数据库”,因为只需要 Firebase 的数据库工具。单击“创建数据库”按钮,选择“测试模式”选项并单击“启用”。

4、通过单击顶部的下拉菜单,将数据库设置为“实时数据库”而不是“cloud firestore”。选择“规则”选项卡并将两个“错误”更改为“正确”,单击“数据”选项卡并复制数据库 URL,稍后将需要此选项。

5、单击项目概述旁的齿轮图标,单击“项目设置”,然后选择“服务帐户”选项卡,最后单击“数据库密钥”并记下安全代码的数据库。完成此步骤后,你就成功创建了可从智能手机和树莓派访问的云数据库。

配置 APP

物联网系统的下一步就是智能手机应用程序。使用 MIT App Inventorhttp://appinventor.mit.edu/作为该项目的定制应用程序。

1、请点击打开 MIT App Inventor 链接并访问网页。点击屏幕上方的“创建应用”,然后使用 Google 帐户登录。

2、请在项目库中下载 .aia 文件。https://make.quwj.com/project/130

打开“项目”选项卡,然后单击“从我的计算机导入项目(.aia)”,然后选择下载好的文件并单击“确定”。

3、在组件窗口中,向下滚动至“FirebaseDB1”,单击它并将“FirebaseToken”,“FirebaseURL”修改为在上一步中记下的值。

完成这些步骤后,你就可以下载并安装该应用程序了。你可以通过单击“构建”选项卡并单击“应用程序(.apk 提供 QR 代码)”直接将应用程序下载到手机上,然后使用智能手机扫描 QR 代码或单击“应用程序”(将 .apk 保存到我的计算机),你可以将 apk 文件下载到计算机上,然后再转移到你的智能手机并安装。

树莓派编程

首先为树莓派下载最新版本的 Raspbian 并安装好。如果你也使用 Grove Pi+shield,请使用最新版本的 Raspbian for Robotshttps://www.dexterindustries.com/raspberry-pi-robot-software/烧录树莓派。下面需要安装一个额外的 Python 库。打开终端并粘贴以下命令:

sudo pip install requests==1.1.0

sudo pip install python-firebase

完成后,请在文件库中下载 .py 文件并将其保存到树莓派的目录中。https://make.quwj.com/project/130

打开文件并向下滚动至第 32 行。在此行中,将“在此处粘贴你的 URL”部分替换为之前记下的数据库 URL,确保将 URL 粘贴到’之间。完成后,打开终端并使用“python”命令运行 python 脚本。

运行 APP

应用程序界面非常的简单明了。前四个图标显示光度,温度,湿度和土壤湿度的实时值。可以通过单击“获取值”按钮来更新这些数据。该按钮将指导树莓派更新云数据库,同时点击“刷新”按钮,刷新屏幕就会刷新数据。

屏幕下方的部分用于滴灌系统。“开”按钮打开水泵,“关”按钮关闭水泵。 “自动”按钮,可以利用各种传感器显示的数值来计算每天所需的确切水量并在每天早上八点和下午四点时给植物浇两次水。

安装防水布

因为土壤中的水分会不断的腐蚀木框,将制作一块防水油布垫放在木框的内部表面上。确保可以将其从两侧拉出,然后用胶水将其固定到位。完成后就可以开始填充土壤。使土壤与木框表面平铺,安装三排滴灌的水管。

在靠近水管的拐角处安装电箱并将土壤湿度传感器埋入土壤中。这样更便于接线,因为电磁阀可以靠近电子设备而且易于连接。

安装滴灌系统

将输液管作为滴灌的水管,根据木框的长度切割出三条滴灌的水管。根据植物之间的间距,钻若干个一毫米的滴水孔。测试水量是否充足,如果不够,则需要扩大孔的尺寸。使用三个塞子将水管两端塞住,确保水只从滴水孔流出。

最后,将管子轻轻地嵌入土壤中,就可以开始灌溉了。

完成

如图所示,IOT 智能种植实验已经运行一个月了。植物都非常的健康。

通过实验,自动模式每天可节省约 12% 的水。当植物通过滴灌浇灌时,它们的根笔直生长,而且给容器中的植物留出更多的生长空间。唯一缺点是如果要种植更大的植物,则需要更深的容器。

希望你喜欢这个项目。



推荐阅读
  • 从理想主义者的内心深处萌发的技术信仰,推动了云原生技术在全球范围内的快速发展。本文将带你深入了解阿里巴巴在开源领域的贡献与成就。 ... [详细]
  • 对于初学者而言,搭建一个高效稳定的 Python 开发环境是入门的关键一步。本文将详细介绍如何利用 Anaconda 和 Jupyter Notebook 来构建一个既易于管理又功能强大的开发环境。 ... [详细]
  • RTThread线程间通信
    线程中通信在裸机编程中,经常会使用全局变量进行功能间的通信,如某些功能可能由于一些操作而改变全局变量的值,另一个功能对此全局变量进行读取& ... [详细]
  • 本文将详细介绍如何注册码云账号、配置SSH公钥、安装必要的开发工具,并逐步讲解如何下载、编译 HarmonyOS 2.0 源码。通过本文,您将能够顺利完成 HarmonyOS 2.0 的环境搭建和源码编译。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 如何在Django框架中实现对象关系映射(ORM)
    本文介绍了Django框架中对象关系映射(ORM)的实现方式,通过ORM,开发者可以通过定义模型类来间接操作数据库表,从而简化数据库操作流程,提高开发效率。 ... [详细]
  • 问题描述现在,不管开发一个多大的系统(至少我现在的部门是这样的),都会带一个日志功能;在实际开发过程中 ... [详细]
  • 洛谷 P4009 汽车加油行驶问题 解析
    探讨了经典算法题目——汽车加油行驶问题,通过网络流和费用流的视角,深入解析了该问题的解决方案。本文将详细阐述如何利用最短路径算法解决这一问题,并提供详细的代码实现。 ... [详细]
  • 龙蜥社区开发者访谈:技术生涯的三次蜕变 | 第3期
    龙蜥社区的开发者们通过自己的实践和经验,推动着开源技术的发展。本期「龙蜥开发者说」聚焦于一位资深开发者的三次技术转型,分享他在龙蜥社区的成长故事。 ... [详细]
  • 精选10款Python框架助力并行与分布式机器学习
    随着神经网络模型的不断深化和复杂化,训练这些模型变得愈发具有挑战性,不仅需要处理大量的权重,还必须克服内存限制等问题。本文将介绍10款优秀的Python框架,帮助开发者高效地实现分布式和并行化的深度学习模型训练。 ... [详细]
  • 流处理中的计数挑战与解决方案
    本文探讨了在流处理中进行计数的各种技术和挑战,并基于作者在2016年圣何塞举行的Hadoop World大会上的演讲进行了深入分析。文章不仅介绍了传统批处理和Lambda架构的局限性,还详细探讨了流处理架构的优势及其在现代大数据应用中的重要作用。 ... [详细]
  • 【小白学习C++ 教程】二十三、如何安装和使用 C++ 标准库
    【小白学习C++ 教程】二十三、如何安装和使用 C++ 标准库 ... [详细]
  • 原文地址:https:blog.csdn.netqq_35361471articledetails84715491原文地址:https:blog.cs ... [详细]
  • GLiHT数据介绍
    GLiHT数据介绍 ... [详细]
  • 协程作为一种并发设计模式,能有效简化Android平台上的异步代码处理。自Kotlin 1.3版本引入协程以来,这一特性基于其他语言的成熟理念,为开发者提供了新的工具,以增强应用的响应性和效率。 ... [详细]
author-avatar
麻廿_965
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有