Автоматизация полива приусадебного участка с MudPi

Опубликовано От Sergey
0 0
Read Time:9 Minute, 19 Second

В этой статье мастер поделится своим опыт по созданию системы полива для приусадебного участка.

Работа будет основана на MudPi. MudPi — это садовая система с открытым исходным кодом, которую он создал для управления и обслуживания садовых участков, построенная на Raspberry Pi. Мастер подает свой материал как совет/инструкцию.

Инструменты и материалы:
-Raspberry Pi с Wi-Fi (мастер использовал Pi 3 B);
-ОС Debian 9/10;
-Монитор / клавиатура / мышь;
-SD-карта;
-Кабель (4 провода);
-Водонепроницаемая распределительная коробка для улицы;
-Din-рейка;
-ПВХ-трубы;
-Шуруповерт;
-DHT11 Датчик температуры / влажности;
-Датчик уровня поплавковый — 2 шт;
-2-х канальное реле;
-12 В насос;
-Блок питания 12 В;
-Блок питания 5 В;
-Резисторы 10;
-Отвертка;
-Инструмент для зачистки проводов;
-Мультиметр;
-Паяльник;
-Припой;
-Винты (для крепления коробок);
-Силиконовый герметик;

Шаг первый: планирование
Два основных варианта подачи воды — это использование насоса в резервуаре для воды или шланга с соленоидом для открытия и закрытия водопровода под давлением. Более крупная и сложная система может использовать и то, и другое (например, прокачивание воды через электромагнитные клапаны для полива определенной зоны). Если вы планируете использовать MudPi в помещении, вы, вероятно, будете использовать насос. MudPi также может управлять освещением комнатных растений.

Имейте в виду, что вы можете построить свой проект в любом масштабе. Если вы просто хотите попробовать MudPi в первый раз, попробуйте что-то вроде бутылки с водой и насоса 3,3 В для полива комнатного растения.

Также рассмотрите варианты доставки воды.

Вот несколько распространенных методов:
Разбрызгиватель
Капельные линии
Ручной полив

Давайте предположим, что у вас уже есть полив, и вы просто хотите его автоматизировать. Предположим, что уже есть резервуар с водой, подключенный к некоторым капельным линиям.

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

Вы также можете управлять устройствами в вашем саду. Если вы планируете включить насос или источники света, которые не работают при напряжении 3,3 В (предел pi GPIO), вам понадобится реле. Реле позволяет вам управлять цепями с более высоким напряжением, одновременно используя более низкое напряжение для переключения реле. Для наших целей у нас есть насос, который работает с напряжением выше 3,3 В, поэтому нам понадобится реле для переключения насоса. Для управления насосом требуется только одно реле, но можно установить двухканальное реле для будущих дополнений в проекте.

Самая важная вещь для планирования — это электроснабжение. Как Pi будет питаться и откуда. Обычно Pi может питаться от USB-адаптера питания, но для этого требуется отдельный разъем. Если мы питаем другие устройства с более высоким напряжением, можно использовать источник постоянного тока для снижения напряжения до 5 В для Pi.

Помните, что Raspberry Pi может поддерживать только цифровой GPIO по умолчанию. Это означает, что вы не можете просто подключить датчик почвы, который передает аналоговые показания в Pi GPIO. Чтобы быть совместимым с аналоговыми компонентами, вам необходимо использовать микроконтроллер с аналоговой поддержкой, такой как Arduino или ESP32 (или ESP8266).

Шаг второй: установка MudPi на Raspberry Pi
Для начала вы должны подготовить Raspberry Pi к установке MudPi. Вам понадобится Raspberry Pi с возможностями Wi-Fi, работающий под управлением Debian 9 или выше. Если у вас еще не установлен Raspbian, вам нужно скачать Raspbian с их страницы.
Загрузив файл, запишите его на SD-карту.
Подключите SD-карту к вашему Pi и включите его. Подключите Pi к Wifi с помощью графического интерфейса, если вы установили Raspbian Desktop, или отредактировав файл /etc/wpa_supplicant/wpa_supplicant.conf через терминал в Raspbian Lite.
Следующее, что вы должны сделать после подключения Wifi, это установить обновление на pi.

