Авторизация
Регистрация

Напомнить пароль

Система управления брожением пива на esp32c6 (быстрый обзор)

  1. Цена: 390₽ + модули реле и термодатчики
  2. Перейти в магазин

Очень давно не писал обзоры на муське, решил это исправить.

Ранее я писал обзоры и часть про пивоварение. Несколько лет я не варил пиво из-за смены деятельности, но в 2024 году решил продолжить варить своё вкусное пиво. Только, конечно, я слегка объёмы увеличил — со 100 литров на 300+ литров.

 

Про оборудование напишу, если будет интересно, но в данном посте хотелось бы рассказать о том, как я с нуля «навайбкодил» проект по управлению холодильниками.

Сразу честно: проект делался в формате «вопрос-ответ», где я — постановщик задач/тестер/руками в железо, а существенную часть кода помогала писать нейросеть. На доведение до состояния «не стыдно дать другому человеку» ушло примерно 6 месяцев (с переделками, багфиксами и полировкой).

Для чего мне это понадобилось?

— На данный момент работаю вахтовым методом и управлять температурой пива достаточно проблематично.
— Конечно есть готовые проекты для Smart Life, но для каждого холодильника надо своё устройство, да и последнее время РКН начали блокировать данный сервис.
— Хотелось бы, чтобы был режим профилей, т.е. сначала контроллер выдерживал одну температуру несколько дней, потом другую, третью и т.д. (я ориентировался на до 10 шагов в одном профиле).

Почему nanoESP32-C6?

Выбрал я контроллер nanoESP32-C6. Почему именно он:

— Wi-Fi + BLE: в проекте используется BLE как основной канал управления, а Wi-Fi/MQTT — для удалёнки и сервисных функций.
— 16MB Flash: это важно, потому что внутри контроллера хранятся не только настройки, но и графики/история/логи, плюс нужен запас под OTA.
— Разметка памяти под задачу: в скриптах сборки/прошивки используется профиль PartitionScheme=app3M_fat9M_16MB.

Сколько «холодильников» в системе?

Мне надо было управлять тремя устройствами: охладитель (для охлаждения ЦКТ) и для двух ЦКТ (левый и правый) на 200 литров, насосы перекачивают хладогент в рубашки ЦКТ.

Но для проекта решил сделать управление 5 устройствами: 3 сейчас и плюс 2 на будущее.

MQTT / удалёнка

Как я и писал выше, хочу управлять всеми холодильниками удалённо и самый удачный вариант — это брокер MQTT.

Я использовал сервис wqtt.ru, т.к. ценник всего 299 рублей в год.

Структура топиков сделана аккуратно, чтобы несколько устройств не мешали друг другу:
— топики строятся как {mac}/esp/… и {mac}/app/…
— где {mac} — суффикс устройства (последние 4 hex-символа MAC).

Датчики температуры

Датчики температуры — DS18B20.

Почему:
— можно посадить на OneWire (в прошивке шина — GPIO4)
— все датчики можно повесить на один порт (а не на 5 отдельных)
— погрешность у датчиков около ±0.5°C

Подключение (пины)

Ключевые пины из config.h:
— OneWire (DS18B20): GPIO4 (подтяжка 4.7 кОм к 3.3V)
— Реле (5 каналов): GPIO18, GPIO19, GPIO20, GPIO21, GPIO22
— Кнопка сброса: GPIO3

Уровень реле настраивается (Active LOW / Active HIGH) — чтобы не было сюрпризов типа «включено наоборот».

Логика работы холодильника (защиты)

В прошивке есть нормальные защиты и тайминги:
— отложенный старт после команды: 10 сек
— анти-флаппинг (минимум между остановками): 10 сек
— грейс-период потери датчика: 10 сек
— «отдых компрессора» по умолчанию: 60 мин работа / 10 мин пауза

Ограничения настроек:
— Целевая: от -20°C до +30°C
— Гистерезис: от 0.1°C до 10°C

Профили температур:

Профиль — это последовательность шагов (температура/гистерезис/длительность в секундах).
— можно стартовать / поставить на паузу / продолжить / остановить
— на паузе компрессор выключается и фиксируется отдельный статус
— во время выполнения профиля запрещены некоторые «опасные» изменения настроек (например, датчик)

Графики и статистика (хранится в контроллере)

Графики хранятся во внутренней памяти контроллера (FFat), папка /charts.

Агрегации:
5m, 1h, 1d, 1mo, 1y

 

Сроки хранения (кольцевые буферы, по проекту):
— 1h: 1440 точек (около 60 суток по часам)
— 1d: 360 точек (около года по дням)
— 1mo: 60 точек (около 5 лет по месяцам)
— 1y: 5 точек (около 5 лет по годам)

Плюс есть лента статусов компрессора (для дневного графика) со статусами:
0 стоп
1 охлаждение
2 поддержание
3 отдых компрессора
4 пауза
5 ошибка

OTA обновление

OTA реализовано через временный HTTP-сервер на контроллере:
— порт 8080
— POST /update
— GET /status
— токен выдаётся примерно на 300 сек
 

Backup / Restore

Бэкап/восстановление делается через временный HTTP-сервер:
— порт 80
— GET /backup.zip (настройки)
— GET /charts_backup.zip (графики)
— POST /restore (восстановление)
— GET /backup/status

Уведомления

Внутри контроллера события пишутся в FFat:
— /alarms.log, /errors.log, /notifications.log (ограничение ~50KB)

Если MQTT недоступен, уведомления ставятся в очередь:
— /push_queue.json и /tg_queue.json (FIFO, до 50 сообщений)

 

Ссылка на прошивку/архив: https://disk.yandex.ru/d/Eknr33MVx1n2WQ
MQTT сервис (как у меня): https://wqtt.ru — 299₽/год

Прошивка «в 1 клик»

В репозитории сделан сценарий прошивки для обычных людей:
— подключаешь контроллер
— запускаешь flash_holodos.bat

Скрипт:
— сам находит ESP32-C6 по VID/PID (VID_303A&PID_1001)
— сама скачивает самую свежую прошивку и приложение, а также скачивает все необходимые файлы для прошивки контроллера
 

После прошивки, нужно установить apk файл приложения на android устройство и перейти в мастер настройки, либо перейти в раздел справки, там всё детально расписано. 

Итоги

— один контроллер → до 5 холодильников/каналов
— датчики DS18B20 → до 5 на одной шине
— управление: BLE + удалёнка через MQTT
— профили температуры
— графики и история внутри контроллера
— OTA и Backup/Restore

Видео обзор приложения:
Клуб домашних пивоваров 18+

Планирую купить +14 Добавить в избранное
+55 +77
свернутьразвернуть
Комментарии (47)
RSS
+
avatar
+1
  • MrBoston
  • 31 декабря 2025, 01:26
Cut бы чуть раньше поставить…

Upd. Ага, уже, спасибо!
+
avatar
+1
  • v-b
  • 31 декабря 2025, 01:26
Сделано )
+
avatar
0
  • DIMAace
  • 31 декабря 2025, 01:35
Актуально будет только послезавтра утром.
+
avatar
+1
  • ZeRNoVoz
  • 31 декабря 2025, 01:51
мало что в этом понимаю, но написано хорошо и «вкусно»
+
avatar
+3
  • CTAHOK
  • 31 декабря 2025, 01:55
С возвращением! Много лет не было обзоров от главного пивовара муськи:)
+
avatar
+5
  • v-b
  • 31 декабря 2025, 01:59
Я скучал по этому, но времени как-то мало стало последнее время ))
+
avatar
+1
  • nexus007
  • 31 декабря 2025, 09:27
