Обновил скетч HD380 для начинающих.
[сообщение #13386094]
Доступная автоматика HelloDistiller на Ардуино Мега 2560
AlexDol
Кандидат наук
Екатеринбург
324 434

Отв.10640 07 Дек. 18, 11:14
msg31
Научный сотрудник
Барнаул
4.6K 2.5K

Отв.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
Кандидат наук
Екатеринбург
324 434

Отв.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
Специалист
Москва
174 39
Отв.10643 08 Дек. 18, 12:02
AlexDol можно попросить скетч 359 под дисплей I2C
AlexDol
Кандидат наук
Екатеринбург
324 434

Отв.10644 08 Дек. 18, 12:22 (через 21 мин)
Скетч HD359_I2Cser52, 08 Дек. 18, 12:02Simpled Version 0, кнопки на А0, датчик тока 20А.
Адрес LCD 1602 I2C 0x27. Некоторые датчики уровня отключил пока, чтобы не пищали.
roslav
Специалист
Россь
192 149

Ну вот не успел вопросмк задать ,а его уже и потерли.
Так как насчет показаний давления на веб-интерфейсе,можно его туда как то вывести?
Так как насчет показаний давления на веб-интерфейсе,можно его туда как то вывести?
nic2015
Магистр
Феодосия
221 56
Отв.10646 08 Дек. 18, 21:40
После этого можно настроить его подключение через меню "Настройка сети", прописать имя и пароль Вашего Wi-Fi роутера и, после перезагрузки, подключаться к нему через локальную сеть.msg31, 07 Дек. 18, 11:27До этого момента все работает, стоит ввести имя роутера и пароль, то не могу попасть на 192.168.4.1
limon
Доцент
Липецк
1K 952


стоит ввести имя роутера и пароль, то не могу попасть на 192.168.4.1nic2015, 08 Дек. 18, 21:40esp получил новый ip от роутера. Смотри какой он (смотреть в настройках роутера) и подключайся.
msg31
Научный сотрудник
Барнаул
4.6K 2.5K

Отв.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
Студент
Чебоксары
36 15

Разумеется, можно, на веб-страничке нужно разместить такое поле ввода.Максим, можете обьяснить, как добавить процесс, например "Развар зерно". Взять за основу режим пивоварения?
<input type="text" id="PressAtm" value="??" size="8" readonly="">msg31, 09 Дек. 18, 03:14
Мне кажется, что страница "Ректификация" требует корректировки. Рисунок соответствует режиму, а надпись к нему-нет. Еще, с мощностью ректификации тоже не понятно. Внутри, в коде, ссылка на мощность процесса НБК. Я в этом не особо, гляньте, кто хорошо разбирается.
сообщение удалено
msg31
Научный сотрудник
Барнаул
4.6K 2.5K

Отв.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
Магистр
Феодосия
221 56

Была идея Nextion прикрутитьPhisik, 02 Дек. 18, 20:29Прикольно бы было!
VladPP
Доцент
Новосибирск
1K 385
Отв.10652 10 Дек. 18, 12:26 (через 39 мин)
Была идея Nextion прикрутитьnic2015, 10 Дек. 18, 11:48Нафиг, и близко не надо.
roslav
Специалист
Россь
192 149

Надо, надо.
Единственное наверное что осталось сделать в этой автоматике ,это дружелюбный интерфейс,циферки температуры хоть с запятыми будут.
Веб тоже хорошо и красивенько, но для удаленного контроля ,если куда отехать надо мне например и старого приложения хватает. Веб конечно тоже сделать постараюсь,чисто из за любви к искуству
Единственное наверное что осталось сделать в этой автоматике ,это дружелюбный интерфейс,циферки температуры хоть с запятыми будут.
Веб тоже хорошо и красивенько, но для удаленного контроля ,если куда отехать надо мне например и старого приложения хватает. Веб конечно тоже сделать постараюсь,чисто из за любви к искуству
nic2015
Магистр
Феодосия
221 56

Нафиг, и близко не надо.VladPP, 10 Дек. 18, 12:26По крайней мере предусмотреть возможность подключения разных дисплеев. На двухстрочном как то скудно все,если для себя собирать , то почему получше не поставить?
bengoor
Доцент
Кронштадт
1.8K 1.1K

Отв.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

Отв.10657 11 Дек. 18, 14:29 (через 30 мин)
"подключается к автоматике HelloDistiller на Serial2" какие это пины ?demyan2, 11 Дек. 18, 14:00Serial2 это 16 и 17 пины
сообщения удалены (2)
msg31
Научный сотрудник
Барнаул
4.6K 2.5K

Отв.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". ?