Чтобы обновить логин Pi и запустить из терминала:
sudo apt-get update
sudo apt-get upgrade
После завершения перезагрузки:
sudo reboot
После того, как Pi загрузится, можно установить MudPi. Это можно сделать с помощью установщика MudPi с помощью следующей команды:
curl -sL https://install.mudpi.app |
Установщик позаботится обо всех необходимых пакетах и конфигурациях для MudPi. По умолчанию MudPi устанавливается в каталог / etc / mudpi с ядром, расположенным в / etc / mudpi / core.
Вы можете запустить MudPi вручную с помощью следующей команды:
cd / etc / mudpi / core
python3 mudpi.py

Шаг третий: подключение датчиков к Pi для тестирования
Следующим шагом является подключение компонентов к Pi.
Подключите контакт DATA датчика DHT11 / 22 к контакту 25 GPIO.
Подключите питание DHT11 / 22 и заземление.
Подсоедините один конец каждого из 2 поплавковых датчиков к контактам 17 и 27 GPIO соответственно, через резисторы 10 кОм.
Подсоедините другие концы поплавковых датчиков к 3,3 В.
Прикрепите 2-канальные штырьковые реле к контактам GPIO 13 и 16.
Подключите реле 5 В к источнику питания и заземлению.

Шаг четвертый: настройка MudPi
Теперь нужно создать файл конфигурации MudPi и проверить, что все работает, прежде чем закончить сборку устройства. Для настройки MudPi нужно обновить файл mudpi.config, расположенный в каталоге / etc / mudpi / core. Это файл в формате JSON, который вы можете обновить вручную
{ "name": "MudPi",
"version": 0.8,
"debug": false,
"redis": {
"host": "127.0.0.1",
"port": 6739
},
"relays": [
{
"pin": 13,
"normally_open": true,
"group": "",
"name": "Pump",
"topic": "garden/pi/relays/1",
"tag": "relay1"
},
{
"pin": 16,
"normally_open": true,
"group": "",
"name": "Extra",
"topic": "garden/pi/relays/2",
"tag": "relay_extra"
}
],
"workers": [
{
"type": "sensor",
"sensors": [
{
"pin": 25,
"is_digital": true,
"type": "Humidity",
"name": "dht"
},
{
"pin": 17,
"is_digital": true,
"type": "Float",
"name": "float1"
},
{
"pin": 27,
"is_digital": true,
"type": "Float",
"name": "float2"
}
]
}
],
"triggers": [
{
"type": "time",
"key": "turn_on_pump",
"name": "Daily Pump 12 Hours",
"schedule": "0 */12 * * *",
"actions": ["turn_on_pump"]
},
{
"type": "time",
"key": "turn_off_pump",
"name": "Daily Pump Off",
"schedule": "15 */12 * * *",
"actions": ["turn_off_pump"]
}
],
"actions": [
{
"type": "event",
"name": "Turn on Pump",
"key": "turn_on_pump",
"action": {"event":"Switch", "data":1},
"topic": "garden/pi/relays/1"
},
{
"type": "event",
"name": "Turn off Pump",
"key": "turn_off_pump",
"action": {"event":"Switch", "data":0},
"topic": "garden/pi/relays/1"
}
]
}
или с помощью удобного инструмента, который сделал мастер.

Автоматизация происходит путем установки триггеров и действий. Триггер — это способ сказать MudPi прислушиваться к определенным условиям, которые нужно предпринять, например, при слишком высокой температуре. В коде выше есть два триггера времени. Указанные выше временные триггеры устанавливаются на каждые 12 часов (т.е. два раза в день). Они активируют два настроенных действия, которые просто включают / выключают реле. Второй триггер смещен на 15 минут, так что насос включится и будет поливать водой в течение 15 минут. Это будет происходить два раза в день каждый день.

