company_banner

Raspberry Pi, Python и полив комнатных растений

Original author: Alan Constantino
  • Translation
У меня не складываются отношения с комнатными растениями. Дело в том, что я забываю их поливать. Зная это, я начал размышлять о том, что кто-то, наверняка, уже нашёл способ автоматизации полива. Как оказалось, способов таких существует очень много. А именно, речь идёт о решениях, основанных на Arduino или на Raspberry Pi. В этом материале я хочу рассказать о том, как создал систему, основанную на Raspberry Pi и Python, предназначенную для автоматизации полива растений.



Компоненты и полезные ресурсы


Мне сразу хотелось бы отметить, что я вовсе не являюсь экспертом в электронике. Если меня попросят нарисовать электрическую схему, или подробно рассказать о том, как, работает какой-нибудь электронный компонент, я ничего толкового нарисовать или рассказать не смогу. На самом деле, я сделал этот проект, обладая лишь базовыми знаниями об электричестве и просто экспериментируя с компонентами. Прошу вас очень осторожно относиться к работе с электричеством. А, если вы чувствуете недостаток знаний в этой области, предлагаю хотя бы немного в этом разобраться.

Вот список компонентов, которые я использовал в своём проекте.


Я участвую в партнёрской программе Amazon, поэтому выше приведены соответствующие ссылки. Если вы, перейдя по ним, что-нибудь купите, я немного заработаю.

После того, как я раздобыл все необходимые мне компоненты, пришло время заняться некоторыми изысканиями. Ниже приведён список ресурсов, которые помогли мне правильно соединить электронные компоненты и понять основные моменты, касающиеся их функционирования:


Вот схема GPIO-портов Raspberry Pi.


Схема GPIO-портов Raspberry Pi

Подключение реле к Raspberry Pi


Я начал с подключения реле к Raspberry Pi. Вот как это выглядит.


Подключение реле к Raspberry Pi

Красный провод (Female-Female) идёт от пина платы реле JD_VCC к 5V-пину (контакт №2) Raspberry Pi. Оранжевый провод (Female-Female) ведёт от пина платы реле VCC к 3.3V-пину (контакт №1) Raspberry Pi.


Пины JD_VCC и VCC платы реле

С помощью этих проводов мы подаём питание на плату реле. Для того чтобы получить возможность управлять отдельными реле, нужно соединить плату реле и Raspberry Pi ещё двумя проводами, которые подключаются к пинам GND и IN1 платы реле.


Пины GND и IN1 платы реле

Чёрный провод (Female-Female) — это кабель заземления, который соединяет пин GND платы реле и контакт заземления на Raspberry Pi (я подключил его к контакту №34). Белый провод (Female-Female) ведёт от пина IN1 платы реле к контакту №12 Raspberry Pi. Именно этот белый провод позволяет нам программным способом управлять реле, включая и отключая отдельные реле, расположенные на плате.


Чёрный и белый провода, подключённые к Raspberry Pi

Если вы решите воспроизвести мой проект — вы можете организовать связь реле и Raspberry Pi, пользуясь любыми подходящими пинами. Но учитывайте, что если схема соединения компонентов вашего проекта будет отличаться от схемы соединения компонентов моего проекта — вам придётся внести соответствующие изменения в мой код.

Подключение блока питания к реле


После того, как я присоединил плату реле к Raspberry Pi, я подключил блок питания к одному из реле.

Не подключайте блок питания к розетке до тех пор, пока не завершите все операции по сбору компонентов системы. Помните о риске поражения электрическим током.


Подключение блока питания к одному из реле

Используемый мной блок питания на 12V поставляется с адаптером, к которому удобно подключать соединительные провода. Я подключил красный провод (Male-Male) к разъёму «+» адаптера, а коричневый кабель (Male-Male) — к разъёму «-» адаптера. Затем я подключил кабель с разъёмом «крокодил» (Female-Male) к коричневому проводу.


Адаптер, который поставляется с блоком питания

На плате реле имеется четыре отдельных реле. У каждого из них есть три контакта, к которым можно подключать кабели. В центре каждого реле находится разъём, к которому подключают положительный вывод внешнего источника питания. Слева находится разъём, к которому подключают положительный вход устройства, на которое нужно подавать питание.


