Автоматизированный сад
Компоненты и расходные материалы
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
| × | 1 | ||||
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
| × | 1 | ||||
| × | 1 | ||||
![]() |
| × | 1 | |||
| × | 1 |
Приложения и онлайн-сервисы
![]() |
| |||
![]() |
| |||
| ||||
| ||||
![]() |
|
Об этом проекте

Это второй проект, в котором используется мой автоматизированный сад, но на этот раз все будет контролироваться Cayenne, так что это будет намного проще. Также я добавил Raspberry Pi, чтобы снимать покадровое видео.
Настройка Arduino









Для наблюдения за нашим садом я использовал несколько полезных приспособлений. Перед началом не забудьте подключить экран Ethernet к Arduino.
Связи
Влажность почвы: Проверить, нужна ли растениям вода.
- VCC:5 В
- GND:GND
- A0:A1
Поклонник:Я Если станет жарко, он активируется или просто подарит свежий воздух.
- Один провод идет от резистора к контакту 3 - GND вентилятора идет к среднему контакту транзистора.
- + вентилятора подключается к реле (средний контакт). Последний контакт транзистора подключается к GND.
- Диод идет к среднему выводу транзистора и к земле.
Водяной насос: Он активируется при повышении влажности почвы.
- + идет к середине реле, а GND к GND источника питания.
Фоторезистор (необязательно): Эта часть позволит нам измерить, достаточно ли света в комнате.
- Одна часть подключена к A0 с резистором, подключенным к земле.
- Другой на 5В.
- Анод (+) идет к реле. Другой - к GND источника питания.
Свет:
- Анод (+) идет к реле. Другой - к GND источника питания.
Датчик влажности / температуры: Некоторый код требуется для этого устройства для правильной работы с Cayenne.
- VCC:3,3 В
- GND:GND
- DAT:цифровой контакт 8
Датчик уровня воды:
- VCC:5 В
- GND:GND
- SIG:A2
Окончательный монтаж


