使用IOTGW-NUC100十分钟搭建智慧农业大棚监控系统

应用场景

现代农业生产中,大棚环境监控是保障产量和品质的关键。传统方案依赖人工巡检或昂贵的工业SCADA系统。本文介绍如何使用 IOTGW-NUC100 物联网网关,配合 NodeRed 可视化编排,零代码 搭建一套完整的智慧农业大棚监控系统。

系统架构

硬件准备

设备型号数量说明
物联网网关IOTGW-NUC1001台边缘计算核心
温湿度传感器SHT201-4个Modbus-RTU接口
CO2传感器MH-Z19B1个uart接口
土壤EC传感器EC-51-2个模拟输出
继电器模块4路继电器1个控制风机/喷雾
电源DC 12V 2A1个供电
RS485总线RVVP 2x0.75若干传感器接线

接线说明

IOTGW-NUC100 接口定义

传感器接线

温湿度传感器(SHT20)接线:

NodeRed流程配置

登录NodeRed

  1. 浏览器访问 http://192.168.88.1:1880
  2. 首次登录设置用户名密码

创建数据采集流程

步骤1:添加Modbus读取节点

  1. 从左侧节点栏拖入「modbus read」节点
  2. 双击配置:
名称:读取温湿度
单位ID:1
功能码:Read Holding Registers (3)
地址:0
数量:2
轮询间隔:10秒

步骤2:添加数据解析节点

拖入「function」节点,编写解析脚本:

// 假设温湿度传感器寄存器0=温度×10,寄存器1=湿度×10
var temperature = msg.payload[0] / 10;
var humidity = msg.payload[1] / 10;

return {
    payload: {
        device: "greenhouse_01",
        timestamp: new Date().toISOString(),
        temperature: temperature,
        humidity: humidity,
        unit: "celsius"
    }
};

步骤3:添加阈值判断节点

拖入「switch」节点配置告警规则:

温度 > 35°C → 发送告警
温度 < 10°C → 发送告警
湿度 > 85% → 发送告警
湿度 < 40% → 发送告警

步骤4:添加邮件告警节点

拖入「email」节点:

SMTP服务器:smtp.qq.com
端口:465
用户:your-email@qq.com
密码:your-auth-code
发件人:your-email@qq.com
收件人:farmer@example.com
主题:温室告警:{{payload.device}}

步骤5:添加MQTT上报节点

拖入「mqtt out」节点:

服务器:broker.example.com:1883
客户端ID:greenhouse_001
主题:farm/greenhouse_01/sensors
QoS:1

完整流程图

数据大屏配置

启用NodeRed Dashboard

  1. 节点栏安装 node-red-dashboard
  2. 创建仪表板布局

添加温湿度曲线图

拖入「chart」节点到Dashboard:

标签:温室温度曲线
类型:折线图
X轴:时间(最近1小时)
Y轴:温度(°C)
刷新间隔:10秒

添加实时数值显示

拖入「gauge」节点:

标签:当前温度
范围:0-50
单位:°C
颜色:蓝→绿→红(根据阈值)

自动化控制配置

温度过高自动开启风机

添加控制流程:

实现方式:

  1. 拖入「switch」节点判断温度
  2. 拖入「rpi-gpio out」控制GPIO输出
  3. 拖入「trigger」节点实现延时关闭

土壤干燥自动喷雾

云平台对接

阿里云IoT平台

  1. 创建产品和设备
  2. 获取 ProductKey、DeviceName、DeviceSecret
  3. 在NodeRed中使用MQTT节点配置:
服务器:${ProductKey}.iot-as-mqtt.cn-shanghai.aliyuncs.com:1883
客户端ID:${deviceId}|securemode=3,signmethod=hmacsha1|
用户名:${deviceName}
密码:${sign}

数据格式转换

使用function节点转换为JSON格式:

msg.payload = {
    id: new Date().getTime(),
    params: {
        temperature: { value: msg.temperature, desc: "温度" },
        humidity: { value: msg.humidity, desc: "湿度" }
    },
    method: "thing.event.property.post"
};
return msg;

部署与调试

本地调试

  1. 点击右上角「部署」按钮
  2. 观察Debug面板输出
  3. 检查Modbus通信是否正常

常见问题排查

问题可能原因解决方案
读不到数据波特率不匹配检查传感器设置,默认9600
数据跳变RS485干扰使用屏蔽双绞线
继电器不动作GPIO电平错误检查共地连接

查看日志

通过SSH连接网关查看系统日志:

ssh root@192.168.88.1
journalctl -u node-red -f

成本估算

组件单价(元)数量小计
IOTGW-NUC1008991899
温湿度传感器1204480
CO2传感器1801180
4路继电器65165
电源/线材1001100
合计1724

总结

使用IOTGW-NUC100搭建智慧农业大棚的优势:

  • 零代码开发:NodeRed拖拽配置,无需编程基础
  • 本地边缘计算:数据采集、告警、控制均可离线运行
  • 多协议支持:Modbus/ MQTT/ HTTP全支持
  • 远程运维:ZeroTier组网,浏览器远程管理
  • 低成本方案:全套设备不到2000元
苏ICP备18033082号-4

Copyright © 2015-2026 南京泽链科技有限公司