Подключение отдельного реле

Я подключил красный кабель от блока питания (положительный вывод) к центральному контакту реле. Затем я подключил оранжевый кабель (Male-Male) к левому разъёму реле и подключил к этому кабелю кабель с «крокодилом» (Female-Male).


Красный и оранжевый кабели


Блок питания и адаптер


Реле и Raspberry Pi

Подключение водяного насоса к реле


Теперь осталось лишь подключить разъёмы «крокодилы» к водяному насосу. Порядок их подключения определяет направление тока воды.

Так, мне нужно было, чтобы вода поступала бы в левый канал насоса и выходила бы из правого канала. Поэтому я подключил разъём «крокодил» чёрного провода к выводу насоса, около которого имеется красная точка, а другой «крокодил» — к другому выводу насоса. Если бы я подключил «крокодилы» в другом порядке — вода пошла бы в обратном направлении — из правого канала в левый.


Подключение водяного насоса к реле


Система полива в сборе: вода поступает в насос через левый канал, выходит из правого и идёт к растению

Код


Вот мы и добрались до того, в чём я по-настоящему хорош. Мы дошли до кода. Для того чтобы наладить программную работу с GPIO-портами Raspberry Pi, я использовал библиотеку gpiozero. Пользоваться ей легко, она скрывает от программиста массу низкоуровневых механизмов, с которыми обычно нужно разобраться тому, кто хочет работать с GPIO-пинами. Библиотека хорошо документирована.

Прежде чем заниматься написанием кода, к Raspberry Pi нужно подключить монитор, мышь и клавиатуру. Или нужно подключиться к Raspberry Pi по SSH.

После того, как вы войдёте в Raspberry Pi, перейдите к папке Desktop и создайте там папку run. В этой папке создайте папку classes. А в папке classes создайте файл Hardware.py. В нём должен быть следующий код:

from gpiozero import OutputDevice

class Relay(OutputDevice):
    def __init__(self, pin, active_high):
        super(Relay, self).__init__(pin, active_high)

В этом файле я всего лишь объявил новый класс Relay, который является наследником класса OutputDevice.

Далее, в папке classes я создал новый файл TimeKeeper.py:

import datetime

class TimeKeeper:
    def __init__(self, current_time):
        self.current_time = current_time
        self.time_last_watered = None
    
    def set_current_time(self, updated_time):
        self.current_time = updated_time

    def set_time_last_watered(self, updated_time):
        self.time_last_watered = updated_time

    @staticmethod
    def get_current_time():
        now = datetime.datetime.now()
        return now.strftime("%I:%M:%S %p")

Цель этого класса заключается в отслеживании текущего времени и того момента, когда в прошлый раз выполнялся полив.

Итак, файлы Hardware.py и TimeKeeper.py находятся в папке classes. Теперь я, за пределами этой папки, создаю файл water_plant.py:

from classes import Hardware
from classes import TimeKeeper as TK
import schedule
import smtplib
import time
import ssl

# WATERING_TIME must be in "00:00:00 PM" format
WATERING_TIME = '11:59:50 AM'
SECONDS_TO_WATER = 10
RELAY = Hardware.Relay(12, False)
EMAIL_MESSAGES = {
    'last_watered': {
        'subject': 'Raspberry Pi: Plant Watering Time',
        'message': 'Your plant was last watered at'
    },
    'check_water_level': {
        'subject': 'Raspberry Pi: Check Water Level',
        'message': 'Check your water level!',
    }
}

def send_email(time_last_watered, subject, message):
    port = 465
    smtp_server = "smtp.gmail.com"
    FROM = TO = "YOUR_EMAIL@gmail.com"
    password = "YOUR_PASSWORD"

    complete_message = ''
    if time_last_watered == False:
        complete_message = "Subject: {}\n\n{}".format(subject, message)
    else:
        complete_message = "Subject: {}\n\n{} {}".format(subject, message, time_last_watered)
    
    context = ssl.create_default_context()
    with smtplib.SMTP_SSL(smtp_server, port, context=context) as server:
        server.login(FROM, password)
        server.sendmail(FROM, TO, complete_message)

