STM32智能灌溉系统设计与LoRa物联网应用

张开发
2026/4/9 0:26:56 15 分钟阅读

分享文章

STM32智能灌溉系统设计与LoRa物联网应用
1. 项目概述这个基于STM32的智能灌溉控制系统是我去年为一个农业科技公司开发的物联网项目经过3个月的实地测试和优化目前已经在多个温室大棚中稳定运行。整套系统由主控节点和多个采集节点组成通过LoRa无线通信实现数据交互再经由ESP8266上传至OneNET云平台。提示项目采用模块化设计所有硬件都是市面上常见的开发板和外设总成本控制在300元以内非常适合作为毕业设计或创客项目。1.1 核心功能解析系统实现了三大核心功能模块环境监测模块使用DS18B20测量土壤温度精度±0.5℃ADC接口的湿度传感器检测土壤含水量量程0-100%RS485 PH传感器监测土壤酸碱度精度±0.3PH配合DHT11采集空气温湿度。智能控制模块当土壤湿度低于设定阈值默认30%时自动启动水泵光照不足2000lux开启补光灯温度过高30℃启动通风风扇。所有阈值都可通过手机APP远程调整。远程交互模块数据通过MQTT协议上传至OneNET平台实测在开阔地带LoRa传输距离可达1.2kmESP8266确保云端连接稳定性。2. 硬件设计与选型2.1 主控芯片选择选用STM32F103C8T6Cortex-M3内核主要基于三点考虑72MHz主频足够处理传感器数据和通信协议丰富的GPIO和外设3个USART、2个SPI、2个I2C成本优势单价约12元2.2 关键传感器对比传感器类型选型型号接口方式测量范围响应时间单价土壤湿度FC-28ADC0-100%1s8元土壤温度DS18B20单总线-55~125℃750ms6元PH值RS485-PHRS4850-14PH2s85元光照GL5528ADC0-20000lux50ms3元注意PH传感器需要定期校准建议每月一次校准液需单独购买。2.3 通信模块配置LoRa模块采用SX1278芯片的方案关键参数设置频率433MHz发射功率20dBm空中速率2.4kbps工作模式透传ESP8266使用AT固件配置要点ATCWMODE3 // 设置STAAP模式 ATCWJAPSSID,password // 连接WiFi ATMQTTUSERCFG0,1,clientID,username,password,0,0, // MQTT配置3. 软件架构实现3.1 主程序流程图节点端采用状态机设计主要工作流程上电初始化各外设进入低功耗模式STOP模式定时器每5分钟唤醒采集所有传感器数据执行自动控制逻辑通过LoRa发送数据返回低功耗模式3.2 关键代码解析土壤湿度控制逻辑void AutoWaterControl(void) { if(soilHumidity threshold_low !water_pump_status) { GPIO_SetBits(PUMP_PORT, PUMP_PIN); // 启动水泵 water_pump_status 1; SendAlert(Pump ON); // 发送状态通知 } else if(soilHumidity threshold_high water_pump_status) { GPIO_ResetBits(PUMP_PORT, PUMP_PIN); // 关闭水泵 water_pump_status 0; } }LoRa数据包格式字节偏移内容说明00xAA帧头10x55帧头2节点ID1字节3-6土壤湿度float类型7-10土壤温度float类型.........28CRC8校验位3.3 云端对接实现OneNET平台采用MQTT协议关键Topic数据上报$sys/{PID}/{device-name}/dp/post/json命令下发$sys/{PID}/{device-name}/cmd/request/{cmdid}JSON数据示例{ id: 123, dp: { temperature: [{v: 25.6}], humidity: [{v: 62}], ph: [{v: 6.8}] } }4. 实际部署经验4.1 硬件组装注意事项电源处理为电机和继电器单独供电与MCU电源隔离每个电源输入端加装1000μF电解电容长距离供电建议使用18AWG线材防潮措施所有室外接点涂抹硅胶传感器接口使用防水航空插头电路板喷涂三防漆4.2 常见问题排查问题1LoRa通信不稳定检查天线安装应垂直地面修改扩频因子SF9~12避开433MHz频段干扰源问题2土壤湿度读数漂移校准方法干燥状态读值设为0水中读值设为100%避免传感器长期埋设导致电解每周用酒精清洁探针问题3ESP8266频繁掉线修改WiFi连接超时为10s添加看门狗复位机制启用MQTT的keepalive60s4.3 性能优化建议功耗优化将采集间隔从5分钟调整为10分钟关闭未使用的GPIO时钟采用RTC唤醒替代定时器成本控制用STM32F030替换F103节省5元自制土壤湿度传感器成本降为2元用4G模块替代WiFiLoRa方案简化架构这套系统经过6次迭代目前第三版PCB已经实现95%的国产化替代。在实际大棚测试中相比传统灌溉方式节水达40%作物产量提升15%。最让我意外的是PH监测功能帮助用户发现了土壤酸化问题避免了重大损失。

更多文章