
Оглавление:
- Шаг 1. Аппаратное обеспечение
- Шаг 2: Общий дизайн
- Шаг 3: погружной водяной насос
- Шаг 4: Модуль управления, устанавливаемый на верхнюю часть банки OJ
- Шаг 5: Модуль управления - Схема
- Шаг 6: Датчик утечки воды из лотка
- Шаг 7: Датчик влажности почвы и поливочный шкаф
- Шаг 8: трубки и проводка
- Шаг 9: эскиз NodeMCU
- Шаг 10: эскиз NodeMCU - Wi-Fi
- Шаг 11: эскиз NodeMCU - NTP
- Шаг 12: эскиз NodeMCU - локальный веб-сервер
- Шаг 13: эскиз NodeMCU - локальный журнал полива и доступ к внутренней файловой системе
- Шаг 14: эскиз NodeMCU - влажность почвы, протечка воды из нижнего лотка, уровень воды, 3-х цветный светодиод
- Шаг 15: Солнечная энергия, Power Bank и автономная работа
- Шаг 16: Интеграция IoT - Blynk
- Шаг 17: эскизы и файлы
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-23 15:04


Этот проект является развитием моего предыдущего руководства: APIS - Автоматизированная система полива растений.
Я использую APIS почти год и хотел улучшить предыдущий дизайн:
- Возможность удаленного наблюдения за заводом. Так этот проект стал доступен для Интернета вещей.
- Легко заменяемый датчик влажности почвы. Я испытал три различных конструкции датчика влажности, и независимо от того, какой материал я использовал, он рано или поздно разрушился. Таким образом, новая конструкция должна была прослужить как можно дольше и ее можно было быстро и легко заменить.
- Уровень воды в ведре. Я хотел иметь возможность определять, сколько воды еще осталось в ведре, и останавливать полив, когда ведро пустое.
- Лучше выглядит. Серая рамка проекта была хорошим началом, но я хотел создать что-то, что выглядело бы немного лучше. Вы будете судьей, если мне удастся достичь этой цели …
- Автономность. Я хотел, чтобы новая система была автономной с точки зрения мощности и / или доступности Интернета.
Полученный проект не менее конфигурируем, чем его предшественник, и имеет дополнительные полезные функции.
Я также хотел использовать свой недавно приобретенный 3D-принтер, поэтому некоторые детали придется распечатать.
Шаг 1. Аппаратное обеспечение


Для создания IoT APIS v2 вам потребуются следующие компоненты:
- NodeMcu Lua ESP8266 ESP-12E WIFI Development Board - на banggood.com
- SODIAL (R) 3-контактный модуль измерения расстояния ультразвукового датчика, двойной датчик, трехконтактный на плате - на amazon.com
- DC 3V-6V 5V Маленький погружной водяной насос Насос для аквариума - на ebay.com
- Трехцветный светодиод - на amazon.com
- Доска Vero - на amazon.com
- Транзистор PN2222 - на amazon.com
- Пластиковые винты, болты и гайки
- Паяльное оборудование и принадлежности
- Провода, резисторы, разъемы и другие разные электронные компоненты
- Пустая банка Tropicana OJ 2.78 QT
- 2 оцинкованных гвоздя
Шаг 2: Общий дизайн


Общий дизайн состоит из следующих компонентов: 1. Датчик влажности почвы и корпус для полива растений (комбинированный - 3D печать) 2. Трубки и проводка 3. Датчик утечки воды из лотка (напечатан на 3D-принтере) 4. Модуль управления, установленный на верхней части банки OJ (помещен и заключен в корпус с 3D-печатью) 5. Погружной водяной насос 6. NodeMCU sketch7. Конфигурация IoT 8. Электропитание: USB через розетку -ИЛИ- солнечная панель (автономный режим) Давайте обсудим каждый компонент индивидуально
Шаг 3: погружной водяной насос


