图片93
智能鱼塘控制系统软件设计:
1.下位机显示面板设计。
在设计串口屏界面时,使用VGUS软件,根据系统的实际情况,完成主界面、环境监控、环境控制和阀值设置界面的四个功能界面设计。
主界面主要是为用户提供一个功能导航页面,根据当时用户的需要选择要进入的界面,可用于设备异常时的显示和报警,并通过实时监控界面检查当前鱼塘环境的实时参数;控制界面可直接控制外围设备。
2.串口屏界面控制。
默认情况下,系统首先进入主界面,我们可以在主界面进入相应的配置环境,以便我们查看鱼塘的环境参数,如图所示。
通过主界面,可以选择进入环境监测界面,可以看到鱼塘环境各种参数的实时信息,包括控制设备的状态,方便鱼塘工作人员管理,结合底层传感器上传的数据,直观地观察当前鱼塘环境参数和各种设备的控制状态。从主界面到控制界面,可以手动控制或设置调节环境的外围硬件设备。同时,可以联合阈值设置,控制各种环境变量,更快地反馈鱼塘环境因素,实现鱼塘环境控制的自动化。
3.下位机软件设计。
本设计采用STM32F103作为核心控制器,在下机软件设计中采用模块化编程理念,模块化外部驱动和各功能子程序。在主程序中,系统初始化、配置和使系统时钟初始化中断向量表,然后依次配置外部引脚和外部设备初始化。
然后对每个传感器模块、ESP8266WiFi模块等外围设备进行初始化,然后上传下载云中保存的鱼塘控制数据,获取用户通过串口屏操作的控制数据。下一步是运行水温、水位、溶解氧和PH控制子程序。通过这个控制子程序来控制鱼塘环境。接下来,我们将重点关注这些控制子程序。
水温控制子程序。
鱼塘的水温由DS18B20传感器监测。当前温度低于预设水温阀值的下限时,打开热水进水阀;当温度高于预设水温阀值的上限时,打开冷水进水阀,综合鱼塘温度。如果监测到的水温低于预设阀值,则关闭冷水和热水的进水阀。
水位控制子程序。
水位传感器使用超声波模块来监测液位到地面的距离,并获得鱼塘底部到地面的距离,从而计算出鱼塘中的水位高度。如果实际水位高度高于预设阀值的上限,则打开排水泵进行泄洪。当实际水位低于预设阀值的下限时,打开进水泵,增加鱼塘的水量,确保鱼的生存区域。
溶解氧/温度气压控制子程序。
在BMP180传感器检测到当地温度和气压后,直接计算温度和气压与水中溶解氧的计算关系,通过打开充氧机来控制水中的氧含量,水中的氧饱和度不会影响鱼的生长,因此,我们只需要打开水中的氧气。
4.上位机软件设计。
WiFi模块软件设计。
本系统采用ESP8266WiFi模块与智能云的云连接。首先在WiFi模块中烧录智能云GAGENT固件,然后使用GizWiTS协议访问智能云。下一台机器将每30秒与云通信一次,以报告数据并下载控制变更。ESP8266使用指令相互发送请求和响应的方法与STM32建立通信,并使用串口进行通信。
ESP8266有两种入网模式:Airlink和SoftAP。下位机初始化时,将其配置为Airlink;STM32主要向ESP8266发送查询指令和控制指令。ESP8266通过向STM32发送查询指令获得STM32状态;通过发送控制命令,将APP上传到智能云的控制数据发送到下位机。
接入机智云软件设计。
设备接通电源后,在ESP8266WiFi模块首次接入机智云云之前,需要将ESP8266设置为AirLink模式。