24小时联系电话:18217114652、13661815404

中文

您当前的位置:
首页>
电子资讯>
技术专题>
低成本智能农业系统

技术专题

低成本智能农业系统


低成本智能农业系统

这个基于物联网的项目监视植物附近的土壤湿度,温度和湿度水平以及控制站附近的光强度。当水分含量低于阈值水平时,它将打开水电磁阀。它的振动传感器检测种植园附近动物和啮齿动物的运动或任何其他有害活动。

该项目同样适用于建筑物中的室内植物,温室种植以及常规种植。Adafruit物联网平台用于在线监控各种传感器的状态。
低成本智能农业系统的框图如图1所示。项目的作者原型如图2所示,而其电路图如图3所示。

2:作者的智能农业系统原型

3:智能农业系统的电路图

电路与工作

物联网系统的核心是NodeMCU ESP-32 8266 Wi-Fi模块。它用于通过计算机网络将从各种传感器收集的信号传输给用户。这些传感器包括四个土壤湿度传感器(SS1SS4),一个光敏电阻器(LDR),一个振动传感器(VS1)以及一个温度和湿度传感器(DHT11)。

如果附近任何工厂的土壤湿度或湿度水平低于阈值水平(根据程序),NodeMCU中的控制器将通过继电器模块(RM1)打开电磁阀,水开始流动。

LDR模块用于感应控制室中的白天和黑夜情况。如果房间中的光强度低于阈值水平,尤其是在夜间,则通过继电器模块RM1打开光。

传感器DHT11连接在NodeMCUD6引脚上,以监视温度和湿度水平。

振动传感器VS1连接到NodeMCUD8引脚。工厂附近的任何振动都被记录为有害活动,它通过NodeMCU板上内置LED的发光向用户发出警报。

NodeMCU仅具有一个模拟输入(A0引脚),但我们可能需要多达六个传感器才能与MCU接口。通过使用带有NodeMCU-ESP3216×1模拟/数字高速CMOS多路复用器74HC4067可以解决此问题。

土壤湿度传感器SS1SS4和一个LDR传感器模块连接至74HC4067模块的输入引脚C0C4。使用选择线S3S2S1S0选择来自这五个传感器的五个模拟输入的状态。这些选择线由NodeMCUD3D2D1D0引脚控制。表1中列出了它们的连接详细信息。表2中列出了系统中连接的传感器的列表。

通过选择线从74HC4067多路复用器模块选择输入后,来自多路复用器的可通过引脚SIG获得的单路输出连接到NodeMCU的模拟输入A0NodeMCU控制器处理输入信号并打开灯或激活螺线管,然后将信号连接到Internet

DHT11传感器的数据输出连接到NodeMCUD6引脚,用于检测温度和湿度。

为了控制交流电压操作的灯和电磁阀向工厂供水,NodeMCUD7D5引脚分别连接到继电器模块的输入引脚IN2IN1

软件

Arduino IDE用于对NodeMCU板进行编程。将NodeMCU连接到PC /笔记本电脑,然后从Arduino IDE工具菜单中选择正确的COM端口和板名称。该项目中使用的板名如图4所示。

4:选择板作为NodeMCU 1.0ESP-12E模块)

通过单击上载按钮将源代码Program_11973.ino上载到Arduino板。在编译和上传源代码之前,请不要忘记从Library Manager中包括ESP8266WiFi.hDHT11.hAdafruitMQTT库。

NodeMCU Wi-Fi连接到Adafruit.io开源云服务,以在线提供实时数据。消息队列遥测传输(MQTT)是Adafruit.io支持的设备通信协议。

Adafruit.io IoT平台上组织仪表板的步骤:

生成一个密钥并记下该密钥。这是一个长而唯一的标识符,可用于使用您的帐户对任何设备进行身份验证。每个帐户只有一个密钥,但是您可以随时撤消并重新生成密钥。

创建帐户后,您需要管理供稿,以便在仪表板上进行发布,如图5所示。(供稿基本上是一组可以读取或写入的数据,如程序中所指定,根据您的应用程序。)

5Adafruit IoT平台上的Feeds窗口

在此项目中,我们使用了四个湿度传感器(MS1MS4)和一个温度传感器(tmp)。因此,举例来说,如果该程序在代码中使用了以下内容,则需要将每个供稿创建为MS1MS4tmpLHT等,以便在信息中心上进行管理:

Adafruit_MQTT_Publish photocel3 = Adafruit_MQTT_Publish(&mqttAIO_USERNAME“ / feeds / MS1”;
Adafruit_MQTT_Publish photocel4 = Adafruit_MQTT_Publish
(&mqttAIO_USERNAME“ / feeds / MS2”;
Adafruit_MQTT_Publish photocel5 = Adafruit_MQTT_Publish
(&mqttAIO_USERNAME“ / feeds / MS3”;
Adafruit_MQTT_Publish photocel6 = Adafruit_MQTT_Publish
(&mqttAIO_USERNAME“ / feeds / MS4”;
Adafruit_MQTT_Publish photocel1 = Adafruit_MQTT_Publish
(&mqttAIO_USERNAME“ / feeds / tmp”;
Adafruit_MQTT_Publish photocel2 = Adafruit_MQTT_Publish
(&mqttAIO_USERNAME“ / feeds / hum”;
Adafruit_MQTT_Publish photocel7 = Adafruit_MQTT_Publish
(&mqttAIO_USERNAME“ / feeds / LHT”;

您需要在Adafruit IO中添加所有提要,以在仪表板上显示来自传感器的实时数据,如表3所示。

有关使用Adafruit IoTArduino进行配置的更多详细信息,请参见源代码文件夹中的使用AdafruitArduino进行配置文档文件。

现在打开PROGRAM_11973.ino源代码,包括您自己的所有Wi-Fi凭据,包括SSID,密码,用户名和密钥,如下所示。

#define WLAN_SSID“ Samsungi” /// *您的WIFI名称SSIDCHANGE IT1
#define WLAN_PASS“ abcd123456” //
您的WIFI密码CHANGE IT2
#define AIO_SERVER“ io.adafruit.com” // Adafruit
服务器
#define AIO_SERVERPORT 1883
#define AIO_USERNAME“ jitendra41085” // Adafruit
用户名更改(3
#define AIO_KEY“ 859813f4cb144ee5b0f9e124a239a3f4” // adafruit Auth KeyCHANGE IT
4

接下来,通过添加更改软件配置

Arduino IDE中的File / Preferences下,如图6所示。现在您可以保存代码,再次编译,然后将其上传到NodeMCU板上。

6Arduino IDE中的软件配置

完成所有电路连接后,打开NodeMCU板并打开Adafruit IoT仪表板。您将看到如图7所示的内容。

7:具有各种传感器输出的实时数据流的Adafruit.io仪表板

请输入搜索关键字

确定