Raspberry Pi Автоматический полив растений с веб-сайта
Настройте Pi на автоматически ухаживать за комнатным растением, считывая показания датчика влажности и поливая при необходимости.
История
Этот пост начинается с двух фактов:
- Я люблю убивать растения.
- В Голландии очень хорошо выращивают растения в помещении.
Прочитав о том, насколько хорошо растения могут расти в помещении, я начал думать, что, возможно, автоматизация - это мой путь к здоровым растениям. Поэтому я решил построить самый минимум - купить завод, насос и датчик воды. Когда датчик воды показывает «здесь нет воды», используйте насос, чтобы налить туда воду.
Я также решил запустить все это через Raspberry Pi, чтобы в качестве предлога взаимодействовать с RPi GPIO.
Вот как я это сделал!
Материалы:
- Raspberry Pi 3
- Датчик влажности почвы
- Гибкий водопровод
- Реле 5 В
- Погружной миниатюрный насос на 3–6 В
- TOLI 120 шт. Разноцветная проволока Dupont
- Блок питания 5 В (любой USB-кабель + настенное зарядное устройство USB.
Подключение:
Первое, что я сделал, - это сделал источник питания 5 В из кабеля USB. Используя старый кабель iphone, я отрезал сторону iphone и выудил красно-черный провод. Я припаял к нему несколько более прочных проводов и подключил его к настенному адаптеру. Проверил с помощью вольтметра, это дало мне выходное напряжение 5 В.
Теперь время для GPIO.
Подключение RPi:
В соответствии с этим макетом GPIO:
Датчик воды - подключите положительный провод от датчика воды к контакту 2, а отрицательный - к контакту 6. Подключите сигнальный провод (желтый) к контакту 8.
Реле. Подключите положительный провод от контакта 7 к IN1 на плате реле. Также подключите контакт 2 к VCC, а контакт 5 к GND на плате реле.
Насос - подключите помпу к источнику питания, проложите черный провод заземления между гнездами B и C модуля реле 1 (когда RPi отправляет сигнал LOW 0 В на контакт 1, это закроет цепь включения насоса).
Эта диаграмма должна отображать правильный GPIO, если вы используете Raspberry Pi 3. Не показан еще один источник питания для RPi.
Настройка оборудования:
После завершения электромонтажа прикрепите гибкий шланг к насосу (я использовал изоленту) и бросьте его в банку с водой. Присоедините другой конец шланга к растению.
Теперь подключите все источники питания (и убедитесь, что на вашем Raspberry Pi установлена какая-либо версия операционной системы, например, эта здесь).
Программное обеспечение
Примечание. Если вы получите подключение точно так, как описано выше, мой код из следующего раздела будет работать без изменений. Эта установка состоит из двух частей. Один файл управляет всей логикой GPIO и схем, а другой запускает локальный веб-сервер.
Все файлы:
- water.py
- auto_water.py
- web_plants.py
- main.html
Сценарий GPIO
Начнем с кода для управления GPIO. Для этого требуется библиотека Python RPi.GPIO, которую можно установить на Raspberry Pi следующим образом:
$> python3.4 -m pip install RPi.GPIO
После его установки вы сможете использовать найденный здесь скрипт water.py. Вы можете проверить, правильно ли он работает, запустив интерактивный сеанс Python следующим образом:
$> python3.4>>> import water>>> water.get_status ()>>> water.pump_on () Это должно напечатать заявление о том, влажный ли ваш датчик или сухой (get_status ()), а также включить насос на 1с. Если они работают должным образом, вы в хорошей форме.
На этом этапе вы также можете откалибровать датчик воды. Если состояние вашего растения неправильное, попробуйте повернуть небольшой винт (потенциометр) на датчике, когда он находится во влажной почве, пока не загорится второй индикатор.
Веб-сервер Flask
Следующим аспектом этого проекта является настройка веб-сервера. Этот код можно найти здесь, в файле с именем web_plants.py. Этот сценарий python запускает веб-сервер, позволяющий выполнять различные действия из сценария, описанного выше.
Вам нужно будет держать web_plants.py в том же каталоге, что и water.py и auto_water.py, описанные выше. Вам также понадобится подкаталог с именем «templates», содержащий здесь html-файл с именем main.html.
Вам нужно будет установить flask и psutil следующим образом:
$> python3.4 -m pip install flask $> python3.4 -m pip install psutil
Обязательно поместите файл web_plants.py в тот же каталог, что и приведенный выше скрипт water.py. Вам также необходимо создать подкаталог с именем templates и поместить main.html в каталог шаблонов. Теперь выполните следующую команду, чтобы запустить веб-сервер:
$> sudo python3.4 web_plants.py Теперь, если вы перейдете к IP-адресу вашего RPi, вы должны увидеть веб-панель управления примерно так:
Попробуйте нажимать кнопки, чтобы убедиться, что все работает должным образом! Если да, то вперед на скачки. вот еще одно отличное руководство по flask + GPIO, которому я следовал
Запускать веб-сайт автоматически
Наконец, вы, вероятно, хотите, чтобы веб-сайт автоматически запускался при включении RPi. Это можно сделать с помощью инструмента cronjob, который регистрирует ваш сайт как команду запуска.
Для этого введите:
$> sudo crontab -e
Откроется текстовый редактор. Добавьте одну строку, которая гласит (и не забудьте оставить одну пустую строку ниже):
@reboot cd <ваш путь к web_plants>; sudo python3.4 web_plants.py
Теперь, когда вы перезагружаете свой пи, он должен автоматически запускать сервер.
Подробнее:Автоматизированный полив растений Raspberry Pi с веб-сайтом
Производственный процесс
- Считать температуру с помощью DS18B20 | Raspberry Pi 2
- Аквапоника под управлением Raspberry Pi
- Измерение температуры с помощью RASPBERRY PI
- Мониторинг комнатной температуры с помощью Moteino’s и Raspberry Pi
- Мониторинг температуры с помощью Raspberry Pi
- 1-проводный датчик температуры DS1820 на Raspberry Pi (напрямую через GPIO)
- Ультразвуковой датчик (HC-SR04) + Raspberry Pi
- Датчик отслеживания линии с RPi
- Обнаружение молний с помощью Raspberry Pi
- Аналоговые датчики без аналоговых входов на Raspberry Pi