Теперь можно перезагрузить MudPi:
sudo supervisorctl restart mudpi

Для проверки работы нужно подать следующую команду:
sudo supervisorctl status mudpi

Шаг пятый: монтаж
Компоненты, которые будут установлены в коробку, должны быть припаяны к плате. Датчик DHT11, который здесь используется, будет внешним, но можно дополнительно установить еще один внутри для контроля температуры внутри коробки.

Затем устанавливает электронику в коробку. Важно, чтобы она была влагозащищенная.

Pi должен быть выключен при подключении компонентов.

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

Если вы используете насос с напряжением 120 В (у мастера, а у нас 220В), то подключение нужно осуществлять через реле. Принцип простой. На реле есть нормально разомкнутые контакты. К ним подключаем 220 В. К катушке подключаем питание от устройства. Как только устройство подаст питание на катушку, силовые контакты замкнутся и начнет работать насос.

Шаг шестой: датчики
Влага не слишком дружит с электроникой. Мы защитили Pi с помощью наружной распределительной коробки, теперь нужно защитить любые внешние компоненты. Можно сделать приличный корпус для защиты внешних компонентов, используя трубу из ПВХ или друг труб. Мастер установил простую вентилируемую крышку для датчика DHT11, чтобы защитить его от дождя и насекомых, но дать ему возможность «дышать» для точных показаний. На следующем шаге использует силиконовую манжету для уплотнения кабелей.

Не лучшее решение, но оно работает для дешевого 4 $ сенсора. Поплавковые датчики будут установлены в резервуар для воды и не требуют дополнительного корпуса.

Для подключения датчиков необходимо приобрести какой-нибудь наружный кабель. Идущие в комплекте с датчиками провода, скорее предназначены для внутреннего использования. Для быстрой замены датчиков мастер установил разъемы.

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

Шаг седьмой: мониторинг MudPi
Теперь, когда MudPi работает, вы можете задаться вопросом, как контролировать систему? Самый простой и прямой способ — отслеживать файл журнала MudPi:
tail -f /etc/mudpi/logs/mudpi.out.log

Другой вариант — через интерфейс. У мастера еще не было времени выпустить общедоступный пользовательский интерфейс MudPi, но можно легко получить данные о состоянии датчиков и компонентов из redis с помощью PHP. Узнайте, как это сделать можно здесь.

Последние показания датчика будут сохранены в Redis под именем или ключом, который вы установили в конфигурации. Используя это, вы можете создать простое PHP-приложение, которое будет считывать показания при загрузке страницы и отображать их.

Также возможно просматривать события MudPi на Redis напрямую, и это лучший вариант для получения обновлений в реальном времени из системы. Вы можете прочитать события непосредственно через Redis-Cli
redis-cli psubscribe ‘*’

Шаг восьмой: платы
Для удобства использования мастер сделал несколько плат для MudPi. Они помогают ускорить процесс сборки с созданием нескольких модулей MudPi. Мастер начал заменять старые платы более надежными печатными платами во всех имеющихся у него устройствах. В будущем он хочет сделать эти платы доступными для продажи.

Теперь у вас есть собственная автоматизированная система сада, которую вы можете конфигурировать и масштабировать по своему желанию. Мастер лично использую MudPi снаружи и внутри дома и очень доволен результатами.

MudPi все еще обновляется, добавляя новые функции и разработки. Вы можете посетить сайт для получения подробной информации.

Источник

Источник: https://usamodelkina.ru/

Happy
Happy
0 %
Sad
Sad
0 %
Excited
Excited
0 %
Sleepy
Sleepy
0 %
Angry
Angry
0 %
Surprise
Surprise
0 %

Average Rating

5 Star
0%
4 Star
0%
3 Star
0%
2 Star
0%
1 Star
0%

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *