智能草莓种植系统模型设计
2023-10-24黄道陈敏敏
黄道,陈敏敏
(1.汕尾职业技术学院,广东 汕尾 516600;2.汕尾市海洋产业研究院,广东 汕尾 516600)
0 引 言
随着汕尾积极推进农业和旅游业,目前在汕尾周边的各类种植基地正在快速增加,种植作物的种类多样,已成规模;在监测植物的环境参数方面,采用的都是普通独立的测试仪器,如水银温度计等,其测量需要人工进行观察和记录,最后再由技术人员进行分析,结合植物的生长情况,给予接下来的种植策略[1]。喷洒和灌溉也是由人工控制时间和水量,需要较多的人工去管理和实施。结合上面的情况,针对其中的草莓种植,融合物联网、图像识别、传感器、软件设计、芯片编程等技术和草莓生长需求的环境因素,设计一套集生长环境监测、生长状况分析、智能给予种植策略和控制方案于一体的种植系统模型。
1 系统总体框架
系统总体框图如图1 所示。 系统主控芯片为STM32103C8T6,其负责对各传感器信息的采集,包括温湿度传感器、光照传感器、土壤pH 值传感器等,主要对草莓的生长环境的各项参数进行监测。主控芯片对电磁阀、水泵、RGB 灯等外部执行设备进行驱动控制,此部分主要是通过施肥、浇水、补充光照、通风等手段,实现对环境因素的调整和改变[2]。通过GPRS 模块将系统接入互联网,从而实现远程监控和数据采集分析、远程操控和处理。
图1 系统总体框图
系统软件和服务器方面,包括手机应用、网络数据库、网页服务器,主要实现数据的互联网存储、分享和传输以及人机的交互。
2 系统硬件设计
系统硬件主要包括主控芯片电路、传感器电路、控制外设电路、图像处理模块电路、GPRS 模块电路、电源电路等部分。
2.1 主控芯片电路
系统主控芯片采用STM32C8T6,主控芯片电路主要由其最小系统电路构成,具体电路及与外部连接如图2 所示。
图2 系统主控芯片STM32 最小系统电路及连接
主控芯片电路的作用主要是完成整个系统的协调、管理、控制,包括驱动各类传感器实现环境参数的监测,驱动各个电机、电磁阀等外设实现控制灌溉、遮阳、施肥、照射等功能;与图像处理模块OpenMVplus 进行通信,获取其处理图像的识别结果;与GPRS 模块进行通信,并通过其接入互联网服务器,总体分析、处理信息,采用对应的种植策略。
2.2 GPRS 模块电路
GPRS 模块电路及其连接如图3 所示。GPRS 模块电路主要实现将系统通过移动4G 网络接入互联网的功能,采用串口通信与主控芯片进行交互[3]。
图3 GPRS 模块电路
2.3 OpenMVplus 图像处理模块电路
OpenMVplus 图像处理模块电路如图4 所示。
图4 OpenMVplus 图像处理模块电路
OpenMVplus 图像处理模块电路主要功能是对草莓生长图像进行分析和处理,通过机器学习识别草莓的各个生长期及生长状况异常与否,并将结果通过串口通信发送给主控芯片进行处理。
2.4 传感器电路
传感器电路包括空气温湿度传感器、土壤湿度传感器、pH 传感器、光照传感器等。
DHT11 温湿度传感器电路如图5 所示,其功能主要是对种植环境空气的温湿度值进行检测。
图5 DHT11 温湿度传感器电路
土壤pH 值传感器电路如图6 所示,其使用探头对土壤的酸碱度进行测试,传感器可将pH 值转化为电压值,主控芯片通过A/D 口进行读取,同时使用实验测试得到的转化公式,将其转化为pH 值。
图6 土壤pH 值传感器电路
土壤湿度传感器主要使用探头对土壤的湿度进行检测,其输出的湿度量为电压模拟值,主控芯片使用A/D 口对其进行读取,再转化为湿度值。土壤湿度传感器电路如图7所示。
光照传感器电路如图8 所示,采用GY30 光照传感器模块,主控芯片使用I2C 通信与其进行通信,获取光照值[4]。主要用于测试种植环境的光照度和对系统光照度的调整。
图8 光照传感器电路
2.5 外部设备电路
外部设备电路包括步进电机及驱动电路模块、电磁阀、水流霍尔传感器、太阳膜卷动电机及其驱动电路、RGB 全彩LED 灯板、固态肥料施肥电机电路等。
RGB 灯板电路采用WS_2812 灯板,灯板自带驱动,主控芯片只需要用一个I/O 口便可进行驱动控制,驱动控制方便,如图9 所示。灯板主要起到补照蓝紫灯光的作用,使用PID 算法进行调制,当日间照射的光照度不够时,增加蓝紫灯光的照射,保存稳定的光照。
图9 WS_2812 RGB 灯板电路
太阳膜卷动步进电机电路分两个电机进行控制,一个步进电机控制顶部的遮阳膜的卷开和卷合,控制阳光的入射;另外一个步进电机控制侧面的太阳膜的卷合,此部分主要通过卷闭来控制大棚的通风,调节空气的流动,从而间接控制大棚内的温湿度。采用步进电机可精准控制其卷合的程度,搭配重力块,可实现拉和放两个方向移动。太阳膜卷动控制步进电机电路如图10 所示。
图10 太阳膜卷动控制步进电机电路
滴灌控制电路如图11 所示。主控芯片使用管脚PB0 对霍尔元件的输出脉冲信号进行采集,判断、计算当前的出水流量,并通过PA6 管脚控制水流电磁阀的关闭,控制出水,两者结合,精确控制出水流量,从而实现对水、水肥定量滴灌的控制[5]。
图11 滴灌控制电路
固态肥料施肥电机电路如图12 所示。采用底部漏孔配合履带旋转挡板的步进电机,当电机旋转一周时,挡板推动肥料经过底孔,完成一次量的下料,通过控制旋转次数控制肥料的下料量。
图12 固态肥料施肥电机电路
2.6 系统电源电路
系统电源电路主要提供系统芯片、驱动板、电磁阀等各模块的需求的电压值。对220 V 交流电进行变压整流,再经稳压芯片处理,从而提供不同的电压需求。电源电路如图13所示。
图13 系统电源电路
3 软件系统设计
软件系统主要包括以下几个部分的设计:主控芯片的程序设计、OpenMV 图像识别模块的程序设计、手机应用APP软件设计、网络服务器和数据库的软件设计。
3.1 主控芯片的程序设计
主控芯片STM32F103C8T6 的程序设计流程如图14所示。
图14 主控芯片程序流程
主控芯片主要负责整个系统各个模块之间的通信、协调、驱动、控制等工作。
(1)系统初始化:各个串口波特率设置、I/O 口模式设置、与服务器时钟芯片进行时间校准等工作。
(2)读传感器:驱动DHT11 空气温湿度模块读取空气的温湿度,采用ADC 管脚获取土壤湿度模块的湿度A/D 值,并经过比例转化,从而获取土壤的湿度值;使用第二路ADC管脚获取pH 传感器模块输出的pH 转化A/D 值,经换算,获得土壤的pH 值;同样,使用第三路ADC 管脚获取光照传感器的光照值。
(3)读取图像处理结果:使用设定的协议,经串口与OpenMVplus 进行通信,读取其图像分析的结果。
(4)数据联网:将获取到的传感器和图像信息经GPRS模块,通过4G 网络发送到网络服务器,并存储到网络数据库相对应数据标签的数据条中,同时获取控制指令标签的值。
(5)数据分析和控制:对获取到的信息进行分析,当空气中温度过高或过低时,驱动侧面太阳膜电机卷开或卷合太阳膜,通过密闭或流动来调节相同棚内的温度。当土壤或空气的湿度过低、干燥时,则通过控制电磁阀打开进行点滴灌溉;同时读取水流霍尔传感器的脉冲数,并将脉冲数换算为水容量,通过控制电磁阀控制滴灌给水量。当湿度太大时,则控制卷膜打开,进行通风降湿。对土壤pH 值进行分析,如果处于草莓适合的环境5.5 ~6.5 时,则不作处理;如果超过了,则控制施肥电机工作,施加硫磺粉、生石灰的肥料来调整土壤的pH 值。pH 值的调整正常在种植前(配合APP操控)完成调整。分析获取的光照值,当白天光照值较低时,采用PID 算法[6]进行调控,公式为:
为了在芯片程序中实现,做离散处理,公式如下:
经实验测试和调参,Kp值设置为0.5,Ki值设置为0.2,Kd值设置为0.1,调节频率为500 μs/次,灯光系统照射稳定,使得RGB 全彩灯在白天照射度不足时,保持恒定的蓝紫灯光,促进草莓生长。OpenMV 图像处理模块采用机器学习的方法,使其能够对草莓的各个生长阶段进行识别区分。主控芯片则根据识别的结果按照苗期、现蕾期、果实膨大期、采收期结合种植时间(结合APP 设置种植日期点以及时钟芯片获取种植时间)进行特定种类和容量的施肥[7]。当识别到生长异常时,则通过网络和APP 提醒技术人员及时进行分析和处理。
3.2 OpenMVplus 图像处理模块程序设计
OpenMVplus 图像处理模块主要用于对草莓生长图像的分析。借助边缘设备机器学习开发平台Edge Impulse 服务器进行训练,准备草莓4 个生长周期的各数百张正常生长图片和特殊的异常图片,创建采用迁移学习模型,设置模型训练的参数,进行训练机器分类[8]。最终生成机器识别模型,将该模型生成Python代码,再调配到OpenMV上作为程序基础,进行程序设计。具体程序流程如下:
(1)初始化:进行波特率设置、图像识别准备工作等。
(2)定时识别:每隔一个小时,拍摄一张草莓生长图片,将该图片加载入训练的模型中进行识别,获取该图片与各模型的相似度,取相似度最高的作为识别结果。
(3)串口通信:将该数据以设定的通信协议发送到主控芯片上进行处理。
3.3 Android 系统手机APP 设计
Android 手机APP 采用AppInventor 进行设计,其功能主要是实现对种植系统的远程查看和控制,其设计分为组件设计和程序设计两块。
组件设计主要为APP 界面设计,主要包括两个部分:
(1)显示部分:主要作为监测数据的显示,包括温湿度、光照度、种植时间、生长时间、生长期、生长情况、pH 值、近3 个区域天气等显示标签设计。
(2)操控部分:主要用于远程操控的按键和双态开关组件,包括滴灌、施肥、开启/卷合顶部和侧边太阳膜、蓝紫灯照射控制等对应系统外部硬件设备的控制组件。
程序设计思路:
(1)应用启动后,通过HTTP 协议发送get 请求到网络服务器中,获取数据库种植系统上传的各个环境参数,当服务器返回参数信息时,进行json 解码和提取,再将相对应的信息写入到各个显示组件,按照信息设置双态开关的状态。通过HTTP 协议接入和风天气网站服务器,发送包含城市位置和鉴权信息的get 请求到和风天气网站接口,当获取到天气信息时,进行json 格式解码,并按天数进行提取和显示,系统目前使用和风天气免费的接口,能提供未来3 天内的天气信息[9]。
(2)当用户控制组件进行操作时,则将控制信息转化为对应的修改网络数据库中对应标签的修改指令语句,使用HTTP 协议封装,并采用post 请求的方式发送到网络服务器中,网络服务器接收后再将其写入网络数据库中,从而修改数据库中相对应的数据标签。
3.4 网络服务器和数据库的软件设计
网络服务器和数据库主要作为物联网平台,连接硬件系统和手机应用,还有正在开发中的PC 应用,实现它们之间的通信功能。
网络服务器和数据库采用购买网络空间进行搭建,数据库采用SQL 数据库,比较轻便灵活。由于该空间支持的数据库不能直接进行远程访问,所以采用PHP 语言设计了一个中转的网页程序服务器asp 程序。通过HTTP 协议为远程的软、硬件系统提供接入中转服务,使得种植系统的软、硬件能够间接接入数据库[10]。SQL 数据库中为种植系统建立数据表,表中每一个环境参数和控制状态量分别建立一个数据列,而网页服务器程序主要做中转作用,执行硬件系统与应用的写入、读取数据库的指令,再将获取的信息返回到请求源。
4 结 语
系统结合草莓的种植,采用物联网技术、传感器技术、软件应用设计、芯片编程技术、人工智能应用等技术,设计一套具有以下优势的种植系统模型:
(1)智能化:自动检测种植环境的各项参数,并自动或人工进行调节,智能识别草莓的各个生长周期及异常情况,结合种植时间和生长情况采用相对应的种植策略。
(2)远程监控:草莓种植环境的各个环境参数、生长情况和种植系统滴灌、施肥、补光等都进行网络接入,完成远程监视和控制。
综上所述,该种植系统模型结合草莓种植的需求,具有推广价值和经济效益。