Найти тему
Куплено за свои

Температура в теплице. Смотрим онлайн через смартфон

Теплица онлайн
Теплица онлайн

Здравствуйте.

Вот и установлены в теплицу и куб температурные датчики ds18b20.

Теперь обо всем по порядку.

Было взято 4 датчика в разборе, необходимые куски провода (уличный UTP), и собрано.

Датчики собраны
Датчики собраны

Для сборки использовано моторное масло 5w30, герметик. Как правильно собрать можно посмотреть в следующем видео.

Далее по забору проложен провод в гофре ПНД. Заодно и 220 для насосной станции (использован провод АВВГ 2х2,5). Длина магистрали получилась около 50-ти метров. Стоимость каждого датчика – 35 руб., гильза – 10 руб. Провод – какой нашел в загашниках, тот и использовал (главное, чтобы был уличного исполнения – в черной, толстой изоляции).

Контроллер

NodeMCU v3
NodeMCU v3

Используется NodeMCU v3 – на основе ESP8266. Достоинства этой сборки:

· Выведены необходимые ноги ESP

· На плате распаян usb-ttl, у меня стоит на чипе CP2102

· Wi-Fi на борту

Для интернета использован роутер с Wi-Fi и 3G модемом, выделенного интернета пока нет – дороговато (около 1000 руб. в месяц, с подключением 25 000).

В теплице принято решение установить датчики под крышей в центре каждой части.

Датчик в центре первой части
Датчик в центре первой части

Датчик в центре второй части
Датчик в центре второй части

Датчик в еврокуб просто утопил через отверстие в верхней крышке. Чтобы он не бултыхался, прикрутил к нему камень.

Датчик для еврокуба
Датчик для еврокуба

Под кубом разместился уличный датчик. Место для датчика выбрал – под ним, там меньше всего вероятность попадания на него солнечных лучей.

Попутно прикрутил розетку для подключения насосной станции.

Уличный датчик + 220 для станции
Уличный датчик + 220 для станции

Также насосная станция поселилась в своем домике из OSB.

Домик для станции
Домик для станции

Крышей служит старый резиновый коврик из автомобиля.

Крыша домика
Крыша домика

Ну и чтоб ветром ничего не удуло – придавил кирпичиком.

Ураган не страшен :)
Ураган не страшен :)

Соединения скоммутированы в обычных электрокоробках, в качестве соединителей служат клеммники WAGO. В дальнейшем, возможно, их уберу и запаяю все соединения. Пока пусть поживут.

Коммутация
Коммутация

Итак, монтажная часть закончена. Приступим к пуско-наладке.

Для работы системы необходим сервер. Я использую MQTT сервер – https://cloudmqtt.com.

https://cloudmqtt.com/
https://cloudmqtt.com/

Сразу хочу отметить, что бесплатные тарифы теперь на этом ресурсе недоступны, минимальный тариф – 5 у.е. / мес. Если использовать полный функционал этого сервера (нюанс в количестве соединений), то можно и раскошелиться, а для минимальных требований (для домашнего использования) – это дорого. В моем случае – используется один контроллер и управляется с 2-х смартфонов. Просматриваем температуру в теплице, кубе, на улице. Также в доме установлено ещё 6 датчиков и реле для управления включением бойлера (об этом расскажу с следующих статьях).

MQTT протокол подразумевает обмен информацией при помощи подписки (Subscribe) и публикации (Publish). Более подробно можно прочитать на просторах интернета. Например - https://ru.wikipedia.org/wiki/MQTT. Для бесплатного использования рекомендую использовать этот ресурс - https://mqtt.4api.ru/. Регистрация на нем, надеюсь, не вызовет затруднений, тем более, что есть возможность зайти через соцсети.

https://mqtt.4api.ru/
https://mqtt.4api.ru/

Особенность этого сервера в том, что топики (уникальное имя, например для датчика) нужно создавать на сервере, иначе работать не будет, в отличие от cloudmqtt. При создании топика сервер автоматом в его название добавляет ваше имя пользователя – теперь это и будет его полным именем. Судя по новостям на ресурсе, новый сервер лишен этого недостатка, нужно проверять. Будьте внимательны – уникальное имя топика должно абсолютно совпадать на сервере, в контроллере и в приложении.

Теперь о приложении. Можно использовать любое понравившееся MQTT-приложение в Google Play или AppStore. Я использую вот это

Приложение для Android
Приложение для Android

Для начала необходимо создать подключение к серверу. Для этого в начальном окне нажимаем на «+» и в полях Адрес, Порт, Имя, Пароль указываем данные своего сервера. Имя можно выбрать любое. Далее нажимаем Сохранить (дискетка в углу). Соединение создано. Нажимаем на него и соединяемся с сервером (если не подключается, то проверьте, есть ли на вашем смартфоне или планшете интернет, а также правильность введенных данных). Далее нужно создать необходимые нам элементы. В моей программе используется 2 типа элементов: Текст и Переключатель/кнопка. Текст – для отображения показаний температуры, Кнопка – для подачи команды контроллеру – считать и отправить показания. При создании элементов снова нужно указывать уникальные имена топиков!

Подготовительные мероприятия завершены – теперь программирование.

Используется среда программирования – Arduino IDE.

Сайт среды Arduino IDE
Сайт среды Arduino IDE

Скетч и необходимые библиотеки доступны по ссылке https://clck.ru/PNjA5 Программу я не создавал, лишь немного адаптировал под себя. Вот ссылка на оригинал - https://habr.com/ru/post/393277/, где приведена более подробная информация по программированию. В моей версии используется отправка показаний по команде, что значительно экономит траффик, в отличие от оригинала. При использовании скетча необходимо заменить на свои:

· Данные Wi-Fi-точки подключения

· Данные сервера, Имя пользователя и пароль

· Физические адреса датчиков

Итоги

Система обошлась недорого. Контроллер стоил около 200 руб., датчики – примерно по 50 руб. Если считать провода и гофру, то примерно получилось не более 1500 руб. Но, несмотря на копеечную стоимость, она работает, и работает исправно! Нюанс! Опорное напряжение на контроллере 3 В, из-за этого желательно использовать шунтирующий резистор низкого номинала. Я использовал 1,5 кОм, иначе датчики плохо опрашиваются контроллером.

К вопросу – «А зачем?»

Кроме спортивного любопытства, посмотреть – «А сколько там сейчас?» Есть и прямая необходимость, а именно:

· Отслеживать температуру весной и точнее определиться с выбором даты для посадки рассады

· Регулировать температурный режим в теплице (правда, для этого нужно установить двигатели на форточки или двери и доработать программу)

Двигатели в планах на ближайшее будущее. Может быть в этом году :-)

Спасибо всем, кто дочитал! Ставьте лайки, подписывайтесь, задавайте вопросы, комментируйте. Постараюсь отвечать оперативно. Всем добра.