Оглавление:
- Шаг 1. Расходные материалы
- Шаг 2: Схема фритзинга
- Шаг 3: подготовьте Raspberry Pi
- Шаг 4: Модель базы данных - MySQL
- Шаг 5: Интерфейс: настройка веб-сервера
- Шаг 6: бэкэнд
- Шаг 7: Размещение светодиодной ленты
- Шаг 8: Размещение трубок
- Шаг 9: Размещение ЖК-дисплея
- Шаг 10: Размещение датчиков и подключение светодиодной ленты
- Шаг 11: Подключение Pi
- Шаг 12: Изготовление емкости для воды
- Шаг 13: окончательный результат
Видео: Автоматический горшок для растений - Маленький сад: 13 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:49
Я учусь на факультете мультимедийных и коммуникационных технологий в Howest Kortrijk. Для нашего последнего задания нам пришлось разработать проект Интернета вещей по нашему собственному выбору.
В поисках идей я решил сделать что-нибудь полезное для моей мамы, которая любит выращивать растения, и начал работать над автоматизированным горшком для растений.
Основные задачи автоматизированного горшка Little Garden:
-
Измерьте
- Температура
- Интенсивность света
- Влажность
- Влажность почвы
Сохраните измерения в базе данных
Улучшение условий для роста растений, если определенное значение слишком низкое
Позвольте устройству контролировать и управлять через веб-сайт
Не каждый шаг нужно выполнять до конца. Многое из того, что происходит, может быть вашим личным предпочтением или улучшением. Эта сборка была сделана таким образом, чтобы части могли быть восстановлены впоследствии, поэтому вы можете подойти к своей итерации по-другому, чтобы сделать ее более постоянной.
Шаг 1. Расходные материалы
Приобрести большую часть расходных материалов для этого проекта не так уж сложно, хотя в моем случае я работал с большим количеством переработанных материалов. Я также должен был убедиться, что впоследствии я смогу восстановить некоторые материалы.
Основные компоненты:
- Raspberry Pi 4 модель B
- Блок питания Raspberry Pi
- Т-сапожник Raspberry Pi
- Карта памяти Micro SD на 16 ГБ
- Блок питания макета с 3,3 В и 5 В
- Макетная плата
- Блок питания 12 В
Датчики:
- DHT11: Датчик влажности и температуры
- BH1750: Датчик интенсивности света
- Датчик влажности почвы
- MCP3008
Компоненты привода:
- 220V Водяной насос
- Светодиодная лента 12В
- Релейный модуль Velleman
- СОВЕТ 50: транзистор NPN
- ЖК-дисплей с модулем 16X2
- PCF8574a
Резисторы:
- 3 резистора по 330 Ом
- 1 резистор 5 кОм
- 2 резистора по 10 кОм
- 1 резистор 1 кОм
- 1 х 10 кОм резистор
Материалы:
- Сборная теплица / цветочный горшок
- Распределительная коробка
- Пластиковая бутылка для воды
- Вертлюги
- Провода-перемычки + штатный провод
- Skrews
- Паяльное олово + термоусадочная трубка
- Двусторонняя утиная лента
- Покрасить
Инструменты:
- Клей-пистолет
- Дрель
- Лезвие пилы
- Паяльник
- Канцелярский нож
- Кисть
Отличительной особенностью этого проекта является то, что его можно расширить или упростить, добавляя / удаляя компоненты и слегка изменяя код. Например, заменив насос 220 В на насос 12 В, вы можете отключить адаптер питания от устройства.
Шаг 2: Схема фритзинга
Макетная и электрическая схемы устройства показаны выше. Здесь вы можете увидеть, как все компоненты связаны между собой.
Общее объяснение того, как работают компоненты:
- DHT11 измеряет влажность воздуха в% и температуру в ° C. Связь с ним осуществляется буфером I2C.
- BH1750 измеряет интенсивность света в люксах. Связь осуществляется по шине I2C.
- Датчик влажности почвы создает цифровой сигнал, который MCP3008 преобразует в читаемый цифровой сигнал для Raspberry Pi.
- ЖК-модуль 16x2 отображает IP-адреса от Pi, один за другим. Он подключен к PCF8574a, который получает сигнал от Raspberry Pi, который преобразует его в ряд сигналов для битовых контактов дисплея. Контакты E и RS ЖК-дисплея подключены непосредственно к Pi. Резистор потенциометра определяет яркость экрана.
- Водяной насос подключается к реле, которое находится между ним и источником питания / розеткой 220 В. Raspberry Pi может послать сигнал на реле, чтобы замкнуть электрическую цепь и включить насос.
- Светодиодная лента подключена к источнику питания 12 В и к TIP 50 (транзистор NPN), который переключает электрический ток. Резистор на 1 кОм используется для ограничения потребляемой мощности от Raspberry Pi, иначе он будет очень хрустящим.
Шаг 3: подготовьте Raspberry Pi
Если у вас его еще нет, вам нужно будет поместить один из образов ОС Raspberry Pi на SD-карту. Я не рекомендую использовать Lite, так как это вызывало у меня проблемы с самого начала. После этого вам нужно будет убедиться, что ваш Pi обновлен, используя следующие команды, пока Pi подключен к Интернету:
- sudo apt-get update
- sudo apt-get upgrade
После этого вы можете включить или установить пакеты для работы проекта с помощью raspi-config или команд.
- SPI
- I2C
- MySQL: следующий шаг
- SocketIO: pip install flask-socketio
После настройки вы можете добавить необходимые файлы, написанные на HTML, CSS, Javascript и Python. Весь мой код можно найти в моем репозитории на github.
Шаг 4: Модель базы данных - MySQL
Выше вы можете увидеть диаграмму ERD, которая размещена через MariaDB. Я рекомендую следовать этому руководству по установке MariaDB не только для установки MariaDB, но и для того, чтобы убедиться, что ваш Pi защищен.
Для тех, кто хочет разобраться, база данных работает следующим образом:
Измерения и переключатели приводов хранятся в виде строк в таблице Метингена.
- metingId = идентификатор строки измерения / переключения
- deviceId = ID устройства, ответственного за эту строку в таблице
-
waarde = значение измерения датчика или переключателя исполнительного механизма
- датчик: значение измерения в соответствующих единицах
- приводы: 0 = ВЫКЛ и 1 = ВКЛ
- commentaar = комментарии, используемые для добавления дополнительной информации, например ошибок
- datum = дата и время, когда произошло измерение / переключение
Настройки устройства хранятся в разделе «Настройки».
- settingId = ID этой строки и значение настройки
- deviceID = ID соответствующего устройства / датчика
- waarde = значение настройки
- type = тип настройки, максимальное или минимальное?
И последнее, но не менее важное: таблица Devices содержит информацию о датчиках и исполнительных механизмах.
- deviceId = ID устройства в этой таблице
- naam = имя устройства / компонента
- merk = бренд
- prijs = цена компонента
- beschrijving = краткое описание компонента
- eenheid = единица измерения измеренных значений
- typeDevice = указывает, является ли компонент датчиком или исполнительным механизмом
Шаг 5: Интерфейс: настройка веб-сервера
Pi потребует от вас установить веб-сервер Apache, чтобы запустить веб-сервер для этого устройства. Это можно сделать с помощью следующей команды:
sudo apt-get install apache2.
Как только это будет сделано, вы можете перейти в папку: / var / www / html. Здесь вам нужно будет разместить весь код фронтенда. После этого вы можете получить доступ к веб-сайту, перейдя по IP-адресу.
Шаг 6: бэкэнд
Чтобы запустить бэкэнд, вам нужно будет запустить файл app.py либо вручную, либо создав для него службу на Pi, чтобы он запускался автоматически.
Как вы могли заметить, файлов довольно много. Я разделил код настолько, насколько мог, чтобы иметь четкий обзор и организацию кода.
Краткое объяснение:
app.py: основной файл, в котором объединены база данных, код оборудования и код серверной части
config.py: файл конфигурации для репозиториев базы данных
Репозитории: для доступа к репозиторию данных
-
Помощник
- devices_id: классы, помогающие идентифицировать информацию об устройстве в базе данных
- lcd: для запуска PCF и LCD
- Приводы: классы для работы приводов
- Датчики: классы для запуска датчиков
Шаг 7: Размещение светодиодной ленты
Я вырезал кусок светодиодной ленты и приклеил его к верхней части коробки теплицы. Полоску, которую я использовал, можно было разрезать в нескольких местах и снова подключить, чтобы вы могли разместить несколько полос и затем снова соединить их через провода, позволяя осветить больше места.
Шаг 8: Размещение трубок
Трубки можно было разместить разными способами, но в моем случае я прикрепил их сбоку от дна, держа их как можно дальше от другой электроники и позволяя воде просто стекать в грязь.
Шаг 9: Размещение ЖК-дисплея
Я вырезал целиком крышку распределительной коробки с помощью пилы, создав отверстие, достаточно большое, чтобы можно было пройти через дисплей, но достаточно маленькое, чтобы печатная плата оставалась позади него. После этого он был прикреплен к крышке с помощью перекосов.
На ЖК-дисплее отображаются IP-адреса Raspberry Pi, что позволяет узнать, какой адрес вы можете использовать для перехода на веб-сайт.
Шаг 10: Размещение датчиков и подключение светодиодной ленты
Используя схемы фритзинга, я спаял соединения между проводами и поместил резисторы внутри проводов, используя термоусадочные трубки для их изоляции.
По бокам крышки и дна теплицы прорезаны отверстия для крепления вертлюгов, через которые я протянул провода для датчиков и светодиодной ленты.
Я сгруппировал провода по функциям. Натяжение проводов и термоусадочных трубок удерживало датчики. Мне нужно было только использовать клей на проводах для DHT11, так как это расширилось.
Шаг 11: Подключение Pi
Я прорезал отверстия в боковой части распределительной коробки, чтобы провода могли пройти через них позже.
После этого я поместил макетную плату (с T-cobbler, PCF8574a, MCP3008, регулируемое сопротивление и TIP50), реле и Raspberry Pi на дно распределительной коробки, которое было прикрыто двусторонней утиной лентой. Блок питания не помещался на макетной плате, поэтому мне пришлось положить его сбоку и использовать перемычки, чтобы подключить его к макетной плате.
Наконец, я протянул провода адаптера, датчика и исполнительного механизма через отверстия, соединяющие провода с макетной платой, Raspberry Pi и другими компонентами. Провод насоса был разрезан, чтобы я мог поместить концы внутрь реле, чтобы его можно было использовать в качестве переключателя.
Шаг 12: Изготовление емкости для воды
Я сделал емкость для воды из пластиковой бутылки емкостью 1 л, отрезав верхнюю часть ножом и покрасив ее для лучшего вида. Затем внутрь поместили водяной насос. Из-за правила сообщающихся сосудов вода потенциально может течь по трубам сама по себе, но поднятие трубки решает проблему.
Шаг 13: окончательный результат
Момент, которого вы ждали. Теперь вы можете поместить грязь и семена в ящик теплицы и позволить устройству взяться за дело. Вы можете следить за состоянием устройства на сайте и устанавливать оптимальные значения для условий освещения и почвы.
Я рекомендую сначала полить почву вручную, так как некоторая грязь поначалу может быть довольно сухой. Некоторые насосы также производят полив довольно медленно, но вам нужно быть очень осторожным, так как он наполняется быстрее, чем вы ожидаете. Насыщенность выше 80% может сделать землю очень сырой. И убедитесь, что датчик влажности почвы расположен достаточно глубоко.
Рекомендуемые:
Автоматический полив растений: 4 шага
Автоматический полив растений: растения не удовлетворены вашим уходом? Всегда ли они умирают, не объясняя вам своих проблем? Тогда продолжайте читать о том, как создать свою собственную систему автоматического полива растений, которая даст вам всю информацию, которая вам когда-либо понадобится. составь свой план
Автоматическая кормушка для растений WiFi с резервуаром - Установка для выращивания в помещении / на открытом воздухе - Автоматическая поливка растений с дистанционным мониторингом: 21 шаг
Автоматическая кормушка для растений WiFi с резервуаром - Настройка выращивания в помещении / на открытом воздухе - Автоматическое поливание растений с удаленным мониторингом: в этом руководстве мы продемонстрируем, как настроить индивидуальную систему подачи растений в помещении / на открытом воздухе, которая автоматически поливает растения и может контролироваться удаленно с помощью платформы Adosia
Автоматический умный горшок для растений - (сделай сам, 3D-печать, Arduino, самополив, проект): 23 шага (с изображениями)
Автоматический умный горшок для растений - (сделай сам, 3D-печать, Arduino, самополив, проект): Здравствуйте, иногда, когда мы уезжаем из дома на несколько дней или очень заняты, комнатные растения (несправедливо) страдают, потому что их не поливают, когда они нужно это. Это мое решение. Это умный горшок для растений, который включает в себя: Встроенный резервуар для воды. Сенсо
Автоматический полив растений EcoDuino: 8 шагов (с изображениями)
EcoDuino Автоматический полив растений: EcoDuino - это комплект от DFRobot для автоматического полива растений. Работает от 6 батареек АА, не входящих в комплект. Настройка очень проста и включает микроконтроллер на базе Arduino
Сделать автоматический свет для растений: 6 шагов (с изображениями)
Сделайте автоматический свет для растений: этот свет помогает вашим растениям расти. Я получил идею от Garduino, но из него ничего не взято. Схема и программа - мои. Этот светильник для растений дает вашим растениям 4 дополнительных часа света в день. Когда стемнеет, включается и после