Если найдётся ещё времени, то напишите, пожалуйста, про оборудование. И как это всё мыть. У вас же, наверняка, там пивопроводы, насосы, вот это вот всё? Цкт, опять же. Просто я хотел когда-то купить пластиковый цкт, но вот мойка габаритных вещей просто убивает. А с учётом того, что это нужно мыть до стерильного состояния, да ещё и заставлять себя делать это немедленно…
+
avatar
+1
  • v-b
  • 31 декабря 2025, 10:00
Перед варкой всё оборудование дезинфицирую раствором НУКа, там активное вещество надуксусная кислота и перекись водорода. Концентрация нужна не очень высокая, но эффективность отличная. Данный раствор убивает бактерии, вирусы и плесневый грибок. Но для начала конечно приходится повозиться с мойкой оборудования после предыдущей партии пива и это только механическая. По трубам также прогоняю раствор НУКа.

По поводу пластиковых ЦКТ я бы не рекомендовал, т.к. ЦКТ нужно не только для брожения, а поддержания давления пива, чтобы разливать без дополнительного карбонизации.

Ещё один важный момент по ЦКТ — это рубашка, а это можно сбраживать как эли, так и лагера и конечно мойка. ЦКТ из нержавейки можно обработать паром, чтобы точно убить всю гадость внутри
+
avatar
+1
  • nexus007
  • 31 декабря 2025, 10:19
Да я в курсе химии всей, первое свое пиво в далёком 2008 сварил. Тут более широкий вопрос. Какого размера помещение у вас под пивоварню? Там же должна быть вода/канализация. Раствор нука оборачивается или одноразовый? Сливаете его в канализацию(центральная или своя)? Дробину куда? У меня куры ее не едят. По карбонизации — я сторонник искусственной. Цену цкт из нержи даже гуглить боюсь.

В общем, если будет возможность, то опишите, пожалуйста, как это всё у вас устроено.
+
avatar
+1
  • v-b
  • 31 декабря 2025, 11:26
Помещение не большое — гараж два этажа. На первом этаже варю, на втором брожение и розлив.

Вода из овощной ямы через осмос. Каналия за гараж.

Раствор НУКа несколько раз прогоняю и потом за гараж, туда же идут дрожжи и вода на охлаждение.

Дробину в контейнер и на мусорку.

Карбонизация естественная, бродит пиво под давлением и углекислота нужна только чтобы выдавить пиво из ЦКТ.
+
avatar
0
  • INN36
  • 31 декабря 2025, 11:23
там активное вещество надуксусная кислота и перекись водорода.
Ну почти так.)
Все-таки основным активным компонентом в р-ре НУК является сама НУК. Она на порядок более сильный окислитель, чем перекись. Особенно при тех разбавлениях, которые Вы используете для промывки.
А перекись там тоже присутствует (это неизбежно), но это из-за того, что в растворе НУК постоянно крутится обратимая реакция
уксусная к-та + перекись водорода <=> надуксусная к-та + вода

А НУК от какого производителя Вы используете?
+
avatar
0
  • v-b
  • 31 декабря 2025, 11:29
НУК использую от симко, покупаю в ЗИП сервис.
+
avatar
+1
  • 00svd00
  • 31 декабря 2025, 05:16
внутри контроллера хранятся не только настройки, но и графики/история/логи
Кажется, что это хозяйство должно жить на microsd-шке. Жизнь флеша быстротечна, единственный сбойный сектор может накернить весь контроллер(и лучше бы накернил, а то там таааакие баги могут вылезать что все волосья повыдёргиваешь в попытке разгадать). Подключить microsd-шку по spi как будто ничего не стоит, плюсом можно перекатиться на вдвое более дешёвый esp32-c3. Всё ж таки c6 в первую очередь берут под всякие zigbee и прочие мешеприколы.
+
avatar
0
  • v-b
  • 31 декабря 2025, 10:06
