Сборка умного датчика температуры воды для аквакультуры на ESP8266 и DS18B20

Часть 1: Что нам понадобится (компоненты и цены)

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

  • Wemos D1 Mini (ESP8266) — 150-200 руб. Основной микроконтроллер. Советую выбирать плату с внешней антенной и крупным радиатором с маркировкой Wi-Fi. Разъем (Type-C или Micro-USB) выбирайте под имеющийся кабель. Важно: используйте короткие (до 2 м) и качественные кабели, иначе появятся трудноуловимые сбои.

  • DS18B20 (герметичный) — 150-250 руб./шт. Цифровой датчик в нержавеющем корпусе с проводом 1-3 м. Позволяет наращивать линию до 30 м без потери точности, но я рекомендую устанавливать несколько датчиков для дублирования и отказоустойчивости.
  • Резистор 4.7 кОм (4k7) — около 10 руб. Необходим для подтяжки линии данных. Продается наборами, часто цена не зависит от количества.

  • Макетная плата и соединительные провода — 200 руб. Используются для прототипирования и проверки схемы перед пайкой.

  • Набор проводов «папа-папа», «мама-мама», «папа-мама» — 400 руб. Опционально, для удобства сборки на макетной плате. Длина 5-10 см оптимальна.
  • Корпус (распределительная коробка) — 100-300 руб. Выбирайте с соответствующей степенью защиты. Кабели питания и датчика заводите снизу, чтобы влага не стекала внутрь.
  • Силиконовый герметик — 200 руб. Для дополнительной гидроизоляции датчика, так как заводская защита часто некачественная.
  • USB-кабель (Micro-USB или Type-C) — 100 руб. Для прошивки и питания.
  • Блок питания 5V, 1-2A — 400 руб.
  • ПК с Windows в одной локальной сети с сервером умного дома.

Бюджет базового комплекта: ~800-1500 руб. Последующие датчики обойдутся дешевле. Дополнительные DS18B20: +150-300 руб./шт.

Часть 2: Схемы подключения

Вариант 1: Один датчик (базовый)

Подключение DS18B20 (три провода):

  • КРАСНЫЙ (VDD) → контакт «3V3» на Wemos D1 Mini
  • ЧЁРНЫЙ (GND) → контакт «G» на Wemos D1 Mini
  • ЖЁЛТЫЙ (DATA) → контакт «D6» (GPIO12) на Wemos D1 Mini, а также через резистор 4.7 кОм к контакту «3V3»

Резистор монтируется между DATA и 3V3.

Вариант 2: Несколько датчиков на одной шине (до 8 шт.)

Все датчики подключаются параллельно к тем же пинам: VDD→3V3, GND→G, DATA→D6. Один резистор 4.7 кОм между DATA и 3V3 остаётся общим.

Физическая сборка:

  1. Соберите схему на макетной плате.
  2. Проверьте работоспособность.
  3. Пропаяйте соединения.
  4. Установите плату в корпус.
  5. Подготовьте датчик к погружению.

Часть 3: Создание конфигурации в ESPHome

Шаг 1: Настройка секретов (логин и пароль Wi-Fi)

В ESPHome Builder открываем раздел SECRETS и добавляем данные вашей сети 2.4 ГГц (плата не поддерживает 5 ГГц). Формат: wifi_ssid: "Ваш_SSID" и wifi_password: "Ваш_пароль". Сохраняем.

Шаг 2: Создание нового устройства

Нажимаем «+ NEW DEVICE», выбираем «Continue» и задаём имя (например, pond-temp-01). Указываем платформу «ESP8266». Система сгенерирует encryption key — копируем его в секреты как api_encryption_key.

Шаг 3: Загрузка прошивки

Устанавливаем драйвер для CH340. Открываем устройство в режиме EDIT и вставляем код (с корректными отступами), не забыв подставить OTA-пароль. Нажимаем SAVE. Далее через меню выбираем «Install» → «Plug into this computer». После компиляции (до 5 мин) скачиваем файл прошивки. Используем ESPHome Web для загрузки: подключаем плату, выбираем COM-порт, указываем скачанный файл и запускаем установку. После переподключения плата появится в ESPHome как ONLINE.

Часть 4: Сборка датчика

Собираем схему на макетной плате согласно инструкции. Подключаем питание через ПК и открываем LOGS. Находим уникальный адрес датчика (начиная с 0x...), копируем его. В режиме EDIT вставляем адрес в конфигурацию. Обновляем устройство по Wi-Fi. Для калибровки (если погрешность более 0.5°C) используйте два варианта: простой (одна точка коррекции) или сложный (две точки, для широкого диапазона). Обязательно дополнительно герметизируйте датчик: удалите термоусадку и заводской герметик, залейте качественным силиконом. Пример сборки на фото ниже.

Часть 5: Визуализация данных с датчика

В Home Assistant создаём новую панель. Добавляем раздел с карточкой «Сенсор», включаем «Во всю ширину». Затем добавляем второй раздел с карточкой «Шкала». Настраиваем объект «Температура воды» и задаём цветовые зоны: синий (ниже нормы), зелёный (норма), жёлтый (предупреждение), красный (критично). Сохраняем. Теперь график и шкала отображают данные в реальном времени.

Итоги

Мы прошли полный цикл создания интеллектуального датчика температуры для аквакультуры: от подбора компонентов и монтажа на базе ESP8266 и DS18B20 до прошивки через ESPHome, интеграции с Home Assistant и настройки информационной панели. Теперь вы можете отслеживать температуру воды в реальном времени с точностью до 0.1°C.

Анонс

В следующей части я добавлю системе голос: настрою Telegram-бота для аварийных оповещений и интерактивных запросов. Ферма начнёт самостоятельно сообщать о проблемах!

Комментарии

?
13 - 10 = ?