24小(xiǎo)时联系電(diàn)话:18217114652、13661815404

中文(wén)

您当前的位置:
首页>
電(diàn)子资讯>
技术专题>
低成本智能(néng)农业系统

技术专题

低成本智能(néng)农业系统


低成本智能(néng)农业系统

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

该项目同样适用(yòng)于建筑物(wù)中的室内植物(wù),温室种植以及常规种植。Adafruit物(wù)联网平台用(yòng)于在線(xiàn)监控各种传感器的状态。
低成本智能(néng)农业系统的框图如图1所示。项目的作者原型如图2所示,而其電(diàn)路图如图3所示。

2:作者的智能(néng)农业系统原型

3:智能(néng)农业系统的電(diàn)路图

電(diàn)路与工作

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

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

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

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

振动传感器VS1连接到NodeMCUD8引脚。工厂附近的任何振动都被记录為(wèi)有(yǒu)害活动,它通过NodeMCU板上内置LED的发光向用(yòng)户发出警报。

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

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

通过选择線(xiàn)从74HC4067多(duō)路复用(yòng)器模块选择输入后,来自多(duō)路复用(yòng)器的可(kě)通过引脚SIG获得的单路输出连接到NodeMCU的模拟输入A0NodeMCU控制器处理(lǐ)输入信号并打开灯或激活螺線(xiàn)管,然后将信号连接到Internet

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

為(wèi)了控制交流電(diàn)压操作的灯和電(diàn)磁阀向工厂供水,NodeMCUD7D5引脚分(fēn)别连接到继電(diàn)器模块的输入引脚IN2IN1

软件

Arduino IDE用(yòng)于对NodeMCU板进行编程。将NodeMCU连接到PC /筆(bǐ)记本電(diàn)脑,然后从Arduino IDE工具菜单中选择正确的COM端口和板名称。该项目中使用(yòng)的板名如图4所示。

4:选择板作為(wèi)NodeMCU 1.0ESP-12E模块)

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

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

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

生成一个密钥并记下该密钥。这是一个長(cháng)而唯一的标识符,可(kě)用(yòng)于使用(yòng)您的帐户对任何设备进行身份验证。每个帐户只有(yǒu)一个密钥,但是您可(kě)以随时撤消并重新(xīn)生成密钥。

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

5Adafruit IoT平台上的Feeds窗口

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

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中添加所有(yǒu)提要,以在仪表板上显示来自传感器的实时数据,如表3所示。

有(yǒu)关使用(yòng)Adafruit IoTArduino进行配置的更多(duō)详细信息,请参见源代码文(wén)件夹中的使用(yòng)AdafruitArduino进行配置文(wén)档文(wén)件。

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

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

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

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

6Arduino IDE中的软件配置

完成所有(yǒu)電(diàn)路连接后,打开NodeMCU板并打开Adafruit IoT仪表板。您将看到如图7所示的内容。

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

请输入搜索关键字

确定