4.12 WEB интерфейс - pr200sd/presp32 GitHub Wiki
Общая информация
Все модификации плат, построенных на платформе presp32, имеют встроенный web интерфейс. Через web интерфейс пользователь может конфигурировать работу разных сервисов, доступных в конкретном программном обеспечении загруженном в контроллер. Особенность встроенного интерфейса в том, что его нельзя изменить без компиляции ПО. Для сценариев, когда необходимо оперативно добавить одну или несколько web страниц без изменения внутреннего программного обеспечения, добавлена возможность загружать в устройство "пользовательский web интерфейс"
Особенности использования
- http страницы можно тестировать на плате без подключения программатора, достаточно загрузить на плату .bin файл по воздуху через механизм ОТА.
- Максимальном количество файлов в пользовательском проекте равно 255
- Для создания файла web интерфейса используется специальная программа-генератор
- В отличии от прошивки, загрузка файлов web интерфейса не перезагружает встроенное ПО, после загрузки файла, http страницы сразу становятся доступными к отображению и взаимодействию с внутренними регистрами и переменными программы используемой в каждой конкретной прошивке.
- После каждого обновления прошивки необходимо повторно загрузить скомпилированный файл web страниц
- Файл FW(встроенное ПО) и файл пользовательского web интерфейса загружаются через одну вкладку ОТА, программа автоматически распознает тип файла и размещает его в нужную область памяти. После нажатия кнопки Update/WEB/Settings открывается диалоговое окно с информацией о типе выбранного файла и дальнейших действиях по его загрузке.
Доступ к WEB страницам
Если в прошивке поддержан режим WEB, и загружен скомпилированный файл web страниц, для перехода к необходимо ввести адрес в браузере:
http://IP/index.htm где: IP- полученный IP адрес index.htm-корневой файл пользовательского web. При вводе в браузере только IP адреса происходит переход на встроенный web интерфейс: http://IP/index.html
Разделение перехода на встроенную страницу и пользовательскую происходит через расширение: html-встроенный htm-пользовательский(загружаемый динамически).
В прошивках с января 2024 если поддержан внешний web server и загружен файл проекта, в меню появляется вкладка с быстрым переходом в корень web сервера.
Структура файлов
Проект загружаемого WEB интерфейса содержит вложенные папки с разными файлами для запуска страниц:
- -html, htm страницы
- -js javascript файлы
- -css стили
- -jpg, jpeg, ico картинки и лого используемые на страницах
- -xml вспомогательные файлы для обмена информацией между регистрами Modbus встроенного ПО и WEB.
Для защиты создаваемых web страниц паролем, необходимо поместить их в папку /protect В этом случае адрес для доступа к защищённой странице будет иметь формат:
http://IP/protect/xxxx.html(htm) где:
- -xxxx.html и
- -xxxx.htm соответствующие файлы в папке.
При открытии страниц из папки protect, происходит вызов формы ввода имени пользователя и пароля: Имя пользователя всегда "admin" Пароль - значение заданное для подключения в режиме точки доступа (1111111111-по умолчанию).
Проект WEB содержит большое кол-во тестовых страниц с разными виджетами и библиотеками, в которых показаны примеры взаимодействия со встроенным FW через регистры Modbus и внутренние переменные.
При открытии корневого файла index.htm анализируется тип устройства с которого открывается файл. Этот механизм можно применить для перенаправления на мобильную версию сайта или десктопную. indexp.htm-десктопная версия indexm.htm-мобильная версия Эти корневые страницы содержат в себе вкладки или ссылки для быстрого перехода на другие демонстрационные страницы проекта.
Демонстрационный архив с файлами WEB сервера находится в папке WEBFiles.zip
Для компиляции проекта WEB сервера, быстрой загрузки файлов и прошивки встроенного FW используется программа-генератор Окно настроек программы WEB генератора
Подменю для загрузки FW через COM порт.
Таблица WEB переменных
Название | Формат данных | Описание | Тип доступа |
---|---|---|---|
sys_heap | uint32 | объем свободной heap памяти | R |
sys_mactime | uint64 | время в us с момента старта/перезагрузки | R |
sys_time | uint64 | время в s с момента старта/перезагрузки | R |
sys_config | uint32 | конфигурация сервисов в FW | R |
sys_cid | uint32 | id идентификатор | R |
sys_sysver | string | "Ok", "Demo" | R |
cfg_tz | int | time zone | R |
sntp_time | uint64 | время ntp сервера в UNIX time | R |
lcd_cfg[0..9] | uint32 | конфигурация архивирования | R |
lcd_trn[0..9] | uint32 | конфигурация запросов Modbus Master | R |
mdb_trns | uint16 | кол-во конфигураций запросов Modbus Master | R |
mdb_trna | uint16 | кол-во регистров Modbus | R |
mdba | string | чтение/запись строки | |
mdbuw | R/W | ||
mdbsw | R/W | ||
mdbhw | R/W | ||
mdbxw | R/W | ||
mdbud | R/W | ||
mdbsd | R/W | ||
mdbhd | R/W | ||
mdbxd | R/W | ||
mdbfd | R |