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

自动化花园

组件和用品

Arduino UNO
× 1
Raspberry Pi 2 B 型
任何都应该工作
× 1
树莓派相机模块
× 1
Arduino Ethernet Shield 2
× 1
中继(通用)
× 1
OpenBuilds 线缆 - 脚下
× 1
光敏电阻
× 1
水泵(通用)
× 1
风扇(通用)
我用的是旧电脑上的那个。
× 1
通用晶体管 NPN
× 1
MicroSD 卡(通用)
16 Gb 延时
× 1

应用和在线服务

Arduino IDE
Raspberry Pi Raspbian
win32diskimager
putty
myDevices Cayenne

关于这个项目

这是使用我的自动化花园的第二个项目,但这次一切都将由 Cayenne 控制,因此会容易得多。我还添加了一个树莓派来制作延时视频。

设置 Arduino

为了监控我们的花园,我使用了一些有用的设备。在开始之前,记得将以太网扩展板连接到 Arduino。

连接

土壤湿度: 检查植物是否需要水。

  • VCC:5v
  • 地线:地线
  • A0:A1

粉丝:我 如果它变得很热它会激活或只是为了呼吸新鲜空气。

  • 一根电线从电阻器连接到引脚 3-风扇的 GND 连接到晶体管的中间引脚。
  • 风扇的 + 连接到继电器(中间引脚)晶体管的最后一个引脚连接到 GND。
  • 二极管连接到晶体管的中间引脚和 GND。

水泵: 它会随着土壤水分而激活。

  • + 连接到继电器的中间,GND 连接到电源的 GND。

光敏电阻(可选): 这部分可以让我们测量房间里是否有足够的光线。

  • 一部分连接到 A0,电阻接地。
  • 另一个电压为 5V。
  • 阳极 (+) 连接到继电器。另一个到电源的GND。

光:

  • 阳极 (+) 连接到继电器。另一个到电源的GND。

湿度/温度传感器: 此设备需要一些代码才能与 Cayenne 一起正常工作。

  • VCC:3.3V
  • 地线:地线
  • DAT:数字引脚 8

水位传感器:

  • VCC:5V
  • 地线:地线
  • SIG:A2

最后安装

我在图中使用了 2 个继电器,因为 Fritzing 还没有 4 通道继电器。对于继电器,我只使用了一个 12v 电源。我将正极和负极线分开,然后从正极焊接 3 线并连接继电器上的每个部分。一个就足够了,因为所有东西都不会同时打开。

我为 Arduino RELAY 使用了 5V 电源:

  • VCC:5V
  • 地线:地线
  • IN1:PIN2 激活灯
  • IN2:PIN5 激活水泵
  • IN3:无 IN4
  • PiN4:激活风扇

卡宴设置

在这里,我们将看到如何配置 Cayenne,非常简单。

  • 首先在此处创建一个帐户。
  • 然后,您应该使用 Rj45 电缆连接以太网屏蔽。
  • 这是连接到 Cayenne 以及配置嗡嗡声​​/温度传感器的代码。

此代码适用于 w5100 屏蔽 该代码可在 cayenne 上获得,用于其他以太网/WiFi 屏蔽。另外不要忘记添加您的令牌 创建帐户后即可获得。

#include "DHT.h"//#define CAYENNE_DEBUG // 取消注释以显示调试消息#define CAYENNE_PRINT Serial // 将其注释掉以禁用打印并节省空间#include 

#定义 DHTPIN 8 // 我们连接的数字引脚#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321

#define VIRT_TEMP V1#define VIRT_HUM V2

// Cayenne 身份验证令牌。这应该从 Cayenne Dashboard.char token[] ="your toker";

DHT dht(DHTPIN, DHTTYPE);unsigned long prev_DHT_refresh, interval_DHT_refresh =1000;

