Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Умная автоматизированная система для сада на Arduino UNO и Raspberry Pi

Компоненты и материалы

КомпонентКоличествоПримечание
Arduino UNO1
Raspberry Pi 2 Model B (или любой другой)1
Камера Raspberry Pi1
Ethernet Shield 2 для Arduino1
Реле (одноканальное или 4-канальное)1
Провод (по необходимости)1
Фоторезистор1
Насос для воды1
Вентилятор (можно использовать от старого компьютера)1
Транзистор NPN (общего назначения)1
Карта MicroSD (16 Гб для таймлапса)1

Программное обеспечение и онлайн-сервисы

О проекте

Это вторая версия автоматизированного сада, теперь управление полностью передано платформе Cayenne, что значительно упрощает настройку. Добавлен Raspberry Pi для съемки таймлапса роста растений.

Настройка Arduino

Перед началом подключите Ethernet Shield к Arduino. На рисунках показана схема подключения всех датчиков и исполнительных механизмов.

Подключение датчиков и исполнительных механизмов

Датчик влажности почвы

Определяет необходимость полива.

Вентилятор

Включается при перегреве или для проветривания.

Насос для воды

Активируется по сигналу от датчика влажности почвы.

Фоторезистор (опционально)

Измеряет уровень освещенности.

Светодиодная лента / лампа

Датчик температуры и влажности (DHT22)

Требует специального кода для работы с Cayenne (см. ниже).

Датчик уровня воды

Итоговая сборка

На схеме использовано 2 реле, так как в Fritzing не было 4-канального. Реле запитано от одного блока 12В. Плюс и минус разделены, от плюса отходят три провода к каждому каналу реле. Для Arduino и реле используется отдельный блок 5В.

Подключение реле:

Настройка Cayenne

  1. Создайте аккаунт на cayenne.mydevices.com.
  2. Подключите Ethernet Shield кабелем RJ45.
  3. Загрузите в Arduino код для подключения к Cayenne и настройки датчика DHT22 (см. ниже). Код работает для W5100 shield; для других щитов код есть на сайте Cayenne. Не забудьте вставить свой токен (получается после регистрации).

Код для Arduino (Cayenne + DHT22)

#include "DHT.h"
//#define CAYENNE_DEBUG
#define CAYENNE_PRINT Serial
#include <CayenneMQTTEthernet.h>

#define DHTPIN 8
#define DHTTYPE DHT22

#define VIRT_TEMP V1
#define VIRT_HUM V2

char token[] = "ВАШ_ТОКЕН";

DHT dht(DHTPIN, DHTTYPE);
unsigned long prev_DHT_refresh = 0;
const unsigned long 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

В дашборде Cayenne добавьте виджеты:

События и триггеры

Настройте триггеры для автоматического управления:

Настройка Raspberry Pi для таймлапса

  1. Скачайте образ Raspberry Pi OS, запишите на MicroSD через Win32DiskImager.
  2. Вставьте карту в Pi, подключите кабель Ethernet.
  3. Узнайте IP-адрес Pi (через веб-интерфейс роутера или командой ifconfig на самом Pi).
  4. Подключитесь через PuTTY (логин: pi, пароль: raspberry).
  5. Обновите систему:
    sudo apt-get update && sudo apt-get upgrade
  6. (Опционально) Установите VNC для удаленного рабочего стола:
    sudo apt-get install tightvncserver
    vncserver :1
  7. Установите агент Cayenne для удаленного управления Pi:
    wget https://cayenne.mydevices.com/dl/rpi_03wl1tt4nt.sh
    sudo bash rpi_03wl1tt4nt.sh -v

Скрипт таймлапса

Включите камеру через sudo raspi-config. Создайте папку для фото:

mkdir /home/pi/Desktop/timelapse

Создайте скрипт 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. Запустите в фоне (например, через screen или systemd).

Заключение

Проект получился функциональным и простым в настройке благодаря Cayenne. Основная сложность — аккуратная проводка. Таймлапс покажет рост растений со временем.

Совет: Если Ethernet Shield выдает ошибку DHCP, попробуйте паять два резистора 100 Ом на плате (решение с форума Arduino).

Исходный код

Полный код для Arduino приведен выше. Скрипт таймлапса для Raspberry Pi также доступен в разделе кода.

Производственный процесс

  1. Создание профессионального универсального пульта на Raspberry Pi с LIRC
  2. Преобразование RF в DC с Raspberry Pi: сборка и отладка детектора огибающей
  3. Cycle Chaser: превратите свой велосипед в ночной световый шоу с Raspberry Pi
  4. Создание детектора вора на базе Raspberry Pi — пошаговое руководство
  5. Создайте домашний монитор температуры на Raspberry Pi с MCP9808, InfluxDB и Grafana
  6. Создайте систему домашней автоматизации на Raspberry Pi для удаленного управления
  7. Автоматизированная система полива растений на Raspberry Pi с веб-дашбордом
  8. MrRobot: Ubuntu Mobile-приложение для управления роботом Rapiro голосом, касанием и встряхиванием
  9. DIY робот в стиле Wall‑E на Raspberry Pi из коробки от CD
  10. Создание Bluetooth-робота на Raspberry Pi с аудио-обратной связью