Погружной водяной насос расположен под ручкой сосуда OJ (чтобы не мешать измерению уровня воды). Насос размещен таким образом, чтобы он «зависал» примерно на 2-3 мм над дном емкости, чтобы вода могла свободно стекать в приемное отверстие.
Поскольку для нормальной работы насос должен быть полностью погружен, минимальный уровень воды в кувшине должен составлять около 3 см (около 1 дюйма).
Шаг 4: Модуль управления, устанавливаемый на верхнюю часть банки OJ



В качестве емкости для воды я выбрал стандартную большую банку Tropicana OJ. Они широко доступны и стандартны.
После снятия исходного крана модуль управления помещается на верхнюю часть емкости.
Платформа, на которой расположен модуль управления, напечатана на 3D-принтере. Файл STL представлен в разделах «Файлы и эскизы» данного руководства.
Насос, трубопровод и проводка проходят через ручку банки Tropicana, чтобы освободить место для измерения уровня воды.
Уровень воды измеряется ультразвуковым датчиком расстояния, встроенным в платформу модуля управления. Уровень воды определяется как разница измерения расстояния между пустой банкой и банкой, наполненной водой до определенного уровня.
Модуль управления и датчик US закрыты напечатанным на 3D-принтере «куполом». Файл STL купола представлен в разделе файлов и эскизов данного руководства.
Шаг 5: Модуль управления - Схема


Схемы для модуля управления (включая список компонентов) и файлы макета платы представлены в разделе файлов и эскизов данного руководства.
ПРИМЕЧАНИЕ. Работа с NodeMCU оказалась сложной задачей с точки зрения доступных контактов GPIO. Почти все GPIO выполняют ряд функций, что делает их либо недоступными для использования, либо невозможными для использования в режиме глубокого сна (из-за специальных функций, которые они играют во время процесса загрузки). В конце концов, мне удалось найти баланс между использованием GPIO и моими требованиями, но потребовалось несколько разочаровывающих итераций.
Например, некоторые GPIO остаются «горячими» во время глубокого сна. Подключение светодиода к таковым с целью снижения энергопотребления во время глубокого сна.
Шаг 6: Датчик утечки воды из лотка



Если у вашего горшка есть переливное отверстие на дне, есть риск, что вода выльется из нижнего поддона и выльется на пол (полку или другое место, на котором находится ваше растение).
Я заметил, что на измерение влажности почвы в значительной степени влияет положение датчика, плотность почвы, расстояние от водовыпускного отверстия и т. Д. Другими словами, только влажность почвы может нанести вред вашему дому, если вода выливается из нижнего лотка и выливается через него.
Датчик перелива представляет собой прокладку между горшком и нижним лотком с двумя проводами, намотанными вокруг стержней. Когда вода заполняет лоток, два провода соединяются, тем самым сигнализируя микроконтроллеру о наличии воды в нижнем лотке.
В конце концов вода испаряется, и провода отсоединяются.
Нижний лоток напечатан на 3D-принтере. Файл STL доступен в разделе файлов и эскизов данного руководства.
Шаг 7: Датчик влажности почвы и поливочный шкаф




Я разработал корпус из шестиугольника, напечатанный на 3D-принтере, как комбинированный датчик влажности почвы и поливочный корпус.
Файл для 3D-печати (STL) доступен в разделе файлов и эскизов данного руководства.
Корпус состоит из двух частей, которые необходимо склеить. Модифицированный фитинг с зазубринами приклеен к боковой стороне корпуса для присоединения трубки.
Предусмотрены два отверстия диаметром 4,5 мм для размещения оцинкованных гвоздей, служащих датчиками влажности почвы. Подключение к микроконтроллеру осуществляется с помощью металлических прокладок, специально подобранных под гвозди.
3D-дизайн выполняется с помощью www.tinkercad.com, который представляет собой отличный и простой в использовании, но мощный инструмент для 3D-дизайна.
ПРИМЕЧАНИЕ. Вы можете спросить, почему я просто не использовал один из предварительно изготовленных датчиков почвы? Ответ таков: фольга на них растворяется в течение нескольких недель. Фактически, даже при ограниченном времени, когда гвозди находятся под напряжением, они все равно разрушаются, и их необходимо заменять не реже одного раза в год. Вышеупомянутая конструкция позволяет заменять ногти в считанные секунды.
Шаг 8: трубки и проводка

