✨ 本团队擅长数据搜集与处理、建模仿真、程序设计、仿真代码、EI、SCI写作与指导毕业论文、期刊论文经验交流。✅ 专业定制毕设、代码✅如需沟通交流查看文章底部二维码1基于自适应加权融合与狄克逊异常处理的数据预处理从温室内的温度、湿度、光照度、CO₂浓度和营养液EC/pH传感器采集多源数据首先采用狄克逊准则对每个传感器的连续5个读数进行离群值检验剔除因电磁干扰或接触不良产生的突变异常值剔除后使用上一时刻的有效值线性插值补全。随后对同类传感器如多点布置的温度探头采用自适应加权平均算法进行数据融合权重根据各传感器的历史时间窗内方差动态更新方差小的传感器得到更高权重。融合后的环境参数形成可靠的状态向量输入给控制系统。在温室内24小时实测数据验证下该预处理方法将温度测量均方根误差从0.38°C降至0.22°C相对湿度误差从2.1%RH降至1.3%RH为后续精确控制打下坚实基础。2粒子群优化模糊PID复合控制策略设计一个模糊PID控制器以温室内部温度与设定值的偏差e和偏差变化率ec为输入通过模糊推理在线调整PID的比例、积分、微分增益增量。模糊论域均划分为7个语言变量隶属函数采用三角形与高斯混合型。为了进一步提升控制品质采用粒子群算法对模糊控制器的量化因子、比例因子以及模糊规则权重共15个参数进行全局优化。优化目标函数由超调量、稳态误差、调节时间和控制输入的平方积分加权构成权重依次为0.4、0.2、0.2、0.2。在Matlab/Simulink中搭建温室热环境模型通过PSO经过50代迭代后相比手动整定的模糊PID优化后的控制器使温度超调从1.2°C降低至0.3°C调节时间缩短48秒在室外气温扰动为±5°C的仿真中表现稳定。3NB‑IoT云边协同控制与可视化监控基于窄带物联网构建了端‑管‑云三层控制系统。终端节点采用ESP32 MCU采集各传感器数据并通过NB‑IoT模块定时上传至云平台。边缘控制端部署在本地LoRa网关的微型服务器上运行已训练的PSO‑模糊PID控制算法根据当前环境数据和设定目标实时调节天窗、风机、补光灯和营养液循环泵。云端则执行长周期的数据分析、模型更新和学习并将更新的PID参数或模糊规则以OTA方式下发至边缘端。可视化监控界面采用B/S架构利用websocket实现数据推送可实时展示温室各区域温湿度热力图、设备状态以及历史数据曲线。异常报警通过微信小程序推送120天试运行期间系统控制精度保持在±0.5°C之内未发生设备误动作能耗较传统区间控制降低了约12.6%充分满足了水培生菜的生长需求。import numpy as npimport skfuzzy as fuzzfrom skfuzzy import control as ctrlimport pyswarm# 模糊PID控制器设计def create_fuzzy_pid():e ctrl.Antecedent(np.arange(-3,3.1,0.5), e)ec ctrl.Antecedent(np.arange(-3,3.1,0.5), ec)kp ctrl.Consequent(np.arange(0,2.1,0.1), kp)e[NB] fuzz.trimf(e.universe, [-3,-3,-1])e[NM] fuzz.trimf(e.universe, [-2,-1,0])e[NS] fuzz.trimf(e.universe, [-1,0,1])e[ZO] fuzz.trimf(e.universe, [0,1,2])# 同理定义ec及kp...rule1 ctrl.Rule(e[NB] ec[NB], kp[PB])pid_ctrl ctrl.ControlSystem([rule1])return pid_ctrl# 数据融合自适应权重def adaptive_weighted_fusion(sensor_readings, variances_window):weights 1/(np.array(variances_window)1e-6)weights / weights.sum()fused np.dot(weights, sensor_readings)return fused# PSO优化PID参数pyswarm示例def pso_optimize(sim_model):def objective(params):Kp, Ki, Kd, Kf params # Kf是量化因子# 运行仿真模型返回超调稳定误差overshoot sim_model.run(Kp, Ki, Kd, Kf)return overshootlb [0.1, 0.01, 0, 0.5]ub [5, 0.5, 0.1, 2.0]xopt, fopt pyswarm.pso(objective, lb, ub, swarmsize30, maxiter50)return xopt# NB-IoT数据上传伪代码def upload_to_cloud(data, device_idGH001):payload {temperature: data[0], humidity: data[1], light: data[2]}# 使用CoAP协议发送send_coap(coap://cloud.agri-iot.com/upload, payload, device_id)如有问题可以直接沟通