Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
ВОПРОС: Вас заинтересует новая версия, использующая Wemos D1 mini и датчик DS18 (для температуры) и DHT22 (для влажности)? Дай мне знать в комментариях. Спасибо!
Если вам понравился этот проект, ГОЛОСОВАТЬ за него в конкурсе Wireless… Большое спасибо
Эй, ребята, После нескольких месяцев игры с ESP8266 я наконец получил новую версию TerraControl, которой я доволен и готов поделиться с вами. Некоторые из вас могут заметить, что я пропускаю версию 2.0… потому что в этой версии использовался в основном старый код с небольшими дополнениями, но он все еще был чертовски беспорядочным. Благодаря Блинку я смог сократить более 600 строк кода до 100 строк очень простого кода!
Что изменилось?
- Небольшие корректировки - это физические соединения. В основном из-за датчика DHT, который не мог быть подключен при загрузке в старой версии. Теперь все исправлено, и никакое отключение питания не повлияет на ваши настройки.
- Нет ESP8266 WebServer. Это хорошо, поверьте мне в этом.
- Полный контроль через приложение Blynk. Из любой точки мира вы можете контролировать все, что захотите. Я знаю, что это может звучать как реклама, но Блинк мне очень понравился.
- Гораздо больше возможностей - все домашнее хозяйство подключено и контролируется / отслеживается через одно приложение.
Шаг 1. Что вам нужно…
- Плата NodeMCU 1.0 12E - 3,32 доллара
- Плата реле - например - 5,90 $
- Датчик температуры и влажности DHT22 (11) - 2,87 $
- Учитывая характер платы NodeMCU (ее выход составляет всего 3,3 В), вам придется либо купить плату реле 3,3 В (по ссылке выше), либо модифицировать плату 5 В, либо купить модуль логического преобразователя I2C - например, - 0,9 доллара США.
- Источник 5 В (я использую старое зарядное устройство USB)
- провода
- припаять
- футляр / коробка
- IDE Arduino
Подключения NodeMCU
DHT22 / 11 контакт данных D6
relayLight D1relayHeat D2relayHeat2 D5relayFan D9 (вывод RX на NodeMCU)
Вам необходимо запитать модули в соответствии с их характеристиками. Если вы используете релейную плату 3,3 В, вы можете запитать ее прямо от NodeMCU, в противном случае вам нужно использовать внешние 5 В.
Я использую свои старые детали и корпус, осталось только переключить два провода …
Шаг 2: настройка Blynk
Для тех, кто не знает, что такое Blynk, это платформа с приложениями для iOS и Android для управления Arduino, Raspberry Pi и т.п. через Интернет. Это цифровая панель инструментов, на которой вы можете создать графический интерфейс для своего проекта, просто перетаскивая виджеты. Возможно, вам придется приобрести немного энергии в приложении Blynk, но я думаю, что 4-5 долларов - хорошая цена для такого проекта.
Начнем с устройства Andorid (версия для iOS пока не позволяет добавлять виджеты и редактировать события Eventor):
- Загрузите приложение Blynk
- Зарегистрируйтесь или войдите (если у вас уже есть учетная запись)
- Нажмите «+», чтобы создать новый проект. Дайте проекту имя и выберите устройство, которое вы используете (в нашем случае это ESP8266), и нажмите «Создать». Вы получите токен аутентификации на свой почтовый ящик, он нам понадобится позже.
-
На странице проекта Blynk нажмите «+» и добавьте:
- 4 кнопки
- 4 светодиода
- 2 (помеченных) дисплея
- Часы реального времени
- Уведомление
- Eventor
- График истории (необязательно)
- Используйте настройки виджета, как показано на последнем изображении (если вы настроите его по-другому, вам нужно будет изменить код)
- В настройках проекта (значок ореха вверху) «Отправить команду подключенного приложения» включить.
- Закройте настройки и откройте Eventor
Шаг 3: Eventor
Продолжим создание событий Eventor…
Сначала настройте элемент управления светом:
-
Добавить новое мероприятие
Когда… ВРЕМЯ (выберите время, когда вы хотите, чтобы свет включился) установите контакт… (V10) на 1
-
Добавить новое мероприятие
Когда… ВРЕМЯ (выберите время, когда вы хотите, чтобы свет погас), установите контакт… (V10) на 0
Теперь контроль тепла
-
Добавить новое мероприятие
Когда температура V8 ниже 30, установите вывод… (V11) на 1
-
Добавить новое мероприятие
Когда температура V8 выше или равна 30, установите штифт… (V11) на 0.
Когда вы закончите, закройте Eventor и нажмите кнопку воспроизведения на своем проекте.
Надеюсь, вы уловили идею. Если вы начнете играть с Eventor, вы откроете для себя больше возможностей и возможностей. В текущих настройках Light and Heat автоматизирован, а Heat2 и Fan управляются вручную, но всеми четырьмя функциями можно управлять, просто нажав кнопку, и это будет иметь приоритет над текущими настройками до тех пор, пока не будет выполнено следующее условие.
Шаг 4: Код
Подключите вашу плату к компьютеру, запустите Arduino IDE, откройте исходный код и давайте быстро взглянем на него …
Библиотеки
Вам нужно скачать три библиотеки, чтобы код заработал:
ESP8266WiFi.hDHT.hBlynkSimpleEsp8266.h (из библиотеки Blynk)
Настройки (измените под свои нужды)
const char ssid = "ВАШ WIFI SSID"; const char pass = "ВАШ ПАРОЛЬ WIFI"; char auth = "ВАШ ЖЕЛЕЗНЫЙ ПРОЕКТ BLYNK"; (вы получите его по электронной почте после создания проекта в приложении Blynk)
Вот и все! Вы можете загрузить код и проверить на своем телефоне, что он подключен.
Для полного раскрытия информации я все еще использую противоположные состояния для реле 3 и 4 (Heat2 & Fan) из первой версии. Смотрите картинку. Нагрев имеет состояния ВЫСОКИЙ, когда кнопка Blynk включена, и НИЗКИЙ, когда ВЫКЛЮЧЕНА. У Heat2 есть противоположные состояния.
Шаг 5: Работа…? Большой
Возможно, вы придумаете еще лучшее решение - использовать Eventor. Чтобы прояснить использование светодиодных виджетов: когда вы нажимаете кнопку или Eventor отправляет событие переключения, код сначала переключает реле в желаемое состояние, а затем запускает virtualWrite, чтобы включить / выключить соответствующий светодиод. Таким образом, вы всегда будете знать, было ли ваше действие успешным (может быть причиной проблем с подключением, но этого не произошло, пока я использовал это приложение в течение последних двух месяцев).
График истории не является обязательным, но это хорошая функция, поскольку он использует те же данные, которые мы отправляем в помеченные значения, и сохраняет их на сервере Blynk. Вы можете получить гораздо больше данных с помощью опции экспорта, что было невозможно в предыдущей версии.
Эта установка универсальна. Я считаю, что мне удалось прояснить код настолько, насколько это было возможно, с теми же функциями и другими функциями. Вы можете использовать его для управления своим террариумом, аквариумом, садом, аквафоническими системами, инкубаторами и т. Д. Просто получайте удовольствие и, если вам понравился этот проект, оставьте комментарий. Прошу прощения, если я пропустил настройку или что-то неясно. В таком случае отправьте мне сообщение в личку, и я исправлю его как можно скорее. Спасибо за чтение!