Вода подается на объект через сверхмягкие латексные полупрозрачные трубки (с внутренним диаметром 1/4 дюйма и внешним диаметром 5/16 дюйма).
Для выхода насоса требуются трубки большего размера и переходник: химически стойкий полипропиленовый зазубренный фитинг, переходной прямой для трубы с внутренним диаметром 1/4 "x 1/8".
Наконец, химически стойкий полипропиленовый фитинг с зазубринами, прямой для трубки с внутренним диаметром 1/8 дюйма, служит в качестве соединителя с поливочной камерой.
Шаг 9: эскиз NodeMCU

Скетч NodeMCU реализует несколько функций IoT APIS v2:
- Подключается к существующей сети Wi-Fi -ИЛИ- работает как точка доступа Wi-Fi (в зависимости от конфигурации)
- Запрашивает NTP-серверы для получения местного времени
- Реализует веб-сервер для мониторинга растений и настройки параметров полива и сети.
- Измеряет влажность почвы, утечки воды в нижнем лотке, уровень воды в банке и обеспечивает визуальную индикацию с помощью 3-х цветного светодиода.
- Реализует режимы работы онлайн и энергосбережение
- Сохраняет информацию о каждом поливе локально во внутренней флеш-памяти.
Шаг 10: эскиз NodeMCU - Wi-Fi

По умолчанию IoT APIS v2 создает локальную точку доступа Wi-Fi под названием «Plant_XXXXXX», где XXXXXX - это серийный номер микросхемы ESP8266 на плате NodeMCU.
Вы можете получить доступ к встроенному веб-серверу через URL: https://plant.io внутренний DNS-сервер подключит ваше устройство к странице статуса APIS.
Со страницы состояния вы можете перейти на страницу параметров полива и страницу параметров сети, где вы можете подключить IoT APIS v2 к вашей сети Wi-Fi и начать отправлять отчеты о состоянии в облако.
IoT APIS поддерживает режимы работы в режиме онлайн и энергосбережение:
- В онлайн-режиме IoT APIS постоянно поддерживает соединение Wi-Fi, поэтому вы можете в любое время проверить состояние своего предприятия.
- В режиме энергосбережения IoT APIS периодически проверяет влажность почвы и уровень воды, переводя устройство в режим «глубокого сна», что значительно снижает его энергопотребление. Однако устройство не всегда доступно в сети, и параметры можно было изменить только во время включения устройства (в настоящее время каждые 30 минут, в соответствии с часами / получасовыми часами реального времени). Устройство будет оставаться в сети в течение 1 минуты каждые 30 минут, чтобы можно было изменить конфигурацию, а затем перейдет в режим глубокого сна. Если пользователь подключается к устройству, время работы увеличивается до 3 минут для каждого подключения.
Когда устройство подключено к локальной сети Wi-Fi, его IP-адрес передается на облачный сервер IoT и отображается на мобильном устройстве мониторинга.
Шаг 11: эскиз NodeMCU - NTP

IoT APIS v2 использует протокол NTP для получения местного времени от серверов времени NIST. Правильное время используется для определения того, должно ли устройство переходить в «ночной» режим, т.е. избегать включения насоса или мигания светодиода.
Ночное время настраивается отдельно для рабочих дней и утра выходных.
Шаг 12: эскиз NodeMCU - локальный веб-сервер



В IoT APIS v2 реализован локальный веб-сервер для отчетов о состоянии и изменения конфигурации. Домашняя страница содержит информацию о текущей влажности и уровне воды, наличии перелива воды в нижнем лотке и статистику последнего цикла полива. Страница конфигурации сети (доступна с помощью кнопки настройки сети) обеспечивает возможность подключения к локальной сети Wi-Fi и переключения между режимами онлайн и энергосбережения. (Изменения в конфигурации сети приведут к сбросу устройства) Страница конфигурации полива (доступная с помощью кнопки настройки воды) предоставляет возможность изменять параметры полива (влажность почвы для начала / остановки полива, продолжительность цикла полива и пауза насыщения между циклами, количество циклов и т. д.) HTML-файлы веб-сервера находятся в папке данных эскиза IoT APIS Arduino IDE. Они должны быть загружены во флэш-память NodeMCU как файловая система SPIFF с помощью расположенного здесь инструмента «ESP8266 Sketch Data Upload».
Шаг 13: эскиз NodeMCU - локальный журнал полива и доступ к внутренней файловой системе

В случае, если подключение к сети недоступно, система IoT APIS v2 регистрирует все действия по поливу локально.
Чтобы получить доступ к журналу, подключитесь к устройству и перейдите на страницу «/ edit», затем загрузите файл watering.log. Этот файл содержит историю всех поливов с момента начала регистрации.
Пример такого файла журнала (в формате, разделенном табуляцией) прилагается к этому шагу.
ПРИМЕЧАНИЕ. Страница загрузки недоступна, когда IoT APIS v2 работает в режиме точки доступа (из-за зависимости от онлайн-библиотеки Java Script).
Шаг 14: эскиз NodeMCU - влажность почвы, протечка воды из нижнего лотка, уровень воды, 3-х цветный светодиод




Измерение влажности почвы основано на том же принципе, что и исходный APIS. Пожалуйста, обратитесь к инструкции для получения подробной информации.
Утечки из поддона для воды обнаруживаются путем кратковременного приложения напряжения к проводам, расположенным под горшком, с помощью внутренних резисторов PULLUP. Если результирующее состояние ПИН-кода НИЗКОЕ, значит, в лотке есть вода. Состояние PIN ВЫСОКИЙ означает, что цепь "разорвана", поэтому в нижнем лотке нет воды.
Уровень воды определяется путем измерения расстояния от верха банки до поверхности воды и сравнения его с расстоянием до дна пустой емкости. Обратите внимание на использование 3-х контактного датчика! Они дороже четырехконтактных датчиков HC-SR04. К сожалению, у меня закончились GPIO на NodeMCU, и мне пришлось отрезать все провода, которые я мог, чтобы проект работал только на одном NodeMCU без дополнительных схем.
3-х цветный светодиод используется для визуальной индикации состояния APIS:
- Умеренно мигает ЗЕЛЕНЫМ - подключение к сети Wi-Fi
- Быстро мигающий ЗЕЛЕНЫЙ - запрос сервера NTP
- Кратковременно горит ЗЕЛЕНЫЙ - подключен к Wi-Fi и успешно получил текущее время от NTP.
- Кратковременное свечение БЕЛЫМ цветом - инициализация сети завершена.
- Быстро мигающий БЕЛЫЙ - переход в режим точки доступа
- Быстро мигающий СИНИЙ - полив
- Умеренно мигает СИНИЙ - насыщающий
- На короткое время горит ЖЕЛТЫЙ, а затем на короткое время горит КРАСНЫЙ - не удается получить время от NTP.
- На короткое время горит БЕЛЫЙ при доступе к внутреннему веб-серверу
Светодиод не работает в «ночном» режиме. Ночной режим мог быть надежно определен только в том случае, если устройство могло получить местное время от серверов NTP хотя бы один раз (локальные часы реального времени будут использоваться до тех пор, пока не будет установлено следующее соединение с NTP)
Пример функции светодиода доступен на YouTube здесь.
Шаг 15: Солнечная энергия, Power Bank и автономная работа



Одна из идей, лежащих в основе IoT APIS v2, заключалась в возможности автономной работы.
В текущем дизайне для этого используются солнечная панель и промежуточный блок питания на 3600 мАч.
- Солнечная панель доступна на amazon.com
- Power Bank также доступен на amazon.com.
В солнечную панель встроен аккумулятор емкостью 2600 мАч, но он не может поддерживать 24-часовую работу APIS даже в режиме энергосбережения (я подозреваю, что батарея плохо справляется с одновременной зарядкой и разрядкой). Кажется, что комбинация двух батарей обеспечивает достаточную мощность и позволяет подзаряжать обе батареи в течение дня. Солнечная панель заряжает внешний аккумулятор, а внешний аккумулятор включает устройство APIS.
Пожалуйста, обрати внимание:
Эти компоненты не являются обязательными. Вы можете просто подключить устройство к любому USB-адаптеру, который обеспечивает ток 1А.
Шаг 16: Интеграция IoT - Blynk



Одной из целей новой конструкции была возможность удаленно контролировать влажность почвы, уровень воды и другие параметры.
Я выбрал Blynk (www.blynk.io) в качестве платформы Интернета вещей из-за ее простоты использования и привлекательного визуального дизайна.
Поскольку мой скетч основан на кооперативной многозадачной библиотеке TaskScheduler, я не хотел использовать библиотеки устройств Blynk (они не включены для TaskScheduler). Вместо этого я использовал Blynk HTTP RESTful API (доступно здесь).
Настройка приложения настолько интуитивна, насколько это возможно. Пожалуйста, следите за прикрепленными скриншотами.
Шаг 17: эскизы и файлы

Скетч IoT APIS v2 находится на github здесь: Sketch
Здесь расположены несколько библиотек, используемых в скетче:
- TaskScheduler - совместная библиотека многозадачности для Arduino и esp8266
- AvgFilter - целочисленная реализация фильтра Average для сглаживания данных датчика
- RTCLib - реализация аппаратно-программных часов реального времени (модифицирована мной)
- Время - Модификации библиотеки времени
- Timezone - библиотека, поддерживающая вычисления часовых поясов
ЗАМЕТКА:
Таблицы данных, документация по выводам и 3D-файлы находятся в подпапке «файлы» основного эскиза.
HTML-файлы для встроенного веб-сервера должны быть загружены во флеш-память NODE MCU с помощью arduino-esp8266fs-plugin (который создает файл файловой системы из подпапки «data» основной папки скетча и выгружает его во флеш-память)


Финалист конкурса по садоводству в закрытых помещениях 2016
Рекомендуемые:
Автоматическая система полива растений с использованием Micro: bit: 8 шагов (с изображениями)

Автоматическая система полива растений с использованием Micro: bit: В этой инструкции я собираюсь показать вам, как построить автоматическую систему полива растений с помощью Micro: bit и некоторых других небольших электронных компонентов. Micro: bit использует датчик влажности контролировать уровень влажности в почве растений и
Основы Интернета вещей: подключение Интернета вещей к облаку с помощью ОС Mongoose: 5 шагов

Основы IoT: подключение вашего IoT к облаку с помощью Mongoose OS: если вы человек, который занимается мастерингом и электроникой, чаще всего вы встретите термин Интернет вещей, обычно сокращенно IoT, и что он относится к набору устройств, которые могут подключаться к Интернету! Быть таким человеком
APIS - Автоматизированная система полива растений: 12 шагов (с изображениями)

APIS - Автоматизированная система полива растений: ИСТОРИЯ: (следующая эволюция этой системы доступна здесь) Есть довольно много инструкций по теме полива растений, поэтому я едва придумал здесь что-то оригинальное. Что отличает эту систему, так это количество программирования и
Кофемашина с поддержкой Интернета вещей: 9 шагов (с изображениями)

Кофемашина с поддержкой IoT: эта инструкция участвует в конкурсе IoT - если вам она нравится, пожалуйста, проголосуйте за нее! ОБНОВЛЕНО: теперь поддерживает двустороннюю связь и обновления OTA. Некоторое время назад у меня была кофемашина Jura, и я всегда хотел чтобы как-то автоматизировать. Я должен быть
Центр сбора данных датчиков с поддержкой Интернета вещей с ESP8266 и PubNub: 9 шагов (с изображениями)

Центр сбора данных датчиков с поддержкой Интернета вещей с ESP8266 и PubNub: большинство руководств по ESP8266 либо на уровне новичков (удаленное мигание светодиода), либо слишком сложны для тех, кто ищет что-то, что можно улучшить и усовершенствовать свои навыки мигания светодиодами. инструктируемый направлен на то, чтобы восполнить этот пробел, чтобы создать