基于树莓派的智能灌溉系统
本文设计了一种基于树莓派2和8051单片机的实时自动灌溉系统,结合GSM与Web应用实现远程监控。系统通过ZigBee传输传感器数据,当土壤温湿度或水位异常时触发报警并支持远程控制电机启停,有效节约农业用水。
基于GSM和Web应用并使用树莓派2与8051的实时自动灌溉系统
1. 引言
在全球范围内,近60百分比的土地用于农业,且农业消耗了地球上80百分比的可用水资源。用水量正在不断增加,自1950年以来用于不同用途的淡水使用情况如图1所示。

因此,经济地用水非常重要。本文介绍了一种使用树莓派2和8051单片机的自动灌溉系统。此前,已有许多系统通过自动设备来减少灌溉系统中的用水量,但均未针对实时应用开发。
本文介绍了关于实时灌溉系统的内容。实时系统中的主要问题是数据无法直接传输到网络上,因为农场位于偏远地区。因此,在本论文中,我们使用了两个控制器,其中一个控制器负责跟踪各个传感器的数据,并通过无线通信设备将这些数据传输到另一个控制器。
为了采集传感器的数据,我们采用了8051单片机。数据通过ZigBee收发器在两个控制器之间进行传输。树莓派2是另一个用于控制全球移动通信系统和网络应用的控制器。该系统为每个传感器设置阈值,当传感器超过其阈值时,系统将向用户发送消息,并在网络应用中显示。
2. 系统概述
2.1 树莓派2
树莓派2充当CPU,可连接显示器、键盘或触摸屏以及所使用的外设。树莓派2有多种型号可供选择。本文使用的是B型,其处理速度是之前其他型号的六倍。
树莓派2 B型配备了博通BCM2836处理器。BCM2836是一款高性能的基于ARM Cortex‐A7的四核处理器,工作频率为900兆赫,内存容量可达1吉字节。它具有40引脚的GPIO接口,用于将外部设备与处理器进行接口通信。通信介质包括I2C、CAN、SPI,在本项目中,全球移动通信系统(GSM)直接连接到GPIO的TRX和RXI引脚。

该树莓派2基于Raspbian操作系统运行。不同类型的树莓派使用不同的操作系统。Raspbian是一种基于Debian的开源操作系统,针对树莓派硬件进行了优化。该树莓派2包含基于OpenCV的图像处理库。
本项目使用Qt Creator创建应用程序。Qt Creator采用了C++、JavaScript和QML集成开发平台,是Qt图形应用程序开发软件开发工具包的一部分。它包含可视化调试器和农场设计器。Qt Creator为不同的操作系统使用不同的编译器:在Linux系统上使用GNU编译器中的C++编译器,在Windows系统上则可使用MinGW或MSVC,默认安装即可。
全球移动通信系统(Global System for Mobile communications)是一种用于传输语音和数据服务的数字蜂窝技术。全球移动通信系统采用时分多址(TDMA),并在两个频段上运行,即900兆赫或1,800兆赫频段。使用全球移动通信系统进行的数据传输和消息发送最高速度可达9.6千比特/秒。全球移动通信系统通过发送和接收引脚(TXI, RXI)及共地直接连接到树莓派2。全球移动通信系统的TXI引脚连接到树莓派2的RXI引脚,全球移动通信系统的接收引脚连接到树莓派2的发送引脚。

然后将通过GSM调制解调器向用户发送消息。用户必须登录网络应用来控制电机,或发送消息给控制器以停止电机。该系统为用户提供两种控制电机的方式:基于网络或通过消息。系统包含多个传感器节点,每个节点包含温度传感器、湿度传感器、水位传感器和电机。每个传感器节点将根据传感器和电机的范围进行布置。
通过使用这种灌溉系统,我们可以节约淡水。这类系统在当今十分必要,有助于减少用水量并促进作物生长。使用该系统可将农场淡水使用量减少近10个百分点。本文主要包含三个章节:系统概述、操作和系统实现。
2.2 传感器模块
温度传感器
传感器将一种能量转换为电能,此处我们希望感知周围环境的温度。为此,使用LM35作为温度传感器。LM35是一种集成温度传感器,其输出电压随温度呈线性变化。LM35的输出为模拟信号,通过模数转换器(ADC)将其转换为数字信号。经过ADC转换后的数字数据被送入8051单片机。

