Здравствуйте.
Вот и установлены в теплицу и куб температурные датчики ds18b20.
Теперь обо всем по порядку.
Было взято 4 датчика в разборе, необходимые куски провода (уличный UTP), и собрано.
Для сборки использовано моторное масло 5w30, герметик. Как правильно собрать можно посмотреть в следующем видео.
Далее по забору проложен провод в гофре ПНД. Заодно и 220 для насосной станции (использован провод АВВГ 2х2,5). Длина магистрали получилась около 50-ти метров. Стоимость каждого датчика – 35 руб., гильза – 10 руб. Провод – какой нашел в загашниках, тот и использовал (главное, чтобы был уличного исполнения – в черной, толстой изоляции).
Контроллер
Используется NodeMCU v3 – на основе ESP8266. Достоинства этой сборки:
· Выведены необходимые ноги ESP
· На плате распаян usb-ttl, у меня стоит на чипе CP2102
· Wi-Fi на борту
Для интернета использован роутер с Wi-Fi и 3G модемом, выделенного интернета пока нет – дороговато (около 1000 руб. в месяц, с подключением 25 000).
В теплице принято решение установить датчики под крышей в центре каждой части.
Датчик в еврокуб просто утопил через отверстие в верхней крышке. Чтобы он не бултыхался, прикрутил к нему камень.
Под кубом разместился уличный датчик. Место для датчика выбрал – под ним, там меньше всего вероятность попадания на него солнечных лучей.
Попутно прикрутил розетку для подключения насосной станции.
Также насосная станция поселилась в своем домике из OSB.
Крышей служит старый резиновый коврик из автомобиля.
Ну и чтоб ветром ничего не удуло – придавил кирпичиком.
Соединения скоммутированы в обычных электрокоробках, в качестве соединителей служат клеммники WAGO. В дальнейшем, возможно, их уберу и запаяю все соединения. Пока пусть поживут.
Итак, монтажная часть закончена. Приступим к пуско-наладке.
Для работы системы необходим сервер. Я использую MQTT сервер – https://cloudmqtt.com.
Сразу хочу отметить, что бесплатные тарифы теперь на этом ресурсе недоступны, минимальный тариф – 5 у.е. / мес. Если использовать полный функционал этого сервера (нюанс в количестве соединений), то можно и раскошелиться, а для минимальных требований (для домашнего использования) – это дорого. В моем случае – используется один контроллер и управляется с 2-х смартфонов. Просматриваем температуру в теплице, кубе, на улице. Также в доме установлено ещё 6 датчиков и реле для управления включением бойлера (об этом расскажу с следующих статьях).
MQTT протокол подразумевает обмен информацией при помощи подписки (Subscribe) и публикации (Publish). Более подробно можно прочитать на просторах интернета. Например - https://ru.wikipedia.org/wiki/MQTT. Для бесплатного использования рекомендую использовать этот ресурс - https://mqtt.4api.ru/. Регистрация на нем, надеюсь, не вызовет затруднений, тем более, что есть возможность зайти через соцсети.
Особенность этого сервера в том, что топики (уникальное имя, например для датчика) нужно создавать на сервере, иначе работать не будет, в отличие от cloudmqtt. При создании топика сервер автоматом в его название добавляет ваше имя пользователя – теперь это и будет его полным именем. Судя по новостям на ресурсе, новый сервер лишен этого недостатка, нужно проверять. Будьте внимательны – уникальное имя топика должно абсолютно совпадать на сервере, в контроллере и в приложении.
Теперь о приложении. Можно использовать любое понравившееся MQTT-приложение в Google Play или AppStore. Я использую вот это
Для начала необходимо создать подключение к серверу. Для этого в начальном окне нажимаем на «+» и в полях Адрес, Порт, Имя, Пароль указываем данные своего сервера. Имя можно выбрать любое. Далее нажимаем Сохранить (дискетка в углу). Соединение создано. Нажимаем на него и соединяемся с сервером (если не подключается, то проверьте, есть ли на вашем смартфоне или планшете интернет, а также правильность введенных данных). Далее нужно создать необходимые нам элементы. В моей программе используется 2 типа элементов: Текст и Переключатель/кнопка. Текст – для отображения показаний температуры, Кнопка – для подачи команды контроллеру – считать и отправить показания. При создании элементов снова нужно указывать уникальные имена топиков!
Подготовительные мероприятия завершены – теперь программирование.
Используется среда программирования – Arduino IDE.
Скетч и необходимые библиотеки доступны по ссылке https://clck.ru/PNjA5 Программу я не создавал, лишь немного адаптировал под себя. Вот ссылка на оригинал - https://habr.com/ru/post/393277/, где приведена более подробная информация по программированию. В моей версии используется отправка показаний по команде, что значительно экономит траффик, в отличие от оригинала. При использовании скетча необходимо заменить на свои:
· Данные Wi-Fi-точки подключения
· Данные сервера, Имя пользователя и пароль
· Физические адреса датчиков
Итоги
Система обошлась недорого. Контроллер стоил около 200 руб., датчики – примерно по 50 руб. Если считать провода и гофру, то примерно получилось не более 1500 руб. Но, несмотря на копеечную стоимость, она работает, и работает исправно! Нюанс! Опорное напряжение на контроллере 3 В, из-за этого желательно использовать шунтирующий резистор низкого номинала. Я использовал 1,5 кОм, иначе датчики плохо опрашиваются контроллером.
К вопросу – «А зачем?»
Кроме спортивного любопытства, посмотреть – «А сколько там сейчас?» Есть и прямая необходимость, а именно:
· Отслеживать температуру весной и точнее определиться с выбором даты для посадки рассады
· Регулировать температурный режим в теплице (правда, для этого нужно установить двигатели на форточки или двери и доработать программу)
Двигатели в планах на ближайшее будущее. Может быть в этом году :-)
Спасибо всем, кто дочитал! Ставьте лайки, подписывайтесь, задавайте вопросы, комментируйте. Постараюсь отвечать оперативно. Всем добра.