第27章:智能农业解决方案

智慧农业的核心在于“精准”——精准感知作物需求,精准施肥灌溉。

27.1 系统架构

  • 感知层:土壤湿度传感器、光照传感器、空气温湿度。
  • 控制层:电磁阀(控制水管通断)、水泵。
  • 网络层:NB-IoT(窄带物联网)。农田通常没有 Wi-Fi,且 LoRa 自建网关成本较高,NB-IoT 借用运营商基站是最佳选择。
  • 平台层:阿里云 IoT 平台 + 钉钉报警。

27.2 硬件选型

  • 主控:STM32F103。
  • 通信:BC26 NB-IoT 模组(通过 AT 指令控制)。
  • 传感器:电容式土壤湿度传感器(比电阻式耐腐蚀)。
  • 执行器:5V 继电器模块 + 12V 电磁阀。

27.3 关键技术:AT 指令开发

NB-IoT 模组通常通过串口 AT 指令操作。

// 伪代码:发送 AT 指令
void sendAT(char* cmd) {
    Serial2.println(cmd);
    delay(100);
}

// 初始化 NB-IoT
void initNB() {
    sendAT("AT+CFUN=1"); // 开启射频
    sendAT("AT+CGATT=1"); // 附着网络
    // 连接阿里云 MQTT
    sendAT("AT+QMTCFG=\"aliyun\",..."); 
    sendAT("AT+QMTOPEN=0,\"iot-as-mqtt.cn-shanghai.aliyuncs.com\",1883");
    sendAT("AT+QMTCONN=0,\"client_id\",\"username\",\"password\"");
}

27.4 自动灌溉逻辑

const int DRY_THRESHOLD = 30; // 土壤湿度低于30%认为干旱

void loop() {
    int moisture = readSoilMoisture();
    
    if (moisture < DRY_THRESHOLD) {
        // 开启水泵
        digitalWrite(RELAY_PIN, HIGH);
        // 上报状态
        mqttPublish("status", "Irrigating");
    } else {
        // 关闭水泵
        digitalWrite(RELAY_PIN, LOW);
        mqttPublish("status", "Idle");
    }
    
    delay(60000); // 每分钟检测一次
}

27.5 远程控制与报警

在阿里云 IoT Studio 中搭建可视化界面:

  1. 开关组件:绑定 PowerSwitch 属性,远程手动开启/关闭水泵(应对突发情况)。
  2. 仪表盘:显示实时土壤湿度曲线。
  3. 规则引擎:当 moisture &lt; 20 时,发送钉钉消息给农场主:“检测到严重干旱,请检查水箱水位!”

农业看重的是广覆盖和低成本,而工业看重的是高可靠和低延迟。下一章我们将进入工业物联网

« 上一篇 环境监测系统实战 下一篇 » 工业物联网应用实战