Предлагаю вариант электронной начинки термо- хумистата на базе ESP8266 с прошивкой MaksMS WiFi-IoT.
Блок имеет кодовое название MeatBox (название используется как hostname, как профиль в конфигураторе, как топик в mqtt брокере), и умеет автоматически поддерживать температуру начиная от t_окр (окружающей среды) и выше с требуемым гистерезисом, «сбрасывать» лишнюю влажность до h_окр путем продувки объема ящика.
Максимальные температуры ограничиваются мощностью нагревателя, рабочим диапазоном датчика, степенью теплоизоляции ящика, коммутационным реле и счетами на ЭЭ.
Управление и мониторинг через wifi сеть (client и access point), дополнительные функции можно ‘набрать’ в конструкторе прошивки.
Для сборки не требуются особые навыки пайки и программирования.
Подробности под катом.
Необязательно следовать точной рецептуре сборки, все перечисленные ниже компоненты можно заменить аналогами.
Например вместо ESP-12 вполне пойдет ESP-7. Можно отказаться от индикатора, сэкономить 2 пина и применить ESP-01.
Можно просто купить Sonoff ot Itead и залить прошивку в него.
Реле на рабочее напряжение 5в, механические и твердотельные — нормально разомкнутые.
Нагревательный кабель — самый простой резистивный, достаточно полтора-два метра на ящик объемом 90 литров. Если делаете крупный ларь для зимнего хранения солений на балконе — берите больше кабеля.
Кулер любой способный завестись от 5 вольт, как правило, некрупные 12 вольтовые 50х50 до 70х70 заводятся нормально, для 80х80 обычно нужно 7 вольт.
Вместо индикатора ТМ1637 можно применить LCD1602, OLED, или вообще не ставить.
Вместо AM2301 можно поставить DHT22, или сенсор типа SHT, BME280/BMP280.
Корпус можно приспособить от мертвого модема/роутера/повербанка или мыльницы.
Вместо коммутационных проводов можно распаять обычные.
Радиолюбитель уровня «Бох» может вообще развести одну плату и распаять элементы из россыпи.
Для сборки начинки понадобятся:
1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

Для управления вентилятором понадобится любой маломощный N-канальный mosfet транзистор, либо NPN биполярный.
Можно поставить второй модуль реле и коммутировать питание вентилятора через него.
Принципиальная схема
Как видно из схемы, датчик включен в однопроводном режиме, использует GPIO14.
Управление реле — GPIO12.
Управление вентилятором GPIO13.
Дисплей ТМ1637 подключен к GPIO5 (CLK) GPIO4 (DATA).
На схеме показана кнопка Reset, используется для сброса или запуска модуля в т.н. «Safe mode».
Далее, нужен аккаунт на портале проекта wifi-iot.com/ для сборки прошивки и лицензия pro-mode для активации в прошивке опций термостата, планировщика задач, блока логики, кастомного веб-интерфейса (стоимость лицензии 110 руб).
Лицензия привязывается к конкретному чипу ESP8266 и не переносится на другое устройство.
Создаем в вашем аккаунте профиль для нашего проекта, называем его Box (MeatBox, Incubator и т.д.), выбираем стабильную ветку SDK.
В конфигураторе выбираем модули необходимые для работы.
Для самого простого термо- и хумистата не требуется поддержка ntp, календаря, установки времени, планировщика.
Но у меня вариант с индикатором, так что выбрал модули как на картинке ниже.
Пробежимся по галкам:
DHT 11/21/22 поддержка сенсоров DHT11-DHT22-AM2302-AM2301.
Коррекция датчиков — опция позволяет ввести поправку (как правило датчики немного врут).
MQTT клиент — поддержка удаленного управления и мониторинга по протоколу mqtt.
Если у вас есть умный дом (Домотикс, ХоумАссистент и т.д.) то MeatBox можно в нее интегрировать.
Время и NTP — cинхронизация времени и даты по NTP, в настойках модуля требуется указать адрес сервера и ваш часовой пояс.
Поддержка календаря и ручная установка времени — понятно из названий.
GPIO — поддержка GPIO, чтение состояний GPIO и управление реле.
Обновление ОТА — Возможность обновлять прошивку через интернет.
Планировщик заданий — понятно из названия (он же шедулер).
Термостат — собственно герой обзора.
Конструктор main page — это редактор главной страницы, web интерфейс системы.
Logic2 — логический модуль, позволяет управлять GPIO, выводить надписи на дисплей, отправлять Email и SMS по каким-либо условиям. В принципе не нужен.
Настройки по умолчанию — установка имени точки доступа и пароля к ней по умолчанию для подключения к роутеру. Установка статического IP адреса и шлюза. Работает только при первом включении модуля после прошивки.
TM1637 — модуль поддержки 7-сегментного светодиодного дисплея на 4 знакоместа.
Кнопки шестеренок возле опций вызывают настройки, нам потребуется настроить модули:



