23-я Московская встреча
Форум самогонщиков Сайт Барахолка Магазин 23-я Московская встреча

WEB интерфейс к HelloDistiller на ESP8266

Форум самогонщиков Автоматика
1 2 3 4 ... 34 1
Phisik Куратор Екатеринбург 483 1145
26 Дек. 19, 15:29
Прошивки для ESP8266 - HelloDistiller Web UI

Данная прошивка позволяет осуществлять удаленный мониторинг автоматики HelloDistiller. Для реализации устройства необходима ESP8266 с 4+ мегабайтами флеша на борту, иначе сайт не влезет. Я рекомендую взять nodemcu v1-3. На ней есть кнопка Flash и светодиод. Если после первого моргания светодиода зажать Flash - ESP запустится с дефолтными настройками.

Update 2020-01-30: О возможности применения  WiFi модуля WeMos D1 mini Pro 16Mb читаем тут

Что есть в прошивке для ESP8266
1. Асинхронный WEB сервер
2. Асинхронный MQTT клиент с поддержкой авторизации, но без SSL
3. Wifi клиент/точка доступа
4. Аутентификация (можно порт на роутере прокинуть и смотреть с внешки через интернет)
5. Графики
6. Системный лог

Как прошиватьПрошивается ESP с помощью ESP Flash tool, который приложен в комплекте. После запуска надо выбрать версию для ESP8266. Как настроить Flash tool показано на картинке в комплекте, внимательно считайте нули в адресах. Режим записи во флеш QIO/DIO/etc может отличаться для вашей флешки - пробуйте разные. После прошивки ESP8266 надо перезапустить руками.

По просьбам тестировавших прошивку, сайт доступен в 2х версиях с 15ым и 18ым размером шрифта. Выбирайте тот, что вам удобнее.

Первоначальная настройкаВ случае успешной прошивки появится открытая сеть HelloDistiller (режим точки доступа).
1. Подключитесь к ней по WiFi.
2. Зайдите на Web-интерфейс, который находится по адресу 192.168.4.1 (ver<2.4) или 10.0.0.1 (ver>2.4)
3. Внимательно прочитайте лицензионное соглашение!
4. Перейдите во вкладку "Настройки ESP"
5. Выберите скорость работы UART порта, которая была установлена в прошивке контроллера HelloDistiller.

Вы можете работать в режиме точки доступа. Но если у вас есть роутер и домашняя сеть WiFi, то можно подключить ESP к ней. Для этого:
1. В колонке "Настройки WiFi" выбрать "Клиент"
2. Нажать поиск, и выбрать свою сеть WiFi
3. Ввести пароль от сети WiFi.
4. Нажать кнопку "Сохранить и перезагрузить"

ESP подключится к сети, 3 раза моргнув светодиодом. Теперь она доступна по IP адресу, который нужно как-то узнать:
1. Посмотреть на роутере DHCP leases
2. Установить SoftPerfect Network Scanner и просканировать сеть.
3. В зависимости от вашего роутера ESP может быть будет доступна по адресу http://home-distiller.local. Если это не работает, то надо установить Службы печати Bonjour для Windows или сходить в ближайший магазин и купить Mac.
4. Можно сразу в настройках указать статический IP

Особенности работы с wifiДля стабильной работы прошивки необходимо качественное соединение с WiFi. При плохом соединении ESP будет
периодически перезагружаться из-за нехватки памяти.

Как паять антенны на ESP в картинкахВыкладываю как припаяться к NodeMCU. Опыт показывает, что качество сигнала сильно улучшается, если просто припаять внешнюю антенну, даже не сильно задумываясь о согласовании. Для примера, вчера специально измерил (в скобках уровень сигнала dBm):
До пайки3 networks found
1: RT-WiFi-7DE2 (-78)*
2: OLGA (-90)*
3: HOME_WLAN (-64)*
После пайки7 networks found
1: OLGA (-72)*
2: RT-WiFi-7DE2 (-73)*
3: dlink-rt (-91)*
4: RTK-103106 (-85)*
5: Tenda_68C030 (-83)*
6: TP-LINK_126 (-92)*
7: HOME_WLAN (-49)*
Видим, что у HOME_WLAN мощность выросла на 15dBm (в 30 раз), у OLGA мощность выросла на 18dBm (в 60 раз)