def send_last_watered_email(time_last_watered):
    message = EMAIL_MESSAGES['last_watered']['message']
    subject = EMAIL_MESSAGES['last_watered']['subject']
    send_email(time_last_watered, subject, message)

def send_check_water_level_email():
    message = EMAIL_MESSAGES['check_water_level']['message']
    subject = EMAIL_MESSAGES['check_water_level']['subject']
    send_email(False, subject, message)

def water_plant(relay, seconds):
    relay.on()
    print("Plant is being watered!")
    time.sleep(seconds)
    print("Watering is finished!")
    relay.off()

def main():
    time_keeper = TK.TimeKeeper(TK.TimeKeeper.get_current_time())
    if(time_keeper.current_time == WATERING_TIME):
        water_plant(RELAY, SECONDS_TO_WATER)
        time_keeper.set_time_last_watered(TK.TimeKeeper.get_current_time())
        print("\nPlant was last watered at {}".format(time_keeper.time_last_watered))
        # send_last_watered_email(time_keeper.time_last_watered)

# schedule.every().friday.at("12:00").do(send_check_water_level_email)

while True:
    # schedule.run_pending()
    time.sleep(1)
    main()

Тут можно поменять значения переменных WATERING_TIME и SECONDS_TO_WATER на те, которые кажутся вам подходящими. Первая переменная определяет то, в какое время нужно поливать растения. Вторая задаёт длительность полива.

Кроме того, я создал тут механизм рассылки уведомлений и напоминаний по электронной почте. Благодаря этому механизму владелец системы полива получает электронное письмо каждый раз, когда система включается и поливает растения. Кроме того, каждую пятницу он получает письмо с напоминанием о том, что ему нужно проверить запасы поливочной воды. В коде вызов соответствующих методов закомментирован, в результате программа может нормально работать и без настроек, касающихся электронной почты. Если вы хотите эти напоминания включить — надо сделать следующее:

  1. Надо ввести в строки FROM = TO = «YOUR_EMAIL@gmail.com» и password = «YOUR_PASSWORD» ваш адрес электронной почты Gmail и пароль.
  2. Нужно раскомментировать следующие строки:

    •  # send_last_watered_email(time_keeper.time_last_watered)
    • # schedule.every().friday.at(«12:00»).do(send_check_water_level_email)
    • # schedule.run_pending()
  3. Нужно перейти сюда, войти в учётную запись Gmail и включить переключатель, имеющийся на данной странице. В противном случае при попытке отправить письмо с использованием Gmail вы получите сообщение об ошибке. 

Кроме того, тут важно отметить, что моя система напоминаний работает только с учётными записями Gmail.

Теперь, когда всё готово к работе, у вас должна получиться следующая структура файлов и папок:

run
├── classes
│ ├── Hardware.py
│ └── TimeKeeper.py
└── water_plant.py

Папку run можно, на самом деле, разместить где угодно. Я решил оставить её в папке Desktop.

Меня не прельщала перспектива подключаться к Raspberry Pi каждый раз, когда надо было запустить water_plant.py. Мне хотелось, чтобы этот скрипт запускался бы автоматически при включении Raspberry Pi. Это, например, позволило бы легко отключить систему, перенести её в другое место, включить, и уже ни о чём не беспокоиться. Для того чтобы реализовать этот привлекательный сценарий, нам понадобится команда crontab.

Откроем на Raspberry Pi окно терминала и введём следующую команду:

sudo crontab -e

В ответ на неё система должна вывести нечто, напоминающее то, что изображено на следующем рисунке.


Настройка задач cron

В этот файл нужно добавить следующую строчку:

@reboot python3 /home/pi/Desktop/run/water_plant.py

Затем этот файл надо сохранить, воспользовавшись комбинацией клавиш Ctrl+X, введя Y и нажав Enter.

Вышеописанной строкой мы даём Raspberry Pi следующие инструкции: «Каждый раз, когда ты перезагружаешься, запускай файл water_plant.py, находящийся в папке run, котораях находится в папке Desktop». Если у вас папка run находится по другому пути — отредактируйте соответствующим образом эту команду.