湿度传感器
土壤湿度传感器用于测量土壤湿度。在农业中测量土壤湿度有助于农民更高效地管理灌溉系统。在关键的植物生长阶段,农民使用较少的水来种植高质量的作物。该土壤湿度传感器可在所有类型的土壤中提供可靠的读数,并可安装在土壤表面或深层。此传感器测量的是体积土壤湿度含量,精度为±3%。

ZigBee收发器
ZigBee收发器用于无线地从一个地方发送或接收数据。在本项目中使用了两个ZigBee收发模块,其中一个连接到8051单片机,用于将传感器的跟踪数据发送到树莓派2,反之亦然。ZigBee以数据包的形式安全地发送或接收数据。它基于IEEE 802.15.4物理层和MAC层传输数据。其数据传输速率有多种,如250 kbps(@ 2.4 GHz)、40 kbps(@ 915 MHz)和20 kbps(@ 868 MHz)。
3. 操作
整个系统的框图如图6所示。该系统分为两部分,即传感器部分和控制部分。传感器部分包含8051单片机。该控制器持续读取连接到其上的所有传感器的传感器值。此处使用LM35作为温度传感器,其输出为模拟信号。因此,需要使用模数转换器将模拟信号转换为数字信号。湿度传感器用于检测土壤的湿度,同样水位传感器用于检测水位。

当电机处于开启状态时,传感器用于检测土壤中的水位。8051单片机持续读取所有传感器数据。这些采集到的数据通过ZigBee收发器传输到控制部分的处理器。我们将利用ZigBee收发器安全地、快速地发送或接收传感器数据。
控制部分由搭载BCM2836处理器和1GB内存的树莓派2组成。它通过连接的ZigBee收发器获取所有传感器数据。树莓派2通过GSM消息和网络应用控制农场中的电机。我们为每个传感器设置了一个阈值,当某个传感器超过其阈值时,用户将通过GSM调制解调器收到消息。此时,用户可以通过发送消息或Web选项来控制电机。
整个系统的操作通过图7所示的流程图进行说明。最初,每个传感器节点上的传感器读取其数值。单片机获取这些传感器数据并将每个传感器的读数与阈值进行比较。

如果任何传感器超过其阈值,将通过GSM向用户发送消息。在特定节点处,电机可在无需人为干预的情况下自动开启。用户还可以通过两种方式控制特定节点的电机:通过发送消息或使用网络应用。用户可通过手机向GSM调制解调器发送如mon或moff的消息来控制电机。在使用网络应用的情况下,用户通过IP地址登录并控制电机。
4. 系统的实现
系统的整个硬件套件如图8所示。树莓派2与鼠标、键盘、显示器以及组件连接,如图8所示。系统的实现通过使用Linux命令完成。在运行此应用程序时,该值

每个传感器获取的数据如图9所示。该系统的网络应用如图10所示。该网络应用包含带有IP地址的服务器名称。当用户想要控制系统时,可登录网页应用程序进行控制,或通过向GSM调制解调器中的SIM卡发送消息来控制。


5. 结论
该基于GSM和网络的实时灌溉系统可节约用于农业目的的淡水。该系统实时且高效地运行,用户可通过消息或网络应用程序轻松操作灌溉系统。该系统通过理解与分析土壤湿度和温度等土壤参数,实现对作物的自动浇灌。系统采用易于集成的无线 ZigBee收发器进行数据的发送与接收。所使用的控制器、组件和软件均面向实时应用。
更多推荐



所有评论(0)