EroshKA сказал(а)
Софт BrewManiacEx
СпойлерДля начала скачаем актуальную версию BrewManiacEx. Для этого заходим на страницу. Находим кнопку «Code», отмеченную на рисунке красным кружочком, жмем на нее
В открывшемся меню жмем Download.zip. Скачанный файл распаковываем в выбранное вами место на диске, например, ArduinoBME-master. Это полный комплект с открытым кодом. Его можно править, компилировать свои конфигурации и т.д. Но об этом чуть позже.
В каталоге bin есть несколько готовых прошивок. Если ваш набор устройств соответствует выбранной прошивке, то ее закачиваем в ESP8266 c помощью утилиты ESP8266Flasher или FlashDownloadTools.
Прошивки имеют следующий вид BrewManiacEx.047.*.bin, где «047» – версия (она может отличаться от 047); «*»- это вариант прошивки.Настройки по умолчанию для всех прошивок: PCF8574 с адресом: 0x20.
ЖК-дисплей 20х4. (автоматически определяемый адрес).Варианты прошивок:
development - Ненужные пункты выключаются установкой в начале строки оператором «точка с запятой». Стоит заглянуть в параметры других вариантов, вдруг что-то упущено.
nodemcuv2 - стандартный вариант, используемый на большинстве пивоварен (один ТЭН, насос, один датчик температуры)
esp32 - то же самое что и nodemcuv2, только для ESP32
nodemcuv2-italiano и остальные подобные с языковыми настройками относятся к nodemcuv2, только в соответствии с языком web интерфейса.
nodemcuv2-multisensor - название говорит само за себя (все то же самое что и в nodemcuv2, только можно подключить до пяти датчиков температуры)
distilling - то же самое что и nodemcuv2-multisensor, только еще есть и режим дистилляции.
spargeheater - контроль нагрева промывочной воды.
dualheater - варочный порядок из двух или трех кастрюль с двумя ТЭНами, HERMS/RIMS.
nodemcuv2-d1pro тоже самое что и nodemcuv2, только для D1 PRO
nodemcuv2-multisensor-d1pro версия с несколькими датчиками температуры для D1 PROЕсли необходимо править проект, то для этого надо установить на компьютер средства разработки. Проект разработан на базе фреймворка PlatformIO.
Для начала нужно определиться, какой редактор вы хотите использовать. Тут два распространенных варианта – Visual Studio Code (не путать с оригинальной Visual Studio, так как эта, в отличие от своей матери, мало весит и шустро работает), либо Atom. Если вы хотите больше кастомизации, всяких крутых плагинов и экспериментов – выбирайте Atom, если же вам нужно просто красивую, удобную IDE с отличным автодополнением кода из коробки, выбирайте Visual Studio Code. Установка необходимых компонентов описана ниже.
Atom и PlatfirmIO IDE
СпойлерПервый шаг — загрузка бесплатного тестового редактора с сайта Atom.io.
После этого запустите файл установки. Процесс установки довольно прост. Выполните инструкции на экране для установки редактора Atom.
Далее необходимо установить среду разработки PlatformIO IDE. Откройте текстовый редактор Atom и выберите пункт меню File > Settings (Файл > Настройки):
В меню слева выберите закладку «Install» (Установить):
Введите в поле поиска «platformio» и нажмите клавишу «Enter» или «Return».
Установите вариант «platformio-ide», выделенный на рисунке. После установки перезапустите текстовый редактор Atom, чтобы изменения вступили в силу.
Дополнительные полезные советы для среды PlatformIO IDE
Вот назначение каждой кнопки среды PlatformIO IDE:
1. PlatformIO Home (Домашняя страница).
2. PlatformIO Build (Скомпилировать и скомпоновать).
3. PlatformIO Upload (Загрузить).
4. Upload to remote device (Загрузить на удалённое устройство).
5. PlatformIO Clean (Очистить).
6. PlatformIO Test (Тестировать).
7. PlatformIO Debug (Отладить).
8. Run other target (Запустить другую цель).
9. Toggle Build Panel (Переключить панель компиляции и компоновки).
10. Find in Project (Найти в проекте).
11. Terminal (Терминал).
12. Serial Monitor (наподобие окна последовательного COM-порта в среде Arduino IDE).
13. Atom Settings (Настройки редактора Atom).Visual Studio Code b PlatformIO IDE
СпойлерЕсли VS Code у вас еще не стоит - ознакомьтесь с уроком по установке и настройке IDE по этой ссылке.
Обратите внимание, что расширения PlatformIO и расширения от Microsoft под Arduino могут вызывать конфликты, если они установлены одновременно. Я бы порекомендовал удалять расширения для Arduino от Microsoft перед началом работы.
Чтобы установить расширение, нам нужно:
1. Открыть средство просмотра расширений, нажав: Ctrl + Shift + X
2. Набрать PlatformIO в строке поиска
Это вернет один результат для установки, нажав на кнопку install, как показано на рисунке ниже
Установка PlatformIO займет немного времени, поэтому, наберитесь терпения! После установки VS Code потребуется перезагрузка для завершения процесса. После перезагрузки мы должны увидеть значок PlatformIO в левом поле Visual Studio Code. Далее устанавливаем русский язык (хотя это и необязательно), в правом нижнем углу будет подсказка.
Загрузка проекта
Спойлер
После установки PlatformIO устанавливаем проект BrewManiacEx, для этого жмем «добавить папку»
Находим папку с ранее скачанными и распакованными файлами. Жмем «добавить».
Получим следующее:
VS Code и PlatformIO имеют структуру папок, которая отличается от структуры стандартного проекта Arduino .ino. Начальные установки находятся в platformio.ini. Исходники в папке src.Существуют удобные ярлыки для создания и загрузки скетча, доступные на нижней синей панели Visual Studio Code, пр открытии проекта Arduino. Просто наведите курсор мыши на значок, чтобы увидеть его функционал (рисунок ниже).
Конфигурация софта
Спойлер
Если вам нужна конфигурация, отличная от стандартной, например, с другими назначениями контактов или с другим адресом расширителя ввода-вывода, то нужно изменить некоторые параметры компиляции. Для этого существует несколько файлов: config.h, pins.h и platformio.iniplatformio.ini
MultipleSensorEnabled - поддерживается несколько датчиков. Максимально до 5.
SupportDistilling - поддержка дистиляции
SpargeHeaterSupportEnabled - поддержка ТЭНа для подогрева промывочной воды
SecondaryHeaterSupportEnabled - поддержка двух ТЭНов
EnableLevelSensor - поддержка датчика уровня
UsePaddleInsteadOfPumpEnabled - вместо насоса используется мешалка.pins.h
pins.h содержит аппаратную конфигурацию, включая кнопки, IO expander и т. д. Нужно понимать, что вы хотите использовать, прежде чем менять их. Возможно, придется изменить два параметра:
pins.h #define PUMP_INVERTED_LOGIC false
Для управления нагревом рекомендуется SSR (твердотельное реле), а механическое реле подойдет для управления насосом. Некоторые релейные модули, купленные на eBay, используют инвертированную логику. При необходимости измените этот параметр.pins.h #define PCF8574_ADDRESS 0x20 Адрес I2C расширителя портов.
Для поддержки датчика уровня необходимо изменить параметры, соответствующие вашему оборудованию. #define LevelSensorOnIoExpander true / false
//Установите значение true, если датчик подключен к расширителю ввода-вывода#define LevelSensorPin xxx или
#define LevelSensorIOExpPin 32
// пин датчика уровня#define SensorNormalCloseOnNotFull true/false
// значение true, если датчик «нормально-замкнутый», т.е. замкнут, когда емкость не наполнена.Адрес расширителя портов:
#define PCF8574_ADDRESS 0x20
Прошивка, версия 4.9.0
Написано, что есть для D1 PRO
Для тех кто решил самостоятельно заказывать платы... Особенно для тех кто первый раз пользуется этим сервисом моя реферальная ссылка. При регистрации по моей ссылке вы получите 5$, которых вам хватит как раз на заказ плат. Останется только оплатить почтовые расходы на пересылку.
Ссылка для заказа плат.
Пока жду платы копаюсь в прошивке. Но так как ни разу не программист, хотя системный администратор в прошлом суть надеюсь понял.
Контроллер буду использовать D1 mini pro 16m. Подскажите правильно ли я внес изменения в раздел development.
env_default = development
;env_default = esp32, nodemcuv2, nodemcuv2-italiano, nodemcuv2-portuguese-br, nodemcuv2-spanish, nodemcuv2-russian, nodemcuv2-multisensor, distilling, spargeheater, dualheater, nodemcuv2-d1pro, nodemcuv2-multisensor-d1pro
include_dir= locales/
[common_env_data]
lib_deps_external =
ArduinoJson@6.10.0
esp32_framework = espressif32@~2.0.0
esp32_lib = ./lib-esp32
esp8266_framework = espressif8266@~2.6.2
esp8266_lib = ./lib-esp8266
[env:development]
platform = ${common_env_data.esp8266_framework}
board = nodemcuv2
framework = arduino
build_flags = -Wl,-Tesp8266.flash.16m14m.ld -DSupportDistilling=true -DMultipleSensorEnabled=true -DWebPageLanguage=russian -DMenuLanguage=MENU_russian
; -DPUMP_INVERTED_LOGIC=true
; -DSpargeHeaterSupportEnabled=true
; -DFakeHeating=true
; -DSecondaryHeaterSupportEnabled=true
; -DSupportDistilling=true
; -DMultipleSensorEnabled=true
; -DUsePaddleInsteadOfPump=true
;upload_port = /dev/cu.wchusbserial1410
;monitor_port = /dev/cu.wchusbserial1410
upload_port = /dev/cu.usbserial-1410
monitor_port = /dev/cu.usbserial-1410
lib_extra_dirs = ./lib-esp8266
lib_deps = ${common_env_data.lib_deps_external}
monitor_speed = 115200
upload_speed = 115200
;monitor_filters = esp8266_exception_decoder
Sabantyi сказал(а)
А что вы не хотите использовать
env_default = nodemcuv2-d1proНу если у вас мультисенсор то
env_default = nodemcuv2-multisensor-d1pro
хотел еще дистилляцию добавить, или здесь так не работает ?
-DFakeHeating=true за что отвечает данный параметр в описании не нашел (конечно может плохо искал). Дословный перевод ясен, но как это работает и зачем нужно.