Итоги


Посмотреть код проекта можно здесь. Если хотите — можете сразу клонировать себе репозиторий такой командой:

git clone https://github.com/AlanConstantino/rpi-plant-project.git

Вот и всё! Теперь вы знаете о том, как создать систему автоматизированного полива комнатных растений, основанную на Raspberry Pi. Она умеет поливать растения каждые 24 часа и может отправлять своему владельцу уведомления и напоминания по электронной почте.

Уважаемые читатели! Как бы вы подошли к разработке домашней автоматизированной системы полива растений?

RUVDS.com
RUVDS – хостинг VDS/VPS серверов

Comments 67

    +4
    Вы, большой молодец!
    Однако, жалко тратить столь серьезный аппарат для такой примитивной задачи, сюда просится «ардуина». А еще лучше заточенная под тему плата с AVR или с простым STM8…

    Пардон, только сейчас понял, что перевод. Тем не менее, мысль не поменялась.
      0
      На малинке можно потом добавить датчиков и поднять HomeAssistant, там тоже Python простота и удобство.
      0
      Отличная дорогая игрушка :)
        +3
        теперь у вас есть риск загубить ваши растения не засухой, так переливом. Избыток воды не многим лучше ее отсутствия. Мало того, каждое растение имеет как правило свой диаметр горшка и свой поливной цикл, часть воды обязательно выльется на подоконник или загноит растения.
        Выход- сенсор влажности в каждый горшок и настраиваемая или отдельная линия полива для каждого или хотя б группы похожих растений, но это дорого.
        Но самое печальное даже не это… Большой резервуар воды ( а автоматический полив предполагает, что вы забываете про полив) — источник бактериального заражения почвы. Через где-то месяц в нем( или в трубках) начинает плодиться суровая бактериально-патогенная (для растений) микрофлора. Здесь один выход- антибиотики.
        Применение дешевой помпы, создаст еще одну трудность — либо она не прокачает трубку (1м или 2М), особенно при подъеме, либо (если поднять резервуар с водой) вода пойдет самотеком и зальет ваши горшки.
        Решите эти проблемы — будет дело, а так это 1000500й полив «ардуинкой».

        Сорри, только после комментов понял, что это перевод)
          0
          Помпа тут перистальтическая, так что вода сквозь нее самотеком не пойдет.
            0
            Да, вот интересно — про помпу если можно подробнее!

            Мое замечание из моих чисто эмпирических наблюдений за процессом. Как минимум года три борюсь с авто-поливом. )) Вначале воду нужно из большой емкости поднять на уровень края этой емкости, затем прогнать по трубкам и снова поднять на уровень горшка. Справится перистальтика с такой работой?
              0
              Устройство простое. По окружности проложен шланг, по которому катятся несколько колёс и проталкивают воду.
              image
                0
                спасиб, как перистальтика в принципе работает я знаю
                мне показалась реализация конкретного моторчика необычной, но приглядевшись, понял, что обычный.
                Перистальтика либо дорого(если на каждую ветку по насосу), либо не подойдет по напору) лучше мощный 5в аквариумник и клапана-ИМНО.
                  0
                  А есть достаточно дешевые клапана? Как-то навскидку на алиэкспрессе оказывается дешевле купить отдельные насосы на каждый канал.
          0
          А если в тщательно очищенный резервуар налить воду обессоленую после осмотического фильтра?
            +1
            вообще для растений соли как раз нужны, а бактериям они особо не помощники…
              0
              Так растениям нужны другие соли и в других концентрациях…
            0
            Наверное можно добавить УФ обработку воды в резервуаре…
              0
              наверное можно, но это тащить 220в, а у меня вся система на 4х АА…
                0
                Вместо антибиотиков может помочь антисептик — перекись водорода. Справляется же она с зацветанием бассейнов и аквариумов. Концентрация нужна небольшая, растениям не повредит — и перекись вполне применяется при ручном поливе.
                  0
                  спасибо, интересная мысль, что б перекись заработала как антибактериальный агент нужна минимум 3.3% концентрация, я вот сомневаюсь, что она для растений полезна… в почве достаточно много полезной флоры, которая занимается обменом веществ с растением, они все помрут...., плюс не все растения способны жить в низком рН (закисление), для тех у кого активный водный транспорт я думаю это проблема…
                    0
                    > что б перекись заработала как антибактериальный агент нужна минимум 3.3% концентрация

                    А я читал про минимум 1-2% для бактерицидного действия (на времени экспозиции до минуты) и до чего-то в районе 0.05-0.1% для бактериостатического. Плюс сильно зависит от времени экспозиции. Насколько помню, концентрация порядка 0.5% начинает жрать даже споры бактерий/грибов при выдержке больше 5-6 часов при комнатной температуре.
                    Ну и для нейтрализации перекиси можно использовать кучу разных катализаторов распада.
                    UPD: вот например
                      0
                      тут бы Сергей Бесараб точнее сказал, но из того что я знаю, концентрации в районе 1.5% конечно бактериям уже тяжело справиться, но пероксидазы и каталазы, которые некоторые штаммы, особенно «недобитые» вырабатывают довольно активно, до этих концентраций позволяют им выживать и сохранять колоние-образующие элементы. Впрочем я бы рискнул. У меня есть системка с 3 горшками + автополив, я попробую с перекисью… Интересно как у нее со стабильностью в комнатных условиях не закрытого резервуара…
                      0
                      что б перекись заработала как антибактериальный агент нужна минимум 3.3% концентрация
                      Концентрация 3% имеет уже довольно высокую активность, действующую даже на бактериальные споры и вирусы.

                      Вообще, говоря о эффективности антисептика, кроме концентрации надо уточнять вид микроорганизмов и время воздействия.
                      Так, для кишечной палочки (E.Coli) при концентрации перекиси в 0,7 г/л полная инактивация достигается за 2 часа, при 1 г/л — за час.

                      image
                      Источник: Дрововозова Т.И., Паненко Н.Н., Кулакова Е.С. — Исследование бактерицидной активности пероксида водорода (диссертация)

                      Возможно, что при более длительном воздействии и меньшие концентрации в итоге могут обеспечить полную дезинфекцию — просто эксперимент был ограничен 120 минутами.

                      Учитывая, что в случае полива задача стоит не в том, чтобы уничтожить имеющееся развитое заражение, сколько ограничить размножение микроорганизмов в исходно чистой воде — что требует меньшей концентрации антисептика.

                      Но иные бактерии могут оказаться поустойчивее, да. Но по крайней мере, от низших водорослей разбавленная перекись довольно эффективна. Недавно вот удалось подавить уже довольно развившееся цветение поливной 200-л бочки в теплице, вылив в нее 150 мл 3% аптечной перекиси. Также раньше я использовал перекись для предотвращения зацветания воды в бочке летнего душа — хватало 50 мл на начальные 200 л и пару последующих доливов ополовиненной бочки до полной. Ну и для бассейнов применение перекиси довольно распространено.

                      не все растения способны жить в низком рН (закисление)
                      Вообще-то низкие концентрации перекиси имеют щелочную pH
                      image
                      Но в аптечной перекиси могут быть примеси, дающие кислотную реакцию.

                      Источник: Хабрастатья про перекись. Там есть и про стабильность (во-первых, упомянутые кислотные добавки — стабилизаторы, во-вторых, чем ниже концентрация, тем выше устойчивость).

                      Если погуглить применение перекиси в растениеводстве — оно находится в количестве. Правда, достаточно серьёзных в научном смысле публикаций мне не попадалось, сплошняком популярные «журнальные» сайты. Встречается мнение, что слишком увлекаться всё же не стоит, и использовать перекись надо только периодически, а не постоянно.

                0

                Датчик влажности довольно одноразовая штука :( Ну, по крайней мере из доступных. Они быстро покрываются коррозией и их нужно периодически менять. Выбор на Али большой, даже "антикоррозийных", но вот по-настоящему качественные найти трудно.

                  0

                  А можно поподробнее про патогенную микрофлору? У меня в резервуарах, из видимого, кроме каких-нибудь водорослей ничего не развивается. (По типу хлореллы и сине-зеленых водорослей. Первая, к стати считается полезной для растений)

                    0
                    ну подробнее это вряд ли )) — сиквенс микробиома не делал. Но какие-то хлопья появляются в воде, формируя слизистые колонии, верхняя часть земли начинает рыжеть. Это ж прежде всего зависит от среды обитания. Значит у меня либо дома, либо в воде больше «всякой», чем у вас…
                      0

                      каждый раз при наполнении ёмкости проводить "подкормку" воды, исходя из её качества в каждом конкртетном случае? вы свою воду изучите, изучите, что можно добавить в воду, чтобы оно и растению на пользу и бактерий/слизи в воде не образовывалось. лично у меня вода спокойно может стоять в закрытой ёмкости месяцаме без образования видимого загрязнения (в открытой ёмкости, естественно, в воду из окружающей среды может попадать всё, что угодно)

                    0

                    А если для защиты от микрофлоры в резервуар для воды кинуть серебро? Ложку серебряную например.

                      0
                      Есть ультрафиолетовые лампы для дезинфекции воды в аквариуме. Думаю можно включать раз в неделю.
                    0

                    Уважаемая редакция, я часто встречаю статьи об автополиве растений. Подскажите, пожалуйста, как сделать автоматический отгон котов...

                      +1
                      Сделать орошение на датчике движения. Если любимый цветок задергается в горшке чтобы убить всех человеков, то заливаем его водой это задержит его немного. Как только система будет готова, можно применить ее и для котов. Правда, я не понял что такое отгон. Это что-то из самогоноварения? Тогда полив не подойдет.
                        0

                        А это мысль: сделать фотодатчик на кота, как только он нависает над горшком, включается полив — только вверх.

                          0
                          Может вместо полива включать какой-нибудь противный звук? Ультразвук? Мигающий свет, как при ЭЭГ…
                            0

                            Не годится для спальни и детской:)

                            +1
                            Лучше распылитель типа «искусственного тумана» — количество воды будет минимально, а коту будет противно.
                              0

                              Отличная мысль, спасибо:)

                          +1
                          Обработать экстрактом острого перца листья. Кот больше не полезет. Очень неприятно и безвредно для всех.
                            0

                            Спасибо, попробую.

                          0
                          Водопроводная труба + ардуино + релешки + солиноидные клапаны и датчики влажности (по 1 на каждый горшок) + для защиты один общий солиноидный клапан на датчик протечки (на пол) + мигание светодиодом, если ардуино пытался полить, а по датчику влажности ничего не получилось = нормально будет?
                            0

                            Насколько знаю, датчики влажности почвы — фигня.

                            0

                            Я не спец, но вроде бы водопроводной водой цветы не поливают — во первых из под крана холодная слишком, вода должна быть комнатной температуры. Во вторых, там хлор растворен для обеззараживания, в открытой бутылке он выходит из воды понемногу.

                              0
                              Там самая большая проблема — высокий pH. Мне для гидропонной установки приходится 0.3 мл 80% ортофосфорной кислоты на литр добавлять, не чтобы снизить до приемлемого уровня pH.
                            0
                            Делал я подобную штуку, и с датчиком влажности и по факту всё это не пашет
                            А дело в том что, поливя из трубочки вода смачивает только этот маленький пяточёк, и стикает тонкой ниткой через толщу почвы в самый низ, при этом в 3-х см от трубки пова сухая при сухая. Этот эффект не сразу проявляется, а через неделю например.
                            Выход поливать разбрзгиванием, но так нужно давление да и дома особо не набрызгаешся.
                              0
                              Можно, наверное, проложить шланг кольцом, а в нём маленькие дырочки…
                                0
                                Это было первое что я попорбовал, на самом деле вода находит дырку чуть-чуть поблище в началу трубки и черз дырку которая чуть-чуть больше чем другие и текёт опять-таки через одно отверстие.
                                К тому же трубки изнутри зарастают таким слоем слизким, это бактерии. и при том минимальном давнеии что есть она вообще может забиться неговоря уже о маленьких дырках.
                                  0
                                  Может тогда тупо сделать разветвитель толстой трубки, на много мелких и развести их в разные стороны? А еще может закопать их как корни…
                                    0
                                    не наблюдал такого за несколько лет эксплуатации… бактерии, да — это напасть.
                                    у меня стоит китайский держатель, втыкающийся в почву с трубо-рассекателем, трубка подведена к корням, вроде справляется.
                                  0
                                  Грунт хреновый. Кокосовое волокно плюс агроперлит.
                                  0
                                  Несколько лет назад, уезжая в отпуск на пару-тройку недель, пытался решить эту задачу для нескольких десятков горшочков. Хотелось упростить жизнь тому, кто взялся на это время ухаживать за цветами.
                                  Схема проста до нельзя. Тазик с водой стоит выше уровня горшочков. Из тазика в горшочки тянутся жгуты сплетённые из киперной ленты (была под рукой, можно заменить бинтом, х/б верёвочкой...). Толщина каждого жгута подбирается под потребление конкретного цветочка — очень муторная и длительная процедура.
                                  Алгоритм очевиден: два-три раза в неделю тазик наполняется водой. Я заливал руками, но автоматизировать один канал — даже не обсуждается.
                                  зы. где-то в инетах видел подобное.
                                    0
                                    В Интернетах… Журнал «Работница» или аналогичный за какой-то там мохнатый год из 80-х, там просто шнурок для ботинка применяется. Давайте микроскопом гвозди забивать?
                                      0
                                      Да идея-то очевидная, на поверхности лежит. Шнурок от ботинка, как подкласс верёвочки, будет работать. Только регулировать придётся числом шнурков. Это дороговато при числе горшочков в четыре десятка.
                                      А про микроскоп я не понял.
                                        0
                                        Микроскоп это больше к основным «строителям» подобного — микроконтроллер на любой чих. «Аналога» как грязи вокруг — нет, надо быть супер-пупер-мульти-современным (без датчика солнца полив ни-ни!)
                                        Регулировка полива там же в журнале была, как ни странно. Но вот найти его (журнал) сейчас мне затруднительно
                                          0
                                          Если уехал в отпуск, а поливать нужно пару-тройку раз в неделю, то альтернативу «микроскопу» придумать сложно, особенно если принять во внимание цену решения.
                                            0
                                            Отпуск у советского человека был в среднем месяц, в журнале была банка в 3 литра либо тазик на 10 (ведро и прочее). Хватит на месяц. Все зависит от количества поливаемой флоры. И разница между «шнурками» тогда и микроконтроллером даже сегодня — космос.
                                    0
                                    Нереальная система для одного горшка) Хватит STM32 BluePill
                                      0
                                      Хватит STM32 BluePill

                                      Хватит даже ATtiny13A. Правда, без питона, хипстеры не одобрят.
                                        0
                                        Полив тупо по таймеру или датчику влажности можно и на дискретных элементах сделать, там все не очень сложно.
                                        Другое дело, что сейчас на МК все это сильно дешевле и быстрее выйдет :)
                                      +1
                                      Сложность не в том, как автоматизировать полив одиного горшка, а как это сделать с двадцатью;) Не покупать же 20 водяных помп ;)

                                      upd: посчитал — в 2х лоджиях и на одном окне у меня больше 40 горшков с цветами;)
                                        0
                                        см. выше: тут я предложил вариант.
                                          0
                                          Не будет работать, если требуется разный уровень полива для разных растений — а он требуется, когда у вас разные цветы в 20ти условных горшках;)

                                            0
                                            Работает. Регулируется толщиной верёвочки. Прочитайте. пожалуйста, повнимательней мой комментарий.
                                        0
                                        проще использовать USB реле. не требует доппитания. проще в управлении и подключении
                                        использую такое для домашней автоматики лет 5 уже
                                        управляется отправкой набора цифр через pyserial кодом из 3-х строк
                                        self.ser = serial.Serial(self.port, timeout=0.1)
                                        self.ser.write(binascii.unhexlify('5501010200000059'))
                                        self.ser.close()
                                          0

                                          Синяя пилюля (stm32) для такого проекта — максимум. Если так пойдёт и дальше, скоро настолка с i7 + WEB/JS ворвутся даже в комнатный полив…

                                          Only users with full accounts can post comments. Log in, please.