Выкладываю так же пример того, как я паял nodemcu, и как паять ESP12 разных версий ESP12 antenna.pdf. На моей картинке: красное - убрать дорожки, конденсатор можно тоже убрать, синее - почистить от лака, залудить и припаять оплетку, зеленое - припаять центральную жилу.

Общий вид.jpg
Общий вид. WEB интерфейс к HelloDistiller на ESP8266. Автоматика.
План резки.jpg
План резки. WEB интерфейс к HelloDistiller на ESP8266. Автоматика.
Пример резки.jpg
Пример резки. WEB интерфейс к HelloDistiller на ESP8266. Автоматика.
Как чистить кабель.jpg
Как чистить кабель. WEB интерфейс к HelloDistiller на ESP8266. Автоматика.
Результат.jpg
Результат. WEB интерфейс к HelloDistiller на ESP8266. Автоматика.


ЛицензияИспользовать данную прошивку можно только в некоммерческих целях. Внимательно прочитайте условия лицензии при первом запуске. Любое коммерческое использование необходимо согласовывать со мной отдельно.  

О версияхПрошивка работает в 2х версиях - демо и полная. Демо версия - полностью рабочая, подключается к MQTT и позволяет управлять контроллером HD кнопками. Но имеет ряд ограничений:
1. Нет быстрого выбора режима работы
2. Отключена возможность редактировать параметры HD в таблице
3. Графики пишутся только первые 30 минут
4. Нельзя посмотреть системный лог

Как получить ключСледуя духу этой темы, самодельщикам ключи от полной версии буду выдавать в ЛС бесплатно по 1му в руки. Ключ привязыван к чипу(!), поэтому дважды убедитесь, что демо версия у вас работает стабильно (есть соединение с HD, не отваливается wifi каждый час и т.п.).

Чтобы получить ключ самодельщикам надо:1. Прошить ESP и убедиться(!), что все работает с данной конкретной платой ESP.
2. Убедить меня, что вы все сделали сами.
  • Прислать мне в ЛС фото вашего контроллера (снаружи и внутри)
  • Скопировать ESP ID со страницы настроек и прислать мне ТЕКСТОМ, фотографии ID не принимаются!

Также ключ могут получить люди имеющие 100+ благодарностей на форуме. Для этого надо:1. Прошить ESP и убедится, что все работает с конкретной платой ESP.
2. Прислать мне в ЛС ESP ID со страницы настроек

Полный список доступных команд сервера HelloDistiller Web UI
http://hostname.local/editРедактор файловой системы
http://hostname.local/resetПерезагрузка ЕСП
http://hostname.local/crash-logЛог последней критической ошибки, присылайте мне, будем искать что и где падает
http://hostname.local/crash-clearУдалить лог последней ошибки
http://hostname.local/scanwifiСканировать доступные сети
http://hostname.local/chipinfoИнформация о чипе и его состоянии
http://hostname.local/fwconfigКонфигурация прошивки
http://hostname.local/command?name=valueОтправка команды контроллеру HelloDistiller
http://hostname.local/hdЗапрос настроек HD
http://hostname.local/hd?settingsЗапрос настроек HD
http://hostname.local/visibilityЗапрос списка видимости настроек в таблице
http://hostname.local/statusСостояние контроллеров
http://hostname.local/configfileФайл настроек
http://hostname.local/formatspiffsОтформатировать файловую систему. Не уверен - не трогай! Подмигивающий
http://hostname.local/sensorlogЛог датчиков температуры, давления и т.п.
http://hostname.local/deletelogУдалить лог датчиков
http://hostname.local/systemlogСистемный лог
http://hostname.local/deletesyslogУдалить системный лог
http://hostname.local/firmware-updateОбновление прошивки (POST)