Температура: <b>_DHTT1_°C</b>
Установка на: <b>_TSSET1_°C</b>, состояние: <b>_TSON1_</b>
Влажность : <b>_DHTH1_%</b>
Установка на: <b>_TSSET2_%</b>, состояние: <b>_TSON2_</b>
Управление:
<a href="?gpio=13"><div class="g__GPIO13_ k fll" style="width:80px">Нагрев</div></a><div class="dummy"></div>
<a href="?gpio=12"><div class="g__GPIO12_ k fll" style="width:80px">Обдув</div></a><div class="dummy"></div>
Сохраняете созданный профиль и запускаете компиляцию.
На выходе получаете полную прошивку одним файлом и т.н. трехфайловую, для работы хватит первой.
Через адаптер USB-TTL (или программатор) заливаете прошивку в модуль ESP-12, при перезагрузке он стартует в safe-mode, поднимая SSID «WiFi-IoT» с адресом устройства 192.168.4.1.
Скриншот web страницы будет примерно таким (см. ниже), но вместо надписи «Pro Mode» будет красным "Safe mode".
Далее нужно сгенерировать в личном кабинете ключ на основании ID вашего чипа (кнопка get pro mode).
После ввода ключа в прошивке становятся доступны все платные функции.
Идем в подвал «Config» и до настраиваем модуль.
Main — базовые настройки.
Hardware — настройки подключения датчика. Здесь же задается интервал считывания показаний.
Servers — настройки mqtt сервера (я использую бесплатный mqtt.flyhub.org). Если у вас стоит Homeassistant, Domotics и т.д. — вбивайте адрес и аккаунт вашего брокера.
GPIO — настройки выходов для управления реле и вентилятора.
Обратите внимание на полярность логики: в зависимости от типа реле и типа транзистора на выходе логическая «1» может быть представлена +3.3в, а может быть «0» (OUTPUT INVERT). В примечании к настройкам термостата подробно указано когда применяется та или иная логика.
Sheduler — планировщик задач, позволяющий включать/выключать нагрев и обдув по расписанию.
Thermostat — собственно наш термостат. На скриншоте выставлено оптимальные с точки зрения брата температура и влажность для вяления говядины, а также гистерезис.
Logics2 — модуль логики, позволяющий при запрограммированных условиях выполнять определенные действия.
Используя логические условия можно запрограммировать тот же самый термостат. В данном проекте модуль не используется, скриншот для информации.
7segm — модуль поддержки индикатора ТМ1637, указываются GPIO5 (CLK) GPIO4 (DATA), яркость и перечень выводимых параметров. После применения настроек ваш дисплей включится и начнет показывать текущее время, температуру и влажность с указанными интервалами.
Еще раз возвращаемся к главной web-странице, она уже более менее соответствует скриншоту. Но датчик скорее всего врет 🙂
Для калибровки потребуется положить внутрь ящика поверенный прибор и внести поправки вкладке Сorrection.
Это блок коррекции показаний датчиков DHT11, DHT22, AM2302, AM2301, DS18B20, SHTх, BME, BMP.
Корректировка применяется с коэффициенторм х10, то есть мой датчик завышает температуру на 1.5С, а влажность на 3%.
Настройка закончена. Текущие значения климатики, уставка и состояние термо- и хумистата показывается на главной странице.
Еще раз напомню что включение и выключение автоматического режима производится на вкладке Thermostat.
Плюсом на главной странице выведены кнопки ручного управления «Нагрев» и «Обдув», их использовать в не-автоматическом режиме. Статус активной/неактивной кнопки будет зависеть от полярности логики в настройках GPIO.
Если вы используете mqtt брокер, то можно управлять и мониторить состояние климата из любого mqtt клиента, например linear mqtt dashboard.
Для кулера прорезано отверстие у дна, направление потока воздуха — внутрь ящика.
Выходных отверстий нет — ящик со временем немного рассохся, и «травит» под крышкой.
Для защиты от пыли/насекомых можно натянуть перез кулером кусок чулка или колготок.
Нагревательный кабель перед каждой закладкой мяса закрывается бумажными полотенцами.
Для размещения мяса на вкрученные в стенки саморезы подвешены в два уровня решетки (куплены в Ikea и чудесным образом подошли по ширине). Датчик размещен в вверху по центру ящика.
Усушка продукта составляет 66%, то есть из исходного килограмма получается 300 грамм готового продукта.
Время приготовления кусков размерами как на фото — примерно 7 дней.
Толстые куски или мясо с костями вялить нельзя, так как их невозможно полностью вымочить и просолить — при вялении начинается гниение.
Приятного аппетита.
Отвечу на любые вопросы кроме рецептов 🙂