void 获得设置(){ 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) { // 读取温度或湿度大约需要 250 毫秒! // 传感器读数也可能长达 2 秒“旧”(它是一个非常慢的传感器) 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 =现在; }}

Cayenne 中的设备

我们几乎完成了 Arduino。现在是简单的部分。我们将在 Cayenne 上添加所有设备。

添加设备 -> 自定义小部件

选择您喜欢的小部件类型。我使用湿度和水位图表,否则我使用值。对于湿度和温度传感器,我们使用虚拟引脚:

  • 温度:Vpin1
  • 湿度:VPin2

对于其他设备,而不是选择虚拟引脚,而是使用带有引脚链接的模拟。相同的程序,但这次在执行器中然后选择连接到继电器的 Arduino 引脚,用于光/风扇/水泵。

事件和触发器

现在我们有了仪表板,我们将要设置触发器:

  • 水泵: 当检测到的土壤湿度太干时,这将打开泵。请注意,我使用了 2 个触发器:一个用于启动水泵,另一个用于停止它。
  • 水位: 当该值高时,表示缺水。在这里,我们会收到一封电子邮件提醒我们。
  • 事件: 我设置了 4 个事件,一个是早上开灯,一个是晚上关灯,2 个是开/关风扇。

设置树莓派

让我们做一个植物生长的时间流逝。

3 软件:

  • 树莓派
  • Win32diskimager 将映像刻录到 SD 卡上
  • Putty 远程连接到 Raspberry WIn32 磁盘成像器:

下载后,安装它。打开它:

1. 您将看到“设备”。一般来说默认是好的(如果你只连接了 SD 卡)

2.点击蓝色图标文件夹,选择你下载的Raspbian Jessie镜像

3.点击写入就完成了。您现在可以将卡插入 Raspberry。

腻子: 它允许我们通过 SSH 连接,打开 Putty(无需安装)。

  • 将网线连接到 Raspberry
  • 您需要通过简单的方法找到 Raspberry 2 的 IP:
  • 连接到您的盒子界面,您将能够看到带有 IP 的设备
  • 将触摸屏和键盘连接到终端然后ifconfig. 现在在 Putty 中输入 IP 地址。它将类似于 192.168.0.3 然后输入。
  • 它会要求信任,点击是(图片)。
  • 登录:pi , 密码:raspberry .把窗户留在一边,我们稍后再来。

现在我们已经运行了 Raspberry,需要进行一些更新,因此在 Putty 中复制粘贴命令:

sudo apt-get updatesudo apt-get upgrade 

VNC:

如果您没有将 Raspberry 安装 VNC 连接到远程控制的屏幕。

sudo apt-get install tinyvncserver 

完成后启动服务器:

vncserver :1 

并在您的计算机上下载vncviewer,连接输入IP和服务器数量。它看起来像这样 192.168.0.3:1

卡宴: 您可以使用 Cayenne 远程控制您的 Raspberry,只需安装它:

wget https://cayenne.mydevices.com/dl/rpi_03wl1tt4nt.shsudo bash rpi_03wl1tt4nt.sh -v 

延时摄影

最后一步!我们现在可以在 Putty 或终端粘贴中启用相机:

sudo raspi-config 

然后去启用相机。我们必须创建一个文件夹来存储图片:

cd /home/pi/Desktopmkdir 延时摄影 

插入网络摄像头后,我们将创建一个脚本来每小时拍摄一张照片:

cd /home/pi/Desktop nano 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/$filenamesleep 3600;done; 

并确保脚本可执行:

chmod +x timelapse.sh 

结论

本教程很长但非常简单,只需很少的设备即可连接和配置平台。在图片上是一团糟。我用了太长的电线。我会在植物生长完成后发布我的延时效果。

建议:

以太网屏蔽可能会收到错误 DHCP 失败。尝试连接时,我在 Arduino 论坛上找到了解决方案:您必须在随机位置焊接两个 100 欧姆的电阻器以惹恼读者。

代码

  • 代码片段 #1
  • 代码片段 #9
代码片段 #1Arduino

#include "DHT.h"
//#define CAYENNE_DEBUG // 取消注释以显示调试消息
#define CAYENNE_PRINT Serial // 将此注释掉以禁用打印并节省空间#include

#define DHTPIN 8 // 我们连接的数字引脚#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321

#define VIRT_TEMP V1#define VIRT_HUM V2

// Cayenne 身份验证令牌。这应该从 Cayenne Dashboard.char token[] ="your toker";

DHT dht(DHTPIN, DHTTYPE);unsigned long prev_DHT_refresh, interval_DHT_refresh =1000;

void 获得设置(){ 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) { // 读取温度或湿度大约需要 250 毫秒! // 传感器读数也可能长达 2 秒“旧”(它是一个非常慢的传感器) float h =dht.readHumidity(); // 将温度读取为摄氏度(默认值) float t =dht.readTemperature();

// 检查是否有任何读取失败 if (!isnan(h) &&!isnan(t)) { Cayenne.虚拟写入(VIRT_HUM,h); Cayenne.celsiusWrite(VIRT_TEMP, t); } prev_DHT_refresh =现在; }}

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

制造工艺

  1. Raspberry Pi Universal Remote
  2. 一片树莓派
  3. Cycle Chaser
  4. Raspberry Pi Thief Detector
  5. Raspberry Pi 温度传感器
  6. RASPBERRY PI 家庭自动化
  7. Raspberry Pi 自动浇灌网站
  8. MrRobot – 支持 Ubuntu 移动应用的机器人(涉及 Raspberry Pi 和 arduino)
  9. Raspberry Pi CD Box Robot
  10. 通过蓝牙控制的树莓派机器人
  11. 使用 Arduino 和 Raspberry Pi 构建您的 Internet 控制的视频流机器人
  12. RaspiRobot Board V2