Обновил скетч HD380 для начинающих.
[сообщение #13386094]
Доступная автоматика HelloDistiller на Ардуино Мега 2560
AlexDol
Кандидат наук
Екатеринбург
325 433
![](https://cdn.homedistil.ru/th/1609/08/49608.167518.png)
Отв.10640 07 Дек. 18, 11:14
msg31
Научный сотрудник
Барнаул
4.6K 2.5K
![](https://cdn.homedistil.ru/th/2301/14/21231.368926.png)
Отв.10641 07 Дек. 18, 11:27, через 14 мин
Доброе утро, уважаемые коллеги.
Реализовал открытый веб-интерфейс в автоматике.
В качестве веб-сервера выступает NodeMCU. Подключается к автоматике HelloDistiller на Serial2, вместо стандартного ESP8266 и функции последнего сохраняются, то есть в любой момент можно поменять модули один на другой без потери функциональности и дополнительных настроек.
Веб-интерфейс можно модифицировать без модификации скетча Ардуино, за счет правки HTML страниц.
Сами HTML страницы после правки можно загружать в NodeMCU прямо из веб-интерфейса.
Параметры из HTML страницы передаются согласно id вводимых параметров, коды id указаны в файле ProcessAWeb.ino
Как добавлять параметры на Web-формы, вот ниже пример размещения предопределенного параметра
<input type="text" id="temps1" value="??" name="temps1" size="8" readonly="">
Где id - это имя параметра.
Предопределенные параметры, они не изменяются, они просто отображаются, если их разместить на форме.
IspReg - текущий запущенный режим
StateMachine - состояние процесса текущего режима
DispDopInfo - дополнительный параметр состояния процесса.
temps1...temps5 - показания датчиков температуры
UstPower - текущая мощность контроллера
U_MPX5010 - давление согласно датчика давления MPX5010;
U_VODA, U_UROVEN, U_GLV - текущие показания датчиков уровня
Seconds - время с начала процесса в секундах;
PressAtm - атмосферное давление
Эти параметры считываются с контроллера постоянно.
Есть также дополнительные параметры, эти параметры считываются по кнопке в веб-интерфейсе "Получить" и записываются в контроллер по нажатию кнопки "Записать".
Вот примеры размещения таких параметров на веб-форме:
<input type="number" id="p0206" step="0.1" placeholder="0.0" value="" min="-12" max="110" size="8">
p0206 - это название параметра, в данном случае это температура окончания первой перегонки.
Реквизит placeholder="0.0" отображает дробные значения и это означает, что при получении параметра с контроллера Java скрипт разделит его на 10, а перед передачей параметра в контроллер, умножит на 10.
Если параметр имеет табличное значение, то его имя принимает другой вид.
<input type="number" id="p3021n01" value="" min="0" max="250" size="10">
p3021n01 означает, что параметр 3021 (а это время паузы в пивоварении) и редактируется его первая строка, что показывает вторая часть параметра n01
Коды параметров смотрите в скетче для Ардуино 2560 на закладке ProcessAWeb.ino
Качайте, ставьте, пробуйте, модифицируйте веб-страницы.
Скетч HelloDistiller359 заливается в Ардуино 2560, а HelloDistillerESPWeb заливается в NodeMCU, сначала заливается скетч, а потом данные по пункту меню ESP8266 Sketh data upload. Настройки чипа NodeMCU как на фото в приложении к данному топику.
Кстати, коллеги, у меня просьба, сделайте в этой теме пост, как ставить среду Ардуино под NodeMCU и заливать скетчи, мне скучновато этим заниматься.
После прошивки контроллера NodeMCU он создаст точку доступа HelloDistillerWeb с паролем 12345678, к которой надо будет подключиться.
После этого можно настроить его подключение через меню "Настройка сети", прописать имя и пароль Вашего Wi-Fi роутера и, после перезагрузки, подключаться к нему через локальную сеть.
Скетч, веб-страницы, скрипты, рисунки и прочие предложенные мной решения могут использоваться для любых Ваших личных, некоммерческих целей с условием ссылки на источник. Использование в коммерческих целях, а также публикация допускается только с разрешения автора.
Реализовал открытый веб-интерфейс в автоматике.
В качестве веб-сервера выступает NodeMCU. Подключается к автоматике HelloDistiller на Serial2, вместо стандартного ESP8266 и функции последнего сохраняются, то есть в любой момент можно поменять модули один на другой без потери функциональности и дополнительных настроек.
Веб-интерфейс можно модифицировать без модификации скетча Ардуино, за счет правки HTML страниц.
Сами HTML страницы после правки можно загружать в NodeMCU прямо из веб-интерфейса.
Параметры из HTML страницы передаются согласно id вводимых параметров, коды id указаны в файле ProcessAWeb.ino
Как добавлять параметры на Web-формы, вот ниже пример размещения предопределенного параметра
<input type="text" id="temps1" value="??" name="temps1" size="8" readonly="">
Где id - это имя параметра.
Предопределенные параметры, они не изменяются, они просто отображаются, если их разместить на форме.
IspReg - текущий запущенный режим
StateMachine - состояние процесса текущего режима
DispDopInfo - дополнительный параметр состояния процесса.
temps1...temps5 - показания датчиков температуры
UstPower - текущая мощность контроллера
U_MPX5010 - давление согласно датчика давления MPX5010;
U_VODA, U_UROVEN, U_GLV - текущие показания датчиков уровня
Seconds - время с начала процесса в секундах;
PressAtm - атмосферное давление
Эти параметры считываются с контроллера постоянно.
Есть также дополнительные параметры, эти параметры считываются по кнопке в веб-интерфейсе "Получить" и записываются в контроллер по нажатию кнопки "Записать".
Вот примеры размещения таких параметров на веб-форме:
<input type="number" id="p0206" step="0.1" placeholder="0.0" value="" min="-12" max="110" size="8">
p0206 - это название параметра, в данном случае это температура окончания первой перегонки.
Реквизит placeholder="0.0" отображает дробные значения и это означает, что при получении параметра с контроллера Java скрипт разделит его на 10, а перед передачей параметра в контроллер, умножит на 10.
Если параметр имеет табличное значение, то его имя принимает другой вид.
<input type="number" id="p3021n01" value="" min="0" max="250" size="10">
p3021n01 означает, что параметр 3021 (а это время паузы в пивоварении) и редактируется его первая строка, что показывает вторая часть параметра n01
Коды параметров смотрите в скетче для Ардуино 2560 на закладке ProcessAWeb.ino
Качайте, ставьте, пробуйте, модифицируйте веб-страницы.
Скетч HelloDistiller359 заливается в Ардуино 2560, а HelloDistillerESPWeb заливается в NodeMCU, сначала заливается скетч, а потом данные по пункту меню ESP8266 Sketh data upload. Настройки чипа NodeMCU как на фото в приложении к данному топику.
Кстати, коллеги, у меня просьба, сделайте в этой теме пост, как ставить среду Ардуино под NodeMCU и заливать скетчи, мне скучновато этим заниматься.
После прошивки контроллера NodeMCU он создаст точку доступа HelloDistillerWeb с паролем 12345678, к которой надо будет подключиться.
После этого можно настроить его подключение через меню "Настройка сети", прописать имя и пароль Вашего Wi-Fi роутера и, после перезагрузки, подключаться к нему через локальную сеть.
Скетч, веб-страницы, скрипты, рисунки и прочие предложенные мной решения могут использоваться для любых Ваших личных, некоммерческих целей с условием ссылки на источник. Использование в коммерческих целях, а также публикация допускается только с разрешения автора.
сообщения удалены (13)
AlexDol
Кандидат наук
Екатеринбург
325 433
![](https://cdn.homedistil.ru/th/1609/08/49608.167518.png)
Отв.10642 08 Дек. 18, 05:07
Как ставить среду Ардуино под NodeMCU и заливать скетчmsg31, 07 Дек. 18, 11:27Первое с чем столкнулся это то что у меня дисплей I2C, перенастроил скетч на этот LCD.
Библиотек BMP280 у меня в Arduino IDE не было. Скачиваю с Интернета, устанавливаю - не работают.
Компиляция прерывается с ошибкой на Adafruit_Sensor.h. Потом скачивал старые версии версии этих библиотек но безрезультатно.
Только на следующий день догадался поискать их в папке с версией скетча HD358i.
Загрузил скетч в блок автоматики и пролистал все меню и настройки. Проверил работу Регулятора мощности.
Работает. Сегодня выходной, займусь прошивкой ESP8266.
Подготовка и прошивка NodeMCU
Скрытый текст
Arduino IDE у меня был уже подготовлен для работы с модулями ESP8266. Перешел к работе с прошивкой.
Сразу затык, скачанная и установленная библиотека "ArduinoJson" выдавала ошибку при
компиляции. Была Бета версия этой библиотеки. Заменил на последнюю стабильную, ошибка исчезла.
Затем надо настроить Arduino IDE для работы с файловой ситемой. Для этого надо скачать плагин
ESP8266FS-0.3.0.zip, распаковать его в созданный каталог "tools". Должно быть примерно так:
<home_dir>/Arduino/tools/ESP8266FS/tool/esp8266fs.jar
Перезагрузите Arduino IDE, в меню "Инстументы" появится пункт "ESP8266 Sketch Data Upload"
Открываем скетч с прошивкой "HelloDistillerESPWEB" и надо закомментировать эту строку в первом десятке.
//#define TESTGSM1
Затем выбираем плату, порт, скорость в порту и т.д. Как на снимке экрана у msg31.
Далее в меню "Инструменты" выбираем пункт "ESP8266 Sketch Data Upload", начнётся загрузка из
папки "Data". Это займёт 3-4 минуты. Будет отображаться шкала в виде точек с процентом выполнения.
После окончания будет сообщение "SPIFFS Image Uploaded"
--------------------------------------------------------
Заметил что у некоторых коллег возникли вопросы именно с переносом файлов из папки "Data".
Нет разницы в какой последовательности это делать. Скетч HelloDistillerESPWeb.ino записываем
после компиляции в ESP8266, из меню "Скетч, Загрузка".
А папку "Data" загружаем из меню "Инструменты, ESP8266 Sketch Data Upload". Но учтите что после прошивки первого скетча надо обязательно произвести сброс ESP и нажать кнопку Flash это в NodeMcu или установить перемычку в ESP8266-12F например.
По окончании просто сброс. Перемычку предварительно удалить.
ser52
Специалист
Москва
164 39
Отв.10643 08 Дек. 18, 12:02
AlexDol можно попросить скетч 359 под дисплей I2C
AlexDol
Кандидат наук
Екатеринбург
325 433
![](https://cdn.homedistil.ru/th/1609/08/49608.167518.png)
Отв.10644 08 Дек. 18, 12:22, через 21 мин
Скетч HD359_I2Cser52, 08 Дек. 18, 12:02Simpled Version 0, кнопки на А0, датчик тока 20А.
Адрес LCD 1602 I2C 0x27. Некоторые датчики уровня отключил пока, чтобы не пищали.
roslav
Специалист
Россь
189 147
![](https://forum.homedistiller.ru/Themes/default/images/post/wireless.gif)
Ну вот не успел вопросмк задать ,а его уже и потерли.
Так как насчет показаний давления на веб-интерфейсе,можно его туда как то вывести?
Так как насчет показаний давления на веб-интерфейсе,можно его туда как то вывести?
nic2015
Магистр
Феодосия
219 56
Отв.10646 08 Дек. 18, 21:40
После этого можно настроить его подключение через меню "Настройка сети", прописать имя и пароль Вашего Wi-Fi роутера и, после перезагрузки, подключаться к нему через локальную сеть.msg31, 07 Дек. 18, 11:27До этого момента все работает, стоит ввести имя роутера и пароль, то не могу попасть на 192.168.4.1
limon
Доктор наук
Липецк
992 928
![](https://cdn.homedistil.ru/th/1510/30/37337.165317.jpg)
![](https://forum.homedistiller.ru/Themes/default/images/post/wireless.gif)
стоит ввести имя роутера и пароль, то не могу попасть на 192.168.4.1nic2015, 08 Дек. 18, 21:40esp получил новый ip от роутера. Смотри какой он (смотреть в настройках роутера) и подключайся.
msg31
Научный сотрудник
Барнаул
4.6K 2.5K
![](https://cdn.homedistil.ru/th/2301/14/21231.368926.png)
Отв.10648 09 Дек. 18, 03:14
До этого момента все работает, стоит ввести имя роутера и пароль, то не могу попасть на 192.168.4.1nic2015, 08 Дек. 18, 21:40После этого в сетевом окружении компьютера появится устройтсво HelloDistillerWeb, на него можно просто мышкой щелнуть и попадешь в веб-интерфейс.
sp получил новый ip от роутера. Смотри какой он (смотреть в настройках роутера) и подключайся.limon, 08 Дек. 18, 21:48Ну или так.
Добавлено через 1мин.:
давления на веб-интерфейсе,можно его туда как то вывестиroslav, 08 Дек. 18, 13:18Разумеется, можно, на веб-страничке нужно разместить такое поле ввода.
<input type="text" id="PressAtm" value="??" size="8" readonly="">
Подробнее здесь есть
[сообщение #13431579]
VoDa
Студент
Чебоксары
34 15
![](https://forum.homedistiller.ru/Themes/default/images/post/wireless.gif)
Разумеется, можно, на веб-страничке нужно разместить такое поле ввода.Максим, можете обьяснить, как добавить процесс, например "Развар зерно". Взять за основу режим пивоварения?
<input type="text" id="PressAtm" value="??" size="8" readonly="">msg31, 09 Дек. 18, 03:14
Мне кажется, что страница "Ректификация" требует корректировки. Рисунок соответствует режиму, а надпись к нему-нет. Еще, с мощностью ректификации тоже не понятно. Внутри, в коде, ссылка на мощность процесса НБК. Я в этом не особо, гляньте, кто хорошо разбирается.
сообщение удалено
msg31
Научный сотрудник
Барнаул
4.6K 2.5K
![](https://cdn.homedistil.ru/th/2301/14/21231.368926.png)
Отв.10650 10 Дек. 18, 04:34
Максим, можете обьяснить, как добавить процесс, например "Развар зерно". Взять за основу режим пивоварения?Да, скорее всего ошибся. Можно поправить.
Мне кажется, что страница "Ректификация" требует корректировки. Рисунок соответствует режиму, а надпись к нему-нет. Еще, с мощностьюVoDa, 09 Дек. 18, 22:10
Для разварки зерна можно и посто пивоварением пользоваться, без специального режима.
Добавлено через 1мин.:
https://ru.aliexpress.com/....6d9af3lbf3lbQA - такая пойдет? или такая - https://ru.aliexpress.com/....61e1RZvzRZvzOIZemlyanin, 10 Дек. 18, 00:31Обе пойдут.
сообщение удалено
nic2015
Магистр
Феодосия
219 56
![](https://forum.homedistiller.ru/Themes/default/images/post/wireless.gif)
Была идея Nextion прикрутитьPhisik, 02 Дек. 18, 20:29Прикольно бы было!
VladPP
Доцент
Новосибирск
1K 380
Отв.10652 10 Дек. 18, 12:26, через 39 мин
Была идея Nextion прикрутитьnic2015, 10 Дек. 18, 11:48Нафиг, и близко не надо.
roslav
Специалист
Россь
189 147
![](https://forum.homedistiller.ru/Themes/default/images/post/wireless.gif)
Надо, надо.
Единственное наверное что осталось сделать в этой автоматике ,это дружелюбный интерфейс,циферки температуры хоть с запятыми будут.
Веб тоже хорошо и красивенько, но для удаленного контроля ,если куда отехать надо мне например и старого приложения хватает. Веб конечно тоже сделать постараюсь,чисто из за любви к искуству
Единственное наверное что осталось сделать в этой автоматике ,это дружелюбный интерфейс,циферки температуры хоть с запятыми будут.
Веб тоже хорошо и красивенько, но для удаленного контроля ,если куда отехать надо мне например и старого приложения хватает. Веб конечно тоже сделать постараюсь,чисто из за любви к искуству
nic2015
Магистр
Феодосия
219 56
![](https://forum.homedistiller.ru/Themes/default/images/post/wireless.gif)
Нафиг, и близко не надо.VladPP, 10 Дек. 18, 12:26По крайней мере предусмотреть возможность подключения разных дисплеев. На двухстрочном как то скудно все,если для себя собирать , то почему получше не поставить?
bengoor
Доцент
Кронштадт
1.8K 1.1K
![](https://cdn.homedistil.ru/th/1501/16/34221.164847.gif)
Отв.10655 10 Дек. 18, 16:29, через 18 мин
По крайней мере предусмотреть возможность подключения разных дисплеев. На двухстрочном как то скудно все,если для себя собирать , то почему получше не поставить?nic2015, 10 Дек. 18, 16:11Уже обсуждали. "Просто предусмотреть" это значит полностью с нуля написать код для управления этим дисплеем для ардуино и код для самого дисплея! Это очень серьезная работа и "просто предусмотреть чтобы было" я считаю слишком круто
сообщение удалено
demyan2
Доктор наук
Уфа
701 76
Отв.10656 11 Дек. 18, 14:00
Коллеги а можно загрузить HelloDistillerESPWeb в NodeMCU не через меню ESP8266 Sketh data upload а с помощью адаптера USB programmer ESP8266 ?
Если нельзя то что означает эта фраза ? "подключается к автоматике HelloDistiller на Serial2" какие это пины ?
Если нельзя то что означает эта фраза ? "подключается к автоматике HelloDistiller на Serial2" какие это пины ?
сообщения удалены (2)
bengoor
Доцент
Кронштадт
1.8K 1.1K
![](https://cdn.homedistil.ru/th/1501/16/34221.164847.gif)
Отв.10657 11 Дек. 18, 14:29, через 30 мин
"подключается к автоматике HelloDistiller на Serial2" какие это пины ?demyan2, 11 Дек. 18, 14:00Serial2 это 16 и 17 пины
сообщения удалены (2)
msg31
Научный сотрудник
Барнаул
4.6K 2.5K
![](https://cdn.homedistil.ru/th/2301/14/21231.368926.png)
Отв.10658 11 Дек. 18, 16:33
Конечно же да. В этом есть нечто недосказанное, любая ESP8266 с 4 мегабайтами на борту подойдёт.А то что в ней было ранее никакого значения не имеет. ДеньAlexDol, 11 Дек. 18, 14:27Почему-то ESP-01 c 8mb не пошла, а ESP-12E c 4mb заработала.
demyan2
Доктор наук
Уфа
701 76
Отв.10659 11 Дек. 18, 16:47, через 14 мин
Что значит начнётся загрузка из папки "Data". ?