Как настроить бесплатный MQTTОписываю по шагам как настроить mqtt бесплатно.
1. Идем сюда и генерируем себе пароль знаков в 10-16. У меня jQGXMmyy58GM.
2. Идем на есп и пишем:
  • Сервер: broker.hivemq.com
  • Порт: 1883
  • Префикс темы: esp-jQGXMmyy58GM
  • QoS можно оставить 0
3. Жмем сохранить
4. Идем для проверки на веб-клиент
5. Жмем connect, потом Add New Topic Subscription, пишем esp-jQGXMmyy58GM/#, выбираем QoS и жмем Subscribe
6. Любуемся сообщениям от контроллера
7. Дальше пишем в Publish-Topic = esp-jQGXMmyy58GM/mod/keystrokes, Publish-Message = L, ставим QoS = 2, чтобы точно 1 раз дошло и жмем Publish, пока не надоесть щелкать экраном на контроллере
1.jpg
1. WEB интерфейс к HelloDistiller на ESP8266. Автоматика.
2.jpg
2. WEB интерфейс к HelloDistiller на ESP8266. Автоматика.
3.jpg
3. WEB интерфейс к HelloDistiller на ESP8266. Автоматика.

PS Можно тоже самое на https://test.mosquitto.org/ сделать.
PPS Надо помнить, что сервера публичные и теоретически информация может быть доступна всем. Но подписаться на совсем все сообщения не дает, так что если пароль длинный и уникальный, то можно не париться.
PPPS Как настроить приложение Lasy MQTT смотреть тут [сообщение #13666202]

FAQ (если что-то не работает, смотреть здесь)* Нет звука [сообщение #13669278]
* Не обновляется давление в HD [сообщение #13668679] и [сообщение #13667933]
* Что такое рецепты тут [сообщение #13664365] и тут [сообщение #13667924]
* Как настроить панель под себя [сообщение #13667924] и [сообщение #13666138]
* Слетает активация [сообщение #13666811]
* Что будет, если ЕСП не найдет WiFI сеть [сообщение #13666811]
* Как работает корректировка Тстаб через ADJUST_COLUMN_STAB_TEMP
* Как работает корректировка с BMP280
* Как подключить BMP280 [сообщение #13295412]
* Как вывести атмосферное давление на главную страницу [сообщение #13683757]

Как бесплатно получить +30% к производительности чипов AtmelНашел я как-то интересную статейку. С переходом на версии IDE 1.6.x-1.8.x, сменили способ оптимизации кода компилятором с "оптимизации скорости" на "оптимизацию размера". Судя по тестам в статье разница в производительности может достигать 30%(!). Как вернуть оптимизацию по скорости:

1. Ищем файл C:\Users\XXXX\AppData\Roaming\Arduino15\packages\arduino\hardware\avr\1.x.x\platform.txt
2. Ищем в нем строчки вида:
compiler.c.flags=-c -g -Os -w -ffunction-sections -fdata-sections -MMD
3. Меняем на:
compiler.c.flags=-c -g -O2 -w -ffunction-sections -fdata-sections -MMD

PS Отдельное спасибо тем, кто поддерживает разработку и тестирует прошивки перед публикацией!

Как искать изменения в новых скетчах HelloDistiller

История версий:
v1.0 Первая рабочая версия
v1.0 retain Аналогична v1.0, но все сообщения отправляются с флагом Retain (обычному пользователю не нужно, качайте v1.0)
v2.x Тестовая(!) ветка обновлений с исправлениями ошибок и другими улучшениями
Текущая версия HD_v3.86ESP_v2.6UI_v2.8plus.zip

Тема создана для разработки/доработки прошивки для ESP8266, чтобы не засорять основную ветку с автоматикой.

flash-tool.zip
flash-setup.jpg
Flash-setup. WEB интерфейс к HelloDistiller на ESP8266. Автоматика.
сообщения удалены (2)
Phisik Куратор Екатеринбург 483 1145
Отв.1  26 Дек. 19, 17:17
В этом сообщении будет список задач, включенных в план разработки. Буду менять по мере выполнения.

Исправление ошибок
1. "Если в процессе работы отключить датчик температуры(любой) на экране UI появляется сообщение о превышении максимального напряжения. (спасибо AlexeyD_)
2. Множитель у ШИМ отбора клапанов неправильно отображается (спасибо ser52)
3. Вместо графика давления отображается процент отбора СР, на месте графика скорости НБК отображается давления. Графика НБК нет нигде. (SA1348&bengoor)
4. Поправить показания текущего отбора при работе с царгой пастерилизации (ser52)
5. Не сохраняется мощность ТЭНов (bengoor)
6. MQTT topic prefix визуально кажется уже заполненным, но в реальности пустой.
7. Ошибки, связанные с активацией
8. Ошибка с пропаданием графиков

Планируемые улучшения
1. Обратная связь по ком порту между есп и мегой
2. Перенести список параметров MQTT из прошивки на флеш карту флешку ESP, чтобы можно было править их без перепрошивки через веб сервер
3. Создать несколько user параметров и вывести их на первую страницу, чтобы каждый мог что ему надо - то и показывать
4. Прикрутить большую красную кнопку СТОП, чтобы иметь возможность одной кнопкой все потушить.
5. При аварии пищать непрерывно, пока авария не кончиться и вибрировать телефоном (Celsior)
6. Кнопку перехода на следующий этап (ser52)

Предложения, не вошедшие в текущий план
1. Группировка параметров по процессам ("Дистилляция", "Ректификация" и т.д) (limon)
2. Звуковую напоминалку на температуру в кубе(дефе) (limon)
3. Сделать пользовательское уравнение для поправки крепости  (limon)
4. Добавить в лог аварии, сохранять логи в отдельных файлах
5. Перезагружаться если нет связи 5 минут
6. Добавить камеру
сообщения удалены (5)
bengoor Доцент Кронштадт 1773 1024
Отв.2  27 Дек. 19, 10:14
Есть большое желание встроить модуль камеры в автоматику. Мне уже пришел такой модуль, давайте попросим phisika посодействовать в данном вопросе.
Как это реализуется есть видео с примерами на Ютубе.
Модуль на 2мп поэтому разрешение достаточно высокое.
Самое простое это выводить картинку с камеры во вкладку веб интерфейса, со временем можно добавить например делать фото при аварии и складывать на карту памяти. Потом при разборе полета может помочь
IMG_20191227_094824.jpg
IMG_20191227_094824. WEB интерфейс к HelloDistiller на ESP8266. Автоматика.
сообщения удалены (3)
bengoor Доцент Кронштадт 1773 1024
Отв.3  27 Дек. 19, 13:19
Можно, но только камера тогда будет к блоку привязана. Можно запитать ее от аккумуляторов, например, и ставить куда угодно. Но все равно у меня такой камеры нет, и экспериментировать не с чем. Надо будет попробовать заказать.Phisik, 27 Дек. 19, 13:17
С меня камера, с тебя эксперименты)
Вот инфа по модулю https://habr.com/ru/post/463157/
Тут более просто https://portal-pk.ru/...rduino-ide.html
Фактически камера и должна быть привязана к блоку, так как она следит за процессом, автоматика же тоже находится рядом, поэтому выносить ее куда то далеко нерезон. Запитать так же от БП автоматики и вынести на кабеле с разъемом как и модуль ESP8266.
сообщение удалено
bengoor Доцент Кронштадт 1773 1024
Отв.4  27 Дек. 19, 13:21, через 2 мин
PS Ну и цена всех плат (2560 + esp8266 + esp32) уже сравнима с ценой какого-нибудь orange pi zero. А это уже совсем другой уровень возможностей и производительности.Phisik, 27 Дек. 19, 13:17
Да согласен, но ведь это опция по желанию, переделывать все тоже не хочется, а вот нарастить функционал покупкой модуля интересно. То есть при сборе автоматики сразу не надо покупать все, постепенно модульно так сказать.
Если реализуешь я отдельный разъем на плате выведу под нее.

Добавлено через 1мин.:

Мне кажется камера - это уже чересчур.gol_avto, 27 Дек. 19, 13:20
Это опция по желанию. Многие писали что хочется. Тут не так много дописывать надо чтобы она завелась.
сообщения удалены (8)
polek Студент Odessa 24 6
Отв.5  27 Дек. 19, 22:00
Может в скорости UART всё дело?miha58, 27 Дек. 19, 16:22
Снизил поэтапно до 19200, не помогло. Не изменяется только один параметр - "Номинальная мощность установленных ТЭНов, Вт". Никак, ни с галочкой, ни с кнопками. Меняешь кнопками на самой автоматике, в интерфейсе считывается уже измененное значение.
Попробовал в Опере и Хроме на ББ, на Андроиде 9 через Хром и Сяоми браузер. Повторю, речь только об одном параметре, в остальных значения меняются. Проверьте у себя.
сообщение удалено
polek Студент Odessa 24 6
Отв.6  28 Дек. 19, 05:27
Не внимательно я за темой слежу. Ай-ай-ай. Баг известен, третий пост пункт 5.
сообщения удалены (4)
lospartos Кандидат наук Солнечный 442 271
Отв.7  28 Дек. 19, 22:08
Phisik а  можно добавить Алису , чтобы проговаривала событияser52, 28 Дек. 19, 09:21
Давно, на этапе развития проекта HelloDistiller обсуждалась "говорилка" - комментатор событий на основе модуля WTV020-SD Попробовали, но законченным устройством эта идея вроде так и не закончилась. Теперь правда и возможности стали другими...
nic2015 Магистр Феодосия 201 39
Отв.8  30 Дек. 19, 16:13
Предложение добавить в план доработок возможность коррекции подачи насоса нбк в зависимости от температуры верха колонны нбк. Ставим допустим верх 90 град., если температура больше насос увеличивает подачу, если меньше- уменьшает. Очень удобно, крепость сс постоянна.
gol_avto Доктор наук Москва - Серпухов - Анапа 581 159
Отв.9  30 Дек. 19, 17:05, через 52 мин
Также поддерживаю, работаю только по темп. верха, очень удобно.
=================
Кстати, мне кажется в WEB интерфейсе не хватает оперативного отображения важного параметра - давления с датчика MPX 5010. Может быть стоит добавить?
2020-01-05_14-11-18.png
2020-01-05_14-11-18.png WEB интерфейс к HelloDistiller на ESP8266. Автоматика.
сообщения удалены (2)
gol_avto Доктор наук Москва - Серпухов - Анапа 581 159
Отв.10  09 Янв. 20, 18:26
А не задумываешься сколько спирта при таком алгоритме может утекать вместе с бардой?ТокАвто, 09 Янв. 20, 13:08
Не только задумывался, а измерял спиртуозность барды. И меня вполне устроили потери 2% и выход СС 60-65%.
Делать же барду 0,5% и 40% СС + потери воды (покупную без солей) в ПГ мне не понравилось .
сообщение удалено
xeus Доктор наук Aнгapск 890 229
Отв.11  22 Янв. 20, 15:13
Товарищи сделайте видео обзор на интерфейс. Как оно работает?
сообщение удалено
Slon8095 Студент Зерноград 42 15
Отв.12  24 Янв. 20, 11:57
При подведению курсора мышки к параметру подсвечивается подсказка по параметру, не стесняйтесь, используйте.
xeus Доктор наук Aнгapск 890 229
Отв.13  24 Янв. 20, 17:57
Да там вроде и по картинкам понятно,можно залить и посмотреть,чё там на видео снимать?[сообщение #13364298]бычёк, 22 Янв. 20, 18:31
скорость работы, время отклика и структуру по картинкам не оценить...
valery29 Студент Yablonovskiy 38 31
Отв.14  26 Янв. 20, 21:41
Друзья хочу поделиться впечатлениями об использовании  WiFi модуля WeMos D1 mini Pro
с прошивкой от "Phisik"-а.
На фото рядом с WeMos - маленькая платка согласования уровней 5в-3.3в что нам надобно...
Как ее подключить ТУТ

Wemos.jpeg
Wemos. WEB интерфейс к HelloDistiller на ESP8266. Автоматика.

Скрытый текстПокупал тут:
WeMos
Согласование

Это модификация на базе ESP8266 но с большим объемом памяти и внешней антенной...

Предыстория.
Использовал стандартный модуль NodeMcu V3 Lua.
Так уж сложилось что у меня был "баг" пропадающих графиков.
Долго переписывался с "Физиком", за что ему большое спасибо,
но ни к чему это не привело и не какие танцы с "бубном"  не проходили.

На Али был куплен WeMos D1 mini Pro. Были опасения по поводу того что прошивка не "встанет"
из за немного другой реализации и большего объема памяти.
Все встало на "УРА", более того работает "шустрее" и без глюков.
Как существенный бонус - в комплекте внешняя антенна Wifi.
Радиус расширило раза в три как минимум. "Винокурня" метров в пятидесяти от роутера через две стены. Без проблем.

Особо рекомендовано.
сообщения удалены (2)
sachalin-1 Специалист Куйбышев 183 44
Отв.15  27 Янв. 20, 19:50
Чё-то я не догоняю, ШИМ бывает от 0% до 100%бычёк, 22 Янв. 20, 18:31
Из инструкции:
14)   % CHIM Otbor GLV Rectif=10 Процент включения для ШИМ отбора голов то есть 10% включен 90% времени выключен.
Если данное значение установить отрицательным, то оно будет означать абсолютное значение времени открытие клапана в сотых долях секунды, то есть значение % CHIM Otbor GLV Rectif=-10 означает открытие клана на  0,1 секунды.
argon43 Кандидат наук ст.Динская 333 61
Отв.16  28 Янв. 20, 20:03
маленькая платка согласования уровней 5в-3.3вvalery29, 26 Янв. 20, 21:41
Добрый вечер,можете нарисовать схему его подключения(спасибо)
valery29 Студент Yablonovskiy 38 31
Отв.17  29 Янв. 20, 09:50
Добрый вечер,можете нарисовать схему его подключения(спасибо)argon43, 28 Янв. 20, 20:03

Тут просто все

logic5-3.png
Logic5-3. WEB интерфейс к HelloDistiller на ESP8266. Автоматика.


Подключение к автоматике для примера...

318815.jpg
318815. WEB интерфейс к HelloDistiller на ESP8266. Автоматика.
DarkBear Студент Ставрополь 26 6
Отв.18  29 Янв. 20, 13:43
Перенесу тему сюда. У меня проблема что на меге2560 после смены канала не роутере esp перестала работать.  Получил ответ
После того как роутер менял канал, ты пробовал пересканировать сети? Попробуй запуститься с дефолтными настройками, перекинуть канал на роутере и пересканировать сети. Может там глюк какой с есп-шкой, она запоминает свое состояние и по старой памяти по прежнему перекидывается на другой канал.Phisik, 29 Янв. 20, 12:18

Напомните пожалуйста. Как сбросить esp на mege на дефолтные настройки? При этом желательно остальные параметры что бы не сбросились.
Mim Кандидат наук Ульяновск 359 47
Отв.19  29 Янв. 20, 14:40, через 58 мин
Многие писали что хочется.bengoor, 27 Дек. 19, 13:21
у меня камера отдельная, китайская. Иногда смотрю чтоб шланг не отвалился или ещё что. Удобно.
Фактически камера и должна быть привязана к блоку,bengoor, 27 Дек. 19, 13:19
А вот с этим не согласен, у моей голова крутится, могу колонну видеть, зачем описал выше