亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

Arduino UNO 与 Raspberry Pi 打造智能自动化园艺系统

元件与物料

Arduino UNO×1
Raspberry Pi 2 Model B (任意版本均可)×1
Raspberry Pi 摄像头模组×1
Arduino Ethernet Shield 2×1
继电器模块 (通用)×1
导线 (按米)×1
光敏电阻×1
水泵 (通用)×1
风扇 (旧电脑拆机)×1
通用 NPN 三极管×1
MicroSD 卡 16GB (延时摄影存储)×1

软件与在线服务

项目简介

这是作者第二代自动化花园,全面接入 Cayenne 平台,操作更简便;新增 Raspberry Pi 实现植物生长延时摄影。

Arduino UNO 与 Raspberry Pi 打造智能自动化园艺系统

Arduino 硬件接线

先将 Ethernet Shield 叠加在 Arduino 上。以下为各模块接线:

Arduino UNO 与 Raspberry Pi 打造智能自动化园艺系统
Arduino UNO 与 Raspberry Pi 打造智能自动化园艺系统
Arduino UNO 与 Raspberry Pi 打造智能自动化园艺系统
Arduino UNO 与 Raspberry Pi 打造智能自动化园艺系统
Arduino UNO 与 Raspberry Pi 打造智能自动化园艺系统
Arduino UNO 与 Raspberry Pi 打造智能自动化园艺系统
Arduino UNO 与 Raspberry Pi 打造智能自动化园艺系统
Arduino UNO 与 Raspberry Pi 打造智能自动化园艺系统
Arduino UNO 与 Raspberry Pi 打造智能自动化园艺系统

最终安装

实物使用 4 路继电器模块 (Fritzing 图中用两个 2 路代替)。单路 12V 电源供继电器负载侧,正负分线后各接三路设备 (灯、水泵、风扇),因不同时工作,一路电源足矣。Arduino 侧:5V 供继电器模块逻辑侧,IN1→D2(灯)、IN2→D5(水泵)、IN4→D4(风扇)。

Arduino UNO 与 Raspberry Pi 打造智能自动化园艺系统
Arduino UNO 与 Raspberry Pi 打造智能自动化园艺系统

Cayenne 平台配置

  1. 注册账号 cayenne.mydevices.com。
  2. 确保 Ethernet Shield 接网线联网。
  3. 上传 Arduino 代码 (含 Cayenne 认证 token 与 DHT22 虚拟引脚定义)。

关键代码片段:

#include "DHT.h"
#define CAYENNE_PRINT Serial
#include <CayenneMQTTEthernet.h> // W5100 专用
#define DHTPIN 8
#define DHTTYPE DHT22
#define VIRT_TEMP V1
#define VIRT_HUM V2
char token[] = "your_token";
DHT dht(DHTPIN, DHTTYPE);
unsigned long prev_DHT_refresh = 0, interval_DHT_refresh = 1000;

void setup() {
  Serial.begin(9600);
  Cayenne.begin(token);
  dht.begin();
}
void loop() {
  Cayenne.run();
  getDhtValues();
}
void getDhtValues() {
  unsigned long now = millis();
  if (now - prev_DHT_refresh > interval_DHT_refresh) {
    float h = dht.readHumidity();
    float t = dht.readTemperature();
    if (!isnan(h) && !isnan(t)) {
      Cayenne.virtualWrite(VIRT_HUM, h);
      Cayenne.celsiusWrite(VIRT_TEMP, t);
    }
    prev_DHT_refresh = now;
  }
}

Cayenne 仪表盘添加设备

“Add Device → Custom Widget”:温湿度用虚拟引脚 (V1/V2),其余传感器选对应模拟量引脚;执行器 (灯/风扇/水泵) 在 Actuators 中绑定继电器对应引脚。

Arduino UNO 与 Raspberry Pi 打造智能自动化园艺系统

事件与触发器 (自动化逻辑)

