当前位置:首页 > 物联网 > IoT设计分享
[导读]许多农民已经开始使用温室农业和智能灌溉系统。新兴的物联网技术和传感器被用于开发灌溉系统,该系统可以根据湿度值、温度等气候条件自动供水。

由于不可预测的天气条件和缺水,世界各地的农民在种植作物方面面临很多困难。传统的灌溉系统耗水量大,供水不均匀。这会影响农作物的质量。

许多农民已经开始使用温室农业和智能灌溉系统。新兴的物联网技术和传感器被用于开发灌溉系统,该系统可以根据湿度值、温度等气候条件自动供水。

在这个项目中,我们正在使用NodeMCU,湿度传感器和LDR构建一个基于物联网的智能灌溉系统。当湿度值低于特定值时,它会自动向植物浇水。它还会将湿度数据发送到Adafruit IO服务器,以跟踪土地状况。Adafruit IO仪表板也将有一些按钮手动打开/关闭电磁阀和灯。本工程采用电磁阀向厂区供水。您可以根据工厂的要求更改电磁阀开启的湿度值。这里我们使用的是NodeMCU ESP8666,这是一个非常流行的基于物联网项目的Wi-Fi模块。

组件的要求

硬件

•NodeMCU ESP8266

•土壤湿度传感器模块

•LDR

•10 k锅

•电磁阀

•继电器模块

•LED

在线服务

•Adafruit IO

基于物联网的智能灌溉系统电路图

使用物联网的智能灌溉系统电路图如下:

在本电路中,土壤传感器连接到NodeMCU的A0引脚上。LDR传感器接D1引脚,Relay模块接NodeMCU的D0引脚。电磁阀连接到继电器模块上,因此每当NodeMCU产生触发器时,它就会洒水。

以下是基于物联网的智能灌溉系统的设置:

Adafruit IO设置

Adafruit IO是一个开放的数据平台,允许您在云中聚合、可视化和分析实时数据。使用Adafruit IO,您可以在互联网上上传,显示和监控数据,并使您的项目启用物联网。您可以使用Adafruit IO控制电机,读取传感器数据,并通过互联网制作酷的物联网应用程序。为了测试和尝试,有一些限制,Adafruit IO是免费使用的。我们以前也在树莓派上使用过Adafruit IO。

1. 要使用Adafruit IO,首先,您必须在Adafruit IO上创建一个帐户。要做到这一点,请访问Adafruit IO网站,点击屏幕右上方的“免费开始”。

2. 在完成帐户创建过程后,登录您的帐户并单击右上角的“AIO密钥”以获取您的帐户用户名和AIO密钥。

当你点击“AIO密钥”,一个窗口将弹出你的Adafruit IO AIO密钥和用户名。复制此密钥和用户名,稍后将在代码中用到。

3. 现在,在此之后,您需要创建一个提要。要创建提要,请单击“feed”。然后点击“Actions”,然后点击“Create a New Feed”,如下图所示。

4. 在此之后,将打开一个新窗口来输入提要的名称和描述。书写描述是可选的。

5. 点击“创建”,然后;您将被重定向到新创建的提要。

在这个项目中,我们总共创建了三个馈源——电磁阀、湿度数据和LED。

创建提要之后,现在创建Adafruit IO仪表板,以便在单个页面上显示所有这些提要。要创建仪表板,请单击dashboard选项,然后单击“Action”,然后单击“create a New dashboard”。

在下一个窗口中,输入仪表板的名称并单击“Create”。

6. 随着仪表板的创建,我们将向仪表板添加提要。要添加提要,请单击右上角的“+”。

首先,我们将添加两个切换按钮块来控制LED和电磁阀。然后是一个用于湿度数据的图形块。

要在仪表板上添加按钮,请单击Toggle块。

在下一个窗口中,它将要求您选择提要,因此单击LED提要。

之后,按照相同的步骤为电磁阀创建另一个Toggle按钮块。

7. 现在要在仪表板上添加图形,请遵循相同的过程,但不是创建RESET块,而是为图形视图创建折线图块。

在创建了所有的块之后,我的仪表板看起来是这样的:

您可以通过单击设置按钮来编辑仪表板。

智能灌溉系统的NodeMCU编程

要对NodeMCU进行智能灌溉系统编程,请将NodeMCU用Micro USB电缆连接到笔记本电脑上,然后打开Arduino IDE。在这个程序中,只有Adafruit MQTT库被用作外部库。你可在此下载资料库:

Adafruit_MQTT.h

要用Arduino IDE编程NodeMCU,请进入File - > preferences - >Settings。

在“附加板管理器URL”字段中输入,然后单击“确定”。

现在转到Tools > Board > Boards Manager。

在板管理器窗口中,在搜索框中输入esp, esp8266将在下面列出。现在选择最新版本的电路板并单击install。

安装完成后,进入“工具>单板> NodeMCU 1.0(ESP-12E模块)”。现在您可以使用Arduino IDE对NodeMCU进行编程。

完整的代码在本教程的末尾给出,在这里我们一步一步地解释程序,以便您可以轻松地理解这段代码的工作。

通过包含所有必需的库开始编写代码。

然后包括从Adafruit IO服务器复制的WiFi和Adafruit IO凭据。这些将包括MQTT服务器、端口号、用户名和AIO密钥

设置你要发布内容的提要。这里,AgricultureData是提要名称。

设置你订阅的订阅源。这里的“LED”和“Pump”是feed的名称。

从A0引脚读取LDR读数并比较读数。如果读数小于200,则打开LED,否则关闭LED。

从传感器读取湿度读数,并将读数与所需值进行比较。如果低于所需值,则打开水泵,否则关闭水泵。

每5秒将湿度数据发布到Adafruit IO feed。

阅读订阅的提要。如果字符串是‘ OFF ’,然后打开LED/水泵,如果字符串是‘ on ’,然后关闭LED/水泵。

最后,这是水分数据在Adafruit IO仪表板上的样子:

这就是基于NodeMCU的物联网智能灌溉系统的工作原理。你可以扩展这个项目,使用更多的传感器来测量其他参数,如湿度、压力、温度等。我们之前已经建立了一个基于ESP8266的气象站来读取所有这些值。

本文编译自iotdesignpro

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