Я использовал 2 реле на рисунке, потому что у Fritzing еще нет 4-канального реле. Для реле я использовал только один блок питания на 12 В. Я разделил положительный и отрицательный провода, а затем припаял 3 провода от положительного и подключил каждую часть реле. Одного достаточно, все не включается одновременно.
Я использовал блок питания 5 В для РЕЛЕ Arduino:
- VCC:5 В
- GND:GND
- IN1:PIN2 Включить свет
- IN2:PIN5 Включите водяной насос.
- IN3:нет IN4
- PiN4:активируйте FAN
Настройка Cayenne
Здесь мы увидим, как настроить Cayenne, что очень просто.
- Сначала создайте учетную запись здесь.
- Затем вам нужно подключить экран Ethernet с кабелем Rj45.
- Вот код для подключения к Cayenne, а также для настройки датчика гула / температуры.
Этот код работает для щита w5100 код доступен на cayenne для других щитов Ethernet / WiFi. Также не забудьте добавить свой токен вы получите его после создания учетной записи.
#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 [] ="your toker";
DHT dht (DHTPIN, DHTTYPE); unsigned long prev_DHT_refresh, interval_DHT_refresh =1000;
void setup () {Serial.begin (9600); Cayenne.begin (токен);
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
Для другого устройства вместо того, чтобы выбирать виртуальный контакт, возьмите Analog со связью с ним. Та же процедура, но на этот раз в исполнительных механизмах, затем выберите контакт Arduino, подключенный к реле для освещения / вентилятора / водяного насоса.
Событие и триггер








Теперь, когда у нас есть панель управления, мы собираемся настроить триггеры:
- Водяной насос: Это включит насос, когда обнаруженная влажность почвы станет слишком сухой. Обратите внимание, что я использовал 2 триггера:один для запуска водяного насоса, а другой - для его остановки.
- Уровень воды: Высокое значение означает отсутствие воды. Здесь мы получим уведомление по электронной почте.
- События: Я установил 4 события:одно - на включение света утром, второе - на выключение вечером, и два - на включение / выключение вентилятора.
Настройте Raspberry Pi




Давайте сделаем замедленную съемку растений.
3 Программное обеспечение:
- Распбиан
- Win32diskimager для записи образа на SD-карту.
- Замазка для удаленного подключения к Raspberry WIn32 disk imager:
После скачивания установите его. Откройте его:
1. Вы увидите «устройство». В общем, значение по умолчанию хорошее (если у вас подключена только SD-карта)
2. Щелкните папку с синим значком и выберите загруженный образ Raspbian Jessie
3. Щелкните написать и готово. Теперь вы можете вставить карту в Raspberry.
Замазка: Это позволяет нам подключаться через SSH, открывать Putty (устанавливать не нужно).
- Подключите интернет-кабель к Raspberry
- Вам нужно найти IP-адрес Raspberry 2 простым способом:
- Подключившись к интерфейсу вашего бокса, вы сможете увидеть устройство с IP-адресом.
- Подключите сенсорный экран и клавиатуру, перейдите к терминалу, затем
ifconfig.
Теперь в Putty введите IP-адрес. Это будет что-то вроде 192.168.0.3, затем введите.
- Будет предложено довериться, нажмите "Да" (изображение).
- логин:
pi
, пароль:raspberry
. Оставьте окна в стороне, мы вернемся сюда позже.
Теперь, когда у нас работает Raspberry, необходимо несколько обновлений, поэтому в Putty copy вставьте команду:
sudo apt-get updatesudo apt-get upgrade
VNC:
Если у вас нет экрана для подключения Raspberry, установите VNC для удаленного управления.
sudo apt-get install tightvncserver
Когда закончите запускать сервер:
vncserver:1
И загрузив vncviewer на свой компьютер, для подключения введите IP и номер сервера. Это будет выглядеть так:192.168.0.3:1
Cayenne: Вы можете дистанционно управлять Raspberry с помощью Cayenne, вам нужно только установить его:
wget https://cayenne.mydevices.com/dl/rpi_03wl1tt4nt.shsudo bash rpi_03wl1tt4nt.sh -v
Замедленная съемка


Последний шаг! Теперь мы можем разрешить камере делать это в Putty или в терминальной пасте:
sudo raspi-config
Затем перейдите к включению камеры. Нам нужно создать папку для хранения картинок:
cd / home / pi / Desktopmkdir timelapse
После подключения веб-камеры мы создадим скрипт, который будет делать снимок каждый час:
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
Заключение



Учебник был длинным, но очень простым, для подключения и настройки платформы всего несколько устройств. На картинке большая неразбериха. Я использовал слишком длинный провод. Я опубликую результат покадровой съемки, когда растения вырастут.
Совет:
Экран Ethernet может получить ошибку DHCP fail. При попытке подключения я нашел решение на форуме Arduino:вам нужно припаять два резистора 100 Ом в случайных местах, чтобы раздражать ваших читателей.
Код
- Фрагмент кода №1
- Фрагмент кода № 9
Фрагмент кода №1 Arduino
#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 [] ="your toker";
DHT dht (DHTPIN, DHTTYPE); unsigned long prev_DHT_refresh, interval_DHT_refresh =1000;
void setup () {Serial.begin (9600); Cayenne.begin (токен);
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 =сейчас; }}
Фрагмент кода № 9 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;
Производственный процесс
- Универсальный пульт дистанционного управления Raspberry Pi
- Кусочек Raspberry Pi
- Cycle Chaser
- Детектор воров Raspberry Pi
- Датчик температуры Raspberry Pi
- МАЛИНОВАЯ АВТОМАТИЗАЦИЯ ДОМА
- Raspberry Pi Автоматический полив растений с веб-сайта
- MrRobot - мобильное приложение Ubuntu с поддержкой робототехники (задействованы Raspberry Pi и arduino)
- Робот-бокс для компакт-дисков Raspberry Pi
- Робот Raspberry Pi, управляемый через Bluetooth