Arduino UNO 与 Raspberry Pi 打造智能自动化园艺系统

Raspberry Pi 搭建延时摄影

  1. 烧录 Raspbian:Win32DiskImager 写入 SD 卡。
  2. PuTTY SSH 连接:查路由器获取 Pi IP,登录 (pi/raspberry)。
  3. 系统更新:sudo apt-get update && sudo apt-get upgrade
  4. 可选 VNC:sudo apt-get install tightvncserver && vncserver :1,电脑端 VNC Viewer 连 IP:1。
  5. 安装 Cayenne Agent (可选远程管理):wget ... && sudo bash ...
  6. 启用摄像头:sudo raspi-config → Interfaces → Camera Enable。
  7. 建立存储目录与脚本:
mkdir /home/pi/Desktop/timelapse
nano /home/pi/Desktop/timelapse.sh
# 内容:
SAVEDIR=/home/pi/Desktop/timelapse/
while [ true ]; do
  filename=-$(date -u +"%d%m%Y_%H%M-%S").jpg
  /opt/vc/bin/raspistill -o $SAVEDIR/$filename
  sleep 3600
done
chmod +x timelapse.sh

后台运行脚本即可每小时拍一张照,生成植物生长延时视频素材。

总结与避坑指南

教程虽长但步骤清晰:接线少、平台配置易上手。最终安装照片显示线材过长凌乱,后续会整理。延时摄影成果待植物成熟后发布。

避坑提示: Ethernet Shield 易报 “DHCP fail”,Arduino 论坛建议在板载两处焊接 100Ω 电阻 (原文幽默建议“焊在随机位置烦扰读者”,实为改善阻抗匹配)。

Arduino UNO 与 Raspberry Pi 打造智能自动化园艺系统
Arduino UNO 与 Raspberry Pi 打造智能自动化园艺系统
Arduino UNO 与 Raspberry Pi 打造智能自动化园艺系统

代码片段

Arduino 主程序 (含 Cayenne 与 DHT22)

#include "DHT.h"
#define CAYENNE_PRINT Serial
#include <CayenneMQTTEthernet.h>
#define DHTPIN 8
#define DHTTYPE DHT22
#define VIRT_TEMP V1
#define VIRT_HUM V2
char token[] = "your_token";
DHT dht(DHTPIN, DHTTYPE);
unsigned long prev_DHT_refresh = 0, interval_DHT_refresh = 1000;
void setup() { Serial.begin(9600); Cayenne.begin(token); dht.begin(); }
void loop() { Cayenne.run(); getDhtValues(); }
void getDhtValues() { ... }

Raspberry Pi 延时摄影 Shell 脚本

SAVEDIR=/home/pi/Desktop/timelapse/
while [ true ]; do
  filename=-$(date -u +"%d%m%Y_%H%M-%S").jpg
  /opt/vc/bin/raspistill -o $SAVEDIR/$filename
  sleep 3600
done

制造工艺

  1. 树莓派 LIRC 通用红外遥控器专业构建指南
  2. 树莓派射频转直流:包络检波器构建与故障排查
  3. Cycle Chaser:树莓派让自行车变身夜间光影秀
  4. 树莓派防窃报警器 DIY:压力触发播放警报声
  5. 树莓派 + MCP9808 + InfluxDB + Grafana:家庭温度监测系统
  6. 树莓派打造家庭自动化系统:手机远程控制灯风扇大门
  7. 树莓派自动浇水系统:土壤湿度监测 + Web 仪表盘远程控制
  8. MrRobot:Ubuntu移动端控制Rapiro机器人,支持语音、触控与摇晃交互
  9. DIY仿Wall-E树莓派CD盒机器人
  10. 蓝牙控制树莓派机器人:语音反馈功能构建指南
  11. Arduino与树莓派构建互联网控制视频流机器人完整指南
  12. RasPiRobot Board V2:将树莓派扩展为强大机器人控制器