Если использовать c3, то придется отказаться либо от Bluetooth управления, либо от OTA обновления. В С6 с этим проблем нет, памяти достаточно да и по цене он не сильно дороже. По поводу хранения данных на sd, думал об этом, но цена контроллера не очень высока, по этому, перенести данные на новый контроллер займет всего пару тройку кликов, а замена контроллера не больше 5 минут.
+
avatar
0
  • VLOD
  • 01 января 2026, 18:05
Ну, если только не зависнит с включенными компрессорами, среди ночи.
+
avatar
0
  • v-b
  • 02 января 2026, 16:18
Для этого есть электромеханический термостат.
+
avatar
+2
  • Kooonst
  • 31 декабря 2025, 07:38
Датчики зря дски 1wire, при локальном звездице с одним датчиком, он ложит весь шлейф…
В двух проектах пришлось полностью выкидывать Дэски и ставить нормальные датчики на can шину.
З.Ы надеюсь у вас топология по 1wire не звезда!, с ней вообще все весело...((((
+
avatar
0
  • v-b
  • 31 декабря 2025, 10:07
Месяц работы системы — полёт нормальный. Дальше будет видно будет.
+
avatar
0
  • Kooonst
  • 31 декабря 2025, 18:58
Рекомендую ввести програмный модуль, по отслеживанию аномальных значений температур на датчиках (резкий рост/спад, и пр). С последующей перезагрузкой входа или МК по команде этого модуля.
З.Ы. меня какраз выдернули вчера на аварию, наверулись ТРМки с NTC датчиками, выяснилось что поймали наводку от силовых шлейфов, пришлось в экстренном порядке бросать временный силовой шлейф, чтоб возобновить работу ТРМок. До этого 2,5 года не одного сбоя, а ведь это обычный NTC датчик!!!
,
+
avatar
+1
  • v-b
  • 31 декабря 2025, 19:06
Есть уведомление такое, когда температура резка меняется на 5 градусов, как а минус, так и в плюс, отправляется сообщение в телегу или пуш.
+
avatar
0
А какие датчики применили в итоге, если не секрет конечно.
Просто у DS-ок неоспоримый плюс, им цена — копейки. Если им есть какая-то альтернатива по плюс минус адекватной стоимости (пусть и дороже, но не на порядки), я бы закинул себе в заметки на будущее.
+
avatar
0
  • Kooonst
  • 31 декабря 2025, 18:59
У меня промка, и цена там не сильно важна в отличии от надежности. по цене ДСки то никто не переплюнет…
+
avatar
0
  • VLOD
  • 01 января 2026, 18:10
У меня на даче уже больше четырех лет работают, проблем пока не было.
+
avatar
0
  • simsun
  • 14 января 2026, 16:40
Датчики зря дски 1wire
У меня метров 7-8 провода и штук 7 датчиков, подключены к COM порту на linux, больше 5 лет точно работают, часть датчиков с кабелем на улице. Опрос раз в полторы минуты каждого датчика. Шлейф из сделан из свитых двух проводов (питание + сигнальный) и помещены в экран (оплётка минус). На каждом датчике керамика 1 мкФ. Но пишут, что эти DS-ки очень много кто делает.
+
avatar
0
  • Dvornik
  • 31 декабря 2025, 11:02
Китайские DS18B20 это лютая жуть. Сколько они у меня крови выпили, гораздо больше чем я самогона.
До 80С ещё как то работают, дальше лотерея.
Вот здесь проект «Подключение NTC-термисторов на шину 1Wire как и DS18B20» на внешнем АЦП.
forum.homedistiller.ru/index.php?topic=380716.0
Пытался повторить, но с моей автоматикой на ESP32 не заработало. Какой то программный косяк при опросе датчиков.
+
avatar
0
Я для работы на ~100°C брал термопару + max6675 — 12 разрядный АЦП, компенсация холодного спая, обнаружение обрыва, SPI интерфейс.
+
avatar
0
  • INN36
  • 31 декабря 2025, 11:04
Михаил, с возвращением!
+
avatar
+2
  • infino
  • 31 декабря 2025, 13:12
До чего доводит лень человеческая, что бы каждый раз не бегать за пивом в соседний магазин, надо сделать минизаводик в подвале. )))))
+
avatar
+1
  • v-b
  • 31 декабря 2025, 13:15
В гараже )))
+
avatar
+2
  • infino
  • 31 декабря 2025, 13:28
В гараже )))
А гараж далеко от места употребления? ))))
+
avatar
+1
  • v-b
  • 31 декабря 2025, 13:35
Там оборудовано, что там можно отдыхать. А так до дома 15 минут ходьбы ))
Правда это уже не гараж, а пивоварня, машину туда не ставлю.
+
avatar
+1
  • infino
  • 31 декабря 2025, 14:00
А до бани сколько минут или метров?
А как вообще вкусовые качества продукта?
+
avatar
+1
  • v-b
  • 31 декабря 2025, 16:23
Я бы не стал заморачиваться с пенным, если бы было бы не вкусно.
+
avatar
+1
  • infino
  • 31 декабря 2025, 16:32
Я бы не стал заморачиваться с пенным, если бы было бы не вкусно.
Не так поставил вопрос? Какое пиво по вкусу близко к вашему?
+
avatar
+1
  • v-b
  • 31 декабря 2025, 16:41
Крафтовое. Только я для себя какое хочу, такое и делаю. Хочу горькую ипу, сделаю, хочу с манго, не вопрос. Лёгкий и не горький, ок, лагер. Каждый сорт это свой вид и сравнивать с магазинами смысла нет. Только натуральные ингредиенты, по этому это чаще дороже.
+
avatar
0
  • infino
  • 31 декабря 2025, 17:32
Крафтовое. Только я для себя какое хочу, такое и делаю. Хочу горькую ипу, сделаю, хочу с манго, не вопрос. Лёгкий и не горький, ок, лагер. Каждый сорт это свой вид и сравнивать с магазинами смысла нет.
Я совсем не в теме, пиво иногда покупаю, не чаще раз-два в месяц.
Мне нравится светлое легкое типа Miller
+
avatar
+1
  • v-b
  • 31 декабря 2025, 19:13
Мне нравится светлое легкое типа Miller
Миллер это очень простой лагер. Я же добавляю больше хмеля, но не для горечи, а для вкуса. В масспиве экономят на всём. Начиная от солода, заканчивая хмелем и дрожжами. А также химия, ферменты и пр, чтобы получить дешёвый напиток.
Вот, перед новым годом дегустацию IPA с горечью около 100 IBU. В этом пиве хмеля 8 грамм на литр.
+
avatar
0
  • npodolny
  • 31 декабря 2025, 15:53
Здравствуйте! подскажите почему не сделали на ESPHome?
+
avatar
0
  • v-b
  • 31 декабря 2025, 16:24
Потому что захотелось сделать систему с нуля. Как мне надо и что мне необходимо.
+
avatar
0
  • smiler
  • 31 декабря 2025, 18:57
Уважаемый автор, расскажите, пжл, почему вы ранее перестали варить пиво, а сейчас стали варить в БОЛЬШИХ количествах?
+
avatar
0
  • v-b
  • 31 декабря 2025, 19:15
Это очень дорогая история. Жизненная ситуация. Смена работы.
+
avatar
0
Поддерживаю тему, хоть к пиву равнодушен. При нынешней политике государства похоже, альтернативы нет…
+
avatar
0
В квартире сильно не поваришь пиво.
+
avatar
0
  • v-b
  • 02 января 2026, 16:18
При желании можно и в квартире, но объемы конечно больше 100 литров, такое себе…
+
avatar
0
  • noob
  • 05 января 2026, 11:02
В квартире сильно не поваришь пиво.
Есть LG HomeBrew. Но цена…
+
avatar
0
ноль проблем — было бы желание. Предупреждая возражения — да, я пробовал, на обычной газовой плите, в обычной кастрюльке, получаются шикарнейшие эли) про объемы — ну если не торговать, то достаточно вполне.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.