Оглавление:

Полив комнатных растений с помощью NodeMCU, локального сервера Blynk и Blynk Apk, регулируемая уставка: 3 шага
Полив комнатных растений с помощью NodeMCU, локального сервера Blynk и Blynk Apk, регулируемая уставка: 3 шага

Видео: Полив комнатных растений с помощью NodeMCU, локального сервера Blynk и Blynk Apk, регулируемая уставка: 3 шага

Видео: Полив комнатных растений с помощью NodeMCU, локального сервера Blynk и Blynk Apk, регулируемая уставка: 3 шага
Видео: IoT оросительный автополив на базе ESP8266 2024, Ноябрь
Anonim
Полив комнатных растений с помощью NodeMCU, локального сервера Blynk и Blynk Apk, регулируемой уставки
Полив комнатных растений с помощью NodeMCU, локального сервера Blynk и Blynk Apk, регулируемой уставки

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

Запасы

Узел MCU ESP-8266

Малина Pi 3

SD-карта (рекомендуется 16 ГБ)

Емкостной датчик влажности почвы (или DIY)

3-6 В (постоянный ток) Мини-насос

2N2222 или аналогичный транзистор NPN

1x 1N4148 диод

1x резистор 1 кОм 0,25 Вт

Макетная плата или макетная плата

Соединительные провода

Шаг 1. Подготовьте локальный сервер Blynk

Подготовьте локальный сервер Blynk
Подготовьте локальный сервер Blynk

Программным ядром этого проекта является платформа Blynk IOT. Они предлагают бесплатный хостинг для небольших проектов с возможностью купить дополнительные кредиты, если вы планируете расширить свои идеи. Хорошая часть этой платформы заключается в возможности локально установить свой сервер на основе Java на различных платформах, включая Windows или Raspberry Pi3, которые я собираюсь использовать в этом руководстве.

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

Очевидно, что подключение RPi3 к маршрутизатору через локальную сеть или Wi-Fi является обязательным. Даже если у вас нет клавиатуры или монитора для подключения к RPi3, вы можете подключить его к Wi-Fi с помощью этого руководства.

Теперь установка сервера Blynk на только что установленный Raspbian может быть выполнена очень легко, следуя этому руководству. Я должен сказать вам, что вы должны заменить некоторые инструкции из него, потому что с тех пор, как этот учебник был написан, сервер Blynk получил некоторые обновления, и вы должны обновить его соответственно. Итак, когда они просят вас загрузить сервер, вы должны заменить команду wget "https://github.com/blynkkk/blynk-server/releases/download/v0.23.0/server-0.23.0.jar" на wget "https://github.com/blynkkk/blynk-server/releases/download/v0.41.8/server-0.41.8-java8.jar"

Поскольку сервер Blynk не запускается автоматически после перезагрузки RPi, вы должны добавить в файл Crontab в соответствии с их инструкциями, добавив в конце следующую строку:

@reboot java -jar /home/pi/server-0.41.8-java8.jar -dataFolder / home / pi / Blynk &

Последнее упоминание об установке сервера Blynk заключается в том, что страница, к которой вы будете получать доступ для административных целей, будет https:// IP_BLINK_SERVER: 9443 / admin, и вы должны обратить внимание на номер порта, 9443, потому что в этом руководстве это время использовался порт 7443

Чтобы сервер был доступен из Интернета, вам необходимо перенаправить порт 9443 на внутренний IP-адрес сервера Blynk, а также использовать службу DDNS на случай, если общедоступный IP-адрес изменится во время перезагрузки маршрутизатора. Если вы являетесь владельцем маршрутизаторов ASUS или Mikrotik (я привожу эти примеры, потому что у меня есть оба бренда и я успешно использую их службу DDNS) или любой другой бренд с собственной службой DDNS, вам будет намного проще.

Шаг 2: Настройка оборудования

Настройка оборудования
Настройка оборудования
Настройка оборудования
Настройка оборудования
Настройка оборудования
Настройка оборудования

Что касается оборудования, модуля интерфейса между датчиком, насосом и сервером Blynk, я выбрал NodeMCU ESP8266. Этот модуль оснащен набором микросхем ESP8266 для Wi-Fi (который очень хорошо документирован и включен во многие проекты IoT). Если вы хотите продолжить эксперименты, вы можете выбрать самую простую версию ESP8266 ESP-01, если для работы этого проекта требуется только 2 контакта: один аналоговый вход для чтения значений с датчика влажности почвы и один выход для запуска насоса для полив.

Но в этом проекте мы будем использовать NodeMCU, потому что гораздо проще загрузить эскиз (через USB-кабель) и удобен для макетов, что делает возможными будущие разработки (например, добавление ЖК-дисплея для считывания фактической влажности и заданного значения или добавление реле для обеспечения растущий свет для ваших растений).

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

Что касается насосной части, я использовал транзистор NPN для управления двигателем. Соединения вы можете видеть в прикрепленном файле fritzing, а схемы на заглавном рисунке. Обратите внимание, что вам понадобится второй источник питания, в диапазоне от 7 до 9 В, с достаточным током для привода насоса. В моем случае измеренный ток, протекающий через насос, составил 484 мА, и я использовал источник питания 9 В. Диод маховика используется для удаления обратного тока, протекающего через катушку двигателя, когда она собирается остановиться, чтобы предотвратить повреждение транзистора.

Шаг 3. Кодирование и настройка приложения Blynk на вашем мобильном телефоне

На этом этапе вы должны загрузить прикрепленный скетч в NodeMCU.

Прежде всего, вам нужно добавить плату ESP8266 в вашу Arduino IDE. Это можно сделать очень легко, следуя этому руководству. Когда вы подключаете NodeMCU к своему компьютеру с помощью кабеля USB, вам необходимо проверить COM-порт и выбрать его соответственно в Arduino IDE.

Во-вторых, вы должны добавить библиотеку Blynk в IDE, следуя этому руководству.

И, наконец, вам необходимо установить на свой мобильный телефон приложение Blynk из Google Play.

Теперь откройте приложение Blynk на своем мобильном телефоне и настройте свою учетную запись. Выберите собственный сервер на главном экране и введите имя DDNS, которое вы установили на шаге 1 этого руководства. Оставьте порт по умолчанию без изменений (вы уже переадресовали этот порт в своем маршрутизаторе ранее). В поле имени пользователя введите свой адрес электронной почты и выберите пароль. Учетная запись будет создана, и теперь добавьте новый проект, назовите его, как хотите. Выберите NodeMCU в качестве платы, которую вы будете использовать, и Подключение - Wi-Fi. Вы получите токен аутентификации в своем электронном письме, этот код будет вставлен в прикрепленный эскиз, Я дал понять, где это нужно писать, в комментариях.

После этого в приложении Blynk вам необходимо добавить следующие виджеты:

ЖК-виджет - считывает вывод V9 (виртуальный вывод V9) и переключается на расширенный; это покажет мощность Wi-Fi и IP-адрес

Виджет датчика - будет считывать виртуальный пин V2 в диапазоне от 0 до 100, это будет фактическая влажность в почве.

Виджет числового ввода - прикреплен к виртуальному выводу V1, диапазон от 0 до 100, он отправит заданное значение влажности в целое число, используемое в скетче.

Super Chart (необязательно) - будет считывать поток данных с виртуального контакта V2, чтобы создать диаграмму с влажностью вашего растения.

Наконец, замените в скетче токен аутентификации, полученный в электронном письме, замените имя WiFi и Пароль для WiFi и загрузите свой скетч в NodeMCU.

Надеюсь, все пройдет гладко и без проблем, ведь растения должны быть здоровыми!

Удачи